Microsoft Entra ID의 다중 테넌트 애플리케이션에서 엔터프라이즈 애플리케이션 만들기
이 문서에서는 다중 테넌트 애플리케이션에 대한 클라이언트 ID를 사용하여 테넌트에서 엔터프라이즈 애플리케이션을 만드는 방법을 알아봅니다. 엔터프라이즈 애플리케이션은 테넌트 내의 서비스 주체를 나타냅니다. 이 문서에서 설명하는 서비스 주체는 단일 테넌트 또는 디렉터리에 있는 전역 애플리케이션 개체의 로컬 표현 또는 애플리케이션 인스턴스입니다.
이러한 옵션을 사용하여 애플리케이션을 추가하기 전에 애플리케이션에 로그인을 시도하여 엔터프라이즈 애플리케이션이 이미 테넌트에 있는지 확인합니다. 로그인에 성공하면 엔터프라이즈 애플리케이션이 테넌트에 이미 있습니다.
애플리케이션이 테넌트에 없는 것을 확인한 경우 다음 방법 중 어떤 방법으로든 테넌트에 엔터프라이즈 애플리케이션을 추가합니다.
필수 조건
엔터프라이즈 애플리케이션을 Microsoft Entra 테넌트에 추가하려면 다음이 필요합니다.
- Microsoft Entra 사용자 계정. 계정이 없다면 무료로 만들 수 있습니다.
- 클라우드 애플리케이션 관리자 또는 애플리케이션 관리자 역할 중 하나입니다.
- 다중 테넌트 애플리케이션의 클라이언트 ID(Microsoft Graph에서는 appId라고도 함)입니다.
엔터프라이즈 애플리케이션 만들기
관리자 동의 URL이 제공된 경우 웹 브라우저를 통해 URL로 이동하여 애플리케이션에 테넌트 전체 관리자 동의를 부여합니다. 애플리케이션에 테넌트 전체 관리자 동의를 부여하면 테넌트에 추가됩니다. 테넌트 전체 관리자 동의 URL은 다음과 같습니다.
https://login.microsoftonline.com/common/oauth2/authorize?response_type=code&client_id=248e869f-0e5c-484d-b5ea1fba9563df41&redirect_uri=https://www.your-app-url.com
여기서
{client-id}
는 애플리케이션의 클라이언트 ID(appId라고도 함)입니다.
참고 항목
엔터프라이즈 애플리케이션을 사용하려고 하는데 테넌트에 서비스 주체가 아직 만들어지지 않은 경우 Entra는 “클라이언트 애플리케이션 {appId}에 {tenantId} 테넌트의 서비스 주체가 없습니다."라는 (401) 권한 없음 오류로 응답합니다. 이 문제를 해결하려면 위에서 언급한 대로 관리자 동의 URL로 동의를 수행하면 테넌트에서 서비스 주체를 인스턴스화하고 문제를 해결합니다.
connect-MgGraph -Scopes "Application.ReadWrite.All"
을 실행하고 최소한 클라우드 애플리케이션 관리자 역할로 로그인합니다.다음 명령을 실행하여 엔터프라이즈 애플리케이션을 만듭니다.
New-MgServicePrincipal -AppId 00001111-aaaa-2222-bbbb-3333cccc4444
만든 엔터프라이즈 애플리케이션을 삭제하려면 다음 명령을 실행합니다.
Remove-MgServicePrincipal -ServicePrincipalId bbbbbbbb-1111-2222-3333-cccccccccccc
Graph 탐색기와 같은 API 클라이언트를 사용하여 Microsoft Graph로 작업할 수 있습니다.
클라이언트 앱에
Application.ReadWrite.All
사용 권한을 부여합니다.엔터프라이즈 애플리케이션을 만들려면 다음 쿼리를 실행합니다. appId는 애플리케이션의 클라이언트 ID입니다.
POST https://graph.microsoft.com/v1.0/servicePrincipals Content-type: application/json { "appId": "00001111-aaaa-2222-bbbb-3333cccc4444" }
만든 엔터프라이즈 애플리케이션을 삭제하려면 다음 쿼리를 실행합니다.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals(appId='00001111-aaaa-2222-bbbb-3333cccc4444')
엔터프라이즈 애플리케이션을 만들려면 다음 명령을 실행합니다.
az ad sp create --id 00001111-aaaa-2222-bbbb-3333cccc4444
만든 엔터프라이즈 애플리케이션을 삭제하려면 다음 명령을 실행합니다.
az ad sp delete --id bbbbbbbb-1111-2222-3333-cccccccccccc