다음을 통해 공유


자습서: 서비스 주체에 역할 할당(미리 보기)

[이 문서는 시험판 문서이며 변경될 수 있습니다.]

Power Platform의 RBAC(역할 기반 액세스 제어)를 사용하면 관리자가 테넌트, 환경 그룹 또는 환경 범위의 사용자, 그룹 및 서비스 주체에 기본 제공 역할을 할당할 수 있습니다. 이 자습서에서는 권한 부여 API를 사용하여 테넌트 범위의 서비스 주체에 기여자 역할을 할당하는 일반적인 자동화 시나리오를 안내합니다.

RBAC 개념, 기본 제공 역할 및 범위 상속에 대한 자세한 내용은 Power Platform 관리 센터의 역할 기반 액세스 제어를 참조하세요.

중요합니다

  • 미리 보기 기능입니다.
  • 미리 보기 기능은 프로덕션용이 아니며 기능이 제한될 수 있습니다. 이러한 기능에는 추가 사용 약관이 적용되며, 고객이 조기에 액세스하고 피드백을 제공할 수 있도록 공식 출시 전에 제공됩니다.

이 자습서에서는 다음 작업을 수행하는 방법을 알아봅니다.

  • Power Platform API를 사용하여 인증합니다.
  • 사용 가능한 역할 정의를 나열합니다.
  • 테넌트 범위에서 서비스 주체에 대한 역할 할당을 만듭니다.
  • 역할 할당을 확인합니다.

사전 요구 사항

  • 서비스 주체 인증을 위한 인증서 또는 클라이언트 암호를 사용하여 Power Platform API에 대해 구성된 Microsoft Entra 앱 등록입니다. 지침은 인증을 참조 하세요.
  • 서비스 주체의 엔터프라이즈 애플리케이션 개체 ID 입니다( Microsoft Entra ID>Enterprise 애플리케이션에서 찾을 수 있습니다).
  • 호출 ID에는 Power Platform 관리자 또는 Power Platform 역할 기반 액세스 제어 관리자 역할이 있어야 합니다.

기본 제공 역할 정의

Power Platform은 RBAC를 통해 할당할 수 있는 네 가지 기본 제공 역할을 제공합니다. 각 역할에는 고정된 사용 권한 집합이 있으며 테넌트, 환경 그룹 또는 환경 범위에서 할당할 수 있습니다.

역할 이름 역할 ID Permissions
Power Platform 소유자 0cb07c69-1631-4725-ab35-e59e001c51ea 모든 권한
Power Platform 기여자 ff954d61-a89a-4fbe-ace9-01c367b89f87 모든 리소스를 관리하고 읽지만 역할 할당을 만들거나 변경할 수 없습니다.
Power Platform 판독기 c886ad2e-27f7-4874-8381-5849b8d8a090 모든 리소스에 대한 읽기 전용 액세스
Power Platform 역할 기반 액세스 제어 관리자 95e94555-018c-447b-8691-bdac8e12211e 모든 리소스 읽기 + 역할 할당 관리

1단계. 사용 가능한 역할 정의 나열

먼저 사용 가능한 역할 정의를 인증하고 검색하여 기여자 역할 ID를 확인합니다.

# Install the Az.Accounts module if not already installed
Install-Module -Name Az.Accounts

# Set your tenant ID
$TenantId = "YOUR_TENANT_ID"

# Authenticate and obtain an access token
Connect-AzAccount
$AccessToken = Get-AzAccessToken -TenantId $TenantId -ResourceUrl "https://api.powerplatform.com/"

$headers = @{ 'Authorization' = 'Bearer ' + $AccessToken.Token }
$headers.Add('Content-Type', 'application/json')

# List all role definitions
$roleDefinitions = Invoke-RestMethod -Method Get -Uri "https://api.powerplatform.com/authorization/roleDefinitions?api-version=2024-10-01" -Headers $headers

$roleDefinitions.value | Format-Table roleDefinitionName, roleDefinitionId

예상 출력:

roleDefinitionName                                          roleDefinitionId
------------------                                          ----------------
Power Platform owner                                        0cb07c69-1631-4725-ab35-e59e001c51ea
Power Platform contributor                                  ff954d61-a89a-4fbe-ace9-01c367b89f87
Power Platform reader                                       c886ad2e-27f7-4874-8381-5849b8d8a090
Power Platform role-based access control administrator      95e94555-018c-447b-8691-bdac8e12211e

Power Platform API 참조: Role-Based 액세스 제어 - 역할 정의 나열

2단계. 서비스 주체에 기여자 역할 할당

테넌트 범위의 서비스 주체에게 Power Platform 기여자 역할을 부여하는 역할 할당을 만듭니다. 테넌트 GUID와 YOUR_ENTERPRISE_APP_OBJECT_ID Microsoft Entra ID의 엔터프라이즈 애플리케이션 개체 ID로 바꿉 YOUR_TENANT_ID 니다.

$TenantId = "YOUR_TENANT_ID"
$EnterpriseAppObjectId = "YOUR_ENTERPRISE_APP_OBJECT_ID"

$body = @{
    roleDefinitionId = "ff954d61-a89a-4fbe-ace9-01c367b89f87"
    principalObjectId = $EnterpriseAppObjectId
    principalType = "ApplicationUser"
    scope = "/tenants/$TenantId"
} | ConvertTo-Json

$roleAssignment = Invoke-RestMethod -Method Post -Uri "https://api.powerplatform.com/authorization/roleAssignments?api-version=2024-10-01" -Headers $headers -Body $body

$roleAssignment

예상 출력:

roleAssignmentId   : a1b2c3d4-e5f6-7890-abcd-ef1234567890
principalObjectId  : <your-enterprise-app-object-id>
roleDefinitionId   : ff954d61-a89a-4fbe-ace9-01c367b89f87
scope              : /tenants/<your-tenant-id>
principalType      : ApplicationUser
createdOn          : 2026-03-02T12:00:00.0000000+00:00

Power Platform API 참조: Role-Based Access Control - 역할 할당 만들기

3단계. 역할 할당 확인

모든 역할 할당을 검색하여 새 할당이 있는지 확인합니다.

$roleAssignments = Invoke-RestMethod -Method Get -Uri "https://api.powerplatform.com/authorization/roleAssignments?api-version=2024-10-01" -Headers $headers

# Filter for the service principal's assignments
$roleAssignments.value | Where-Object { $_.principalObjectId -eq $EnterpriseAppObjectId } | Format-Table roleAssignmentId, roleDefinitionId, scope, principalType

예상 출력:

roleAssignmentId                        roleDefinitionId                        scope                          principalType
----------------                        ----------------                        -----                          -------------
a1b2c3d4-e5f6-7890-abcd-ef1234567890    ff954d61-a89a-4fbe-ace9-01c367b89f87    /tenants/<your-tenant-id>      ApplicationUser

Power Platform API 참조: 역할 기반 액세스 제어 - 역할 할당 나열