인증(프리뷰)

이 문서는 Power Platform API(프리뷰)를 호출하기 위한 Microsoft Entra 설정에 대한 개요를 제공합니다. Power Platform API를 통해 사용할 수 있는 리소스에 액세스하려면 Microsoft Entra에서 전달자 토큰을 가져와 각 요청과 함께 헤더로 보내야 합니다. 지원하는 ID 유형(사용자 대 서비스 주체)에 따라 이 문서에 설명된 대로 이 전달자 토큰을 얻기 위한 다양한 흐름이 있습니다.

올바른 권한이 있는 전달자 토큰을 얻으려면 다음 단계가 필요합니다.

  1. Microsoft Entra 테넌트에서 애플리케이션 등록 생성
  2. API 권한 구성
  3. 공용 클라이언트 구성(선택 사항)
  4. 인증서 및 비밀 구성(선택 사항)
  5. 액세스 토큰 요청

1단계. 애플리케이션 등록 만들기

Microsoft Entra 앱 등록 페이지로 이동하여 신규 등록을 생성합니다. 애플리케이션에 이름을 지정하고 단일 테넌트 옵션이 선택되어 있는지 확인합니다. 리디렉션 URI 설정을 건너뛸 수 있습니다.

2단계. API 권한 구성

새 앱 등록 내에서 관리 - API 권한 탭으로 이동합니다. 권한 구성 섹션에서 권한 추가를 선택합니다. 열리는 대화 상자 창에서 내 조직에서 사용하는 API 탭을 선택한 다음 Power Platform API를 검색합니다. 이와 비슷한 이름의 항목이 여러 개 표시될 수 있으므로 GUID 8578e004-a5c6-46e7-913e-12f58912df43가 있는 항목을 사용해야 합니다.

GUID로 검색할 때 목록에 Power Platform API가 표시되지 않는 경우 여전히 액세스할 수 있지만 가시성이 새로 고쳐지지 않을 수 있습니다. 새로 고침을 강제 실행하려면 아래 PowerShell 스크립트를 실행하세요.

#Install the Microsoft Entra the module
Install-Module AzureAD

Connect-AzureAD
New-AzureADServicePrincipal -AppId 8578e004-a5c6-46e7-913e-12f58912df43 -DisplayName "Power Platform API"

여기에서 필요한 권한을 선택해야 합니다. 이것들은 네임스페이스별로 그룹화됩니다. 네임스페이스 내에서 애플리케이션 패키지에 대한 읽기 권한을 부여하는 AppManagement.ApplicationPackages.Read와 같은 리소스 유형 및 작업을 볼 수 있습니다. 자세한 내용은 권한 참조 문서를 참조하세요.

노트

Power Platform API는 현재만 위임된 권한을 사용합니다. 사용자 컨텍스트로 실행되는 애플리케이션의 경우 범위 매개 변수를 사용하여 권한 위임을 요청합니다. 이러한 권한은 로그인한 사용자의 권한을 애플리케이션에 위임하여 Power Platform API 엔드포인트를 호출할 때 사용자 역할을 할 수 있도록 합니다.

서비스 주체 ID의 경우 애플리케이션 권한이 사용되지 않습니다. 대신 이제 서비스 주체는 Power Platform 관리자로 취급되며 PowerShell - 서비스 주체 생성에 따라 등록해야 합니다.

필요한 권한이 애플리케이션에 추가된 후 관리자 동의 부여를 선택하여 설정을 완료합니다. 이는 사용자가 대화형 동의 환경을 요구하는 대신 앱에 즉시 액세스하도록 허용하려는 경우에 필요합니다. 대화형 동의를 지원할 수 있는 경우 Microsoft ID 플랫폼 OAuth 과 2.0 승인 코드 흐름을 따르는 것이 좋습니다.

3단계. 공용 클라이언트 구성(선택 사항)

앱에서 사용자를 대신하여 리소스를 읽고 써야 하는 경우 공용 클라이언트 설정을 사용해야 합니다. 이것은 Microsoft Entra ID가 토큰 요청의 본문에서 사용자 이름 및 암호 속성을 수락하는 유일한 방법입니다. 또한 이 기능을 사용하려는 경우 다단계 인증이 사용 설정된 계정에서는 작동하지 않습니다.

