PowerShell을 사용하여 서비스 주체 애플리케이션 만들기

사용자 이름과 암호를 통한 인증은 특히 다단계 인증의 증가와 함께 이상적이지 않은 경우가 많습니다. 이러한 경우 서비스 주체(또는 클라이언트 자격 증명 흐름) 인증이 선호됩니다. 이는 Microsoft Entra 테넌트에 새 서비스 주체 애플리케이션을 등록한 다음 동일한 애플리케이션을 Power Platform에 등록하여 수행할 수 있습니다.

관리자 관리 응용 프로그램 등록

먼저 클라이언트 애플리케이션을 Microsoft Entra 테넌트에 등록해야 합니다. 이를 설정하려면 PowerShell에 동일한 애플리케이션 설정이 필요하므로 Power Platform API에 대한 인증 문서를 검토하세요.

클라이언트 응용 프로그램이 Microsoft Entra ID에 등록되면 Microsoft Power Platform에도 등록해야 합니다. 현재 Power Platform 관리 센터를 통해 이 작업을 수행 할 수 있는 방법은 없으며 Power Platform 관리자를 위해 Power Platform API 또는 PowerShell을 통해 프로그래밍 방식으로 수행해야 합니다. 설계상 서비스 주체는 스스로 등록할 수 없으며, 애플리케이션은 관리자 사용자 이름 및 암호 컨텍스트로 등록해야 합니다. 이렇게 하면 테넌트의 관리자인 누군가가 애플리케이션을 만들 수 있습니다.

새 관리 애플리케이션을 등록하려면 다음 스크립트를 사용하십시오.

$appId = "CLIENT_ID_FROM_AZURE_APP"

# Login interactively with a tenant administrator for Power Platform
Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId 

# Register a new application, this gives the SPN / client application same permissions as a tenant admin
New-PowerAppManagementApp -ApplicationId $appId

서비스 주체로 요청하기

이제 Microsoft Power Platform에 등록되었으므로 서비스 주체 자체로 인증할 수 있습니다. 다음 스크립트를 사용하여 환경 목록을 쿼리합니다.

$appId = "CLIENT_ID_FROM_AZURE_APP"
$secret = "SECRET_FROM_AZURE_APP"
$tenantId = "TENANT_ID_FROM_AZURE_APP"

Add-PowerAppsAccount -Endpoint prod -TenantID $tenantId -ApplicationId $appId -ClientSecret $secret -Verbose
Get-AdminPowerAppEnvironment

서비스 주체의 제한

현재 서비스 주체 인증은 환경 관리, 테넌트 설정 및 Power Apps 관리에 대해 작동합니다. 흐름과 관련된 Cmdlet은 Microsoft Entra ID의 서비스 주체 ID에 라이선스를 할당할 수 없으므로 라이선스가 필요하지 않은 상황에서 서비스 주체 인증을 지원합니다.

서비스 주체 애플리케이션은 일반 사용자에게 Power Platform 관리자 역할이 할당된 방식과 유사하게 Power Platform 내에서 처리됩니다. 기능을 제한하기 위해 세분화된 역할 및 권한을 할당할 수 없습니다. 애플리케이션은 플랫폼 서비스가 서비스 주체의 요청을 처리하는 방식이므로 Microsoft Entra ID에서 할당된 특별한 역할을 받지 않습니다.