활성화하려면 관리 - 인증 탭을 방문합니다. 고급 설정 섹션에서 공용 클라이언트 스위치를 로 설정합니다.

4단계. 인증서 및 비밀 구성(선택 사항)

앱이 자체적으로 리소스를 읽고 써야 하는 경우(서비스 주체라고도 함) 인증하는 두 가지 방법이 있습니다. 인증서를 사용하려면 관리 - 인증서 및 비밀 탭으로 이동합니다. 인증서 섹션에서 인증에 사용할 수 있는 x509 인증서를 업로드합니다. 다른 방법은 비밀 섹션을 사용하여 클라이언트 암호를 생성하는 것입니다. 자동화 요구 사항에 사용할 수 있도록 안전한 위치에 비밀을 저장하세요. 인증서 또는 암호 옵션을 사용하면 Microsoft Entra로 인증하고 이 클라이언트에 대한 토큰을 받을 수 있으며 이 토큰은 REST API 또는 PowerShell cmdlet에 전달됩니다.

5단계. 액세스 토큰 요청

액세스 전달자 토큰을 얻는 방법에는 두 가지가 있습니다. 하나는 사용자 이름 및 암호용이고 다른 하나는 서비스 주체용입니다.

사용자 이름 및 암호 흐름

위의 공개 클라이언트 섹션을 반드시 읽으세요. 그런 다음 HTTP를 통해 Microsoft Entra ID에 사용자 이름 및 암호 페이로드와 함께 POST 요청을 보냅니다.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&username={USER_EMAIL_ADDRESS}&password={PASSWORD}&grant_type=password

위의 예제에는 Microsoft Entra ID의 클라이언트 애플리케이션에서 검색할 수 있는 자리 표시자가 포함되어 있습니다. Power Platform API에 대한 후속 호출을 만드는 데 사용할 수 있는 응답을 받게 됩니다.

{
  "token_type": "Bearer",
  "scope": "https://api.powerplatform.com/AppManagement.ApplicationPackages.Install https://api.powerplatform.com/AppManagement.ApplicationPackages.Read https://api.powerplatform.com/.default",
  "expires_in": 4747,
  "ext_expires_in": 4747,
  "access_token": "eyJ0eXAiOiJKV1QiLCJu..."
}

Authorization HTTP 헤더가 있는 Power Platform API에 대한 후속 호출에서 access_token 값을 사용합니다.

서비스 주체 흐름

위의 인증서 및 비밀 섹션을 반드시 읽으세요. 그런 다음 HTTP를 통해 Microsoft Entra ID에 클라이언트 비밀 페이로드와 함께 POST 요청을 보냅니다. 이를 종종 서비스 주체 인증이라고 합니다.

중요

관련 PowerShell 또는 REST 문서에 따라 이 클라이언트 애플리케이션 ID를 Microsoft Power Platform에 등록한 후에만 사용할 수 있습니다.

Content-Type: application/x-www-form-urlencoded
Host: login.microsoftonline.com
Accept: application/json
POST https://login.microsoftonline.com/YOUR_TENANT.COM/oauth2/v2.0/token
BODY:
client_id={CLIENT_ID_FROM_AZURE_CLIENT_APP}&scope=https://api.powerplatform.com/.default&client_secret={SECRET_FROM_AZURE_CLIENT_APP}&grant_type=client_credentials

위의 예제에는 Microsoft Entra ID의 클라이언트 애플리케이션에서 검색할 수 있는 자리 표시자가 포함되어 있습니다. Power Platform API에 대한 후속 호출을 만드는 데 사용할 수 있는 응답을 받게 됩니다.

{
  "token_type": "Bearer",
  "expires_in": 3599,
  "ext_expires_in": 3599,
  "access_token": "eyJ0eXAiOiJKV1..."
}

Authorization HTTP 헤더가 있는 Power Platform API에 대한 후속 호출에서 access_token 값을 사용합니다. 위에서 언급했듯이 서비스 주체 흐름은 애플리케이션 권한을 사용하지 않으며 대신 현재로서는 모든 호출에 대해 Power Platform 관리자로 처리됩니다.

추가로 살펴봐야 하는 사항

API를 통한 서비스 주체 애플리케이션 생성 (프리뷰)
PowerShell - 서비스 주체 만들기