Навчальний посібник. Призначення ролей принципалам служби (підготовча версія)

[Ця стаття стосується інструкції до попередньої версії, і її буде змінено.]

Керування доступом на основі ролей (RBAC) на платформі Power Platform дає змогу адміністраторам призначати вбудовані ролі користувачам, групам і принципалам послуг у клієнті, групі середовища або області середовища. У цьому посібнику описано типовий сценарій автоматизації: призначення ролі співавтора принципалу служби в області клієнта за допомогою API авторизації.

Докладні відомості про концепції RBAC, вбудовані ролі та успадкування областей див. в статті Керування доступом на основі ролей у Центрі адміністрування Power Platform.

Important

  • Це функція попереднього перегляду.
  • Підготовчі функції призначені для невиробничого використання. Їх можливості можуть бути обмеженими. Ці функції підпадають під додаткові умови використання і доступні до офіційного релізу, щоб клієнти могли отримати раннє access та залишити відгуки.

У цьому уроці ви дізнаєтесь:

  • Автентифікуйте за допомогою API платформи Power Platform.
  • Список доступних визначень ролей.
  • Створіть призначення ролі для принципала служби в області клієнта.
  • Перевірте призначення ролі.

вимоги

  • Реєстрація програми Microsoft Entra, налаштована для API Платформи Power Platform, з сертифікатом або секретом клієнта для автентифікації основної служби. Інструкції див. в статті Автентифікація.
  • Ідентифікатор корпоративного об'єкта застосунку для принципала служби (знайдено впрограмах> Enterprise).
  • Посвідчення виклику має мати роль адміністратора Power Platform або адміністратора керування доступом на основі ролей платформи Power Platform .

Вбудовані визначення ролей

Платформа Power Platform надає чотири вбудовані ролі, які можна призначити за допомогою RBAC. Кожна роль має фіксований набір дозволів і може бути призначена в області клієнта, середовища або середовища.

Ім'я ролі Ідентифікатор ролі Дозволи
Власник 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. Список доступних визначень ролей

Спочатку автентифікуйте та отримуйте доступні визначення ролей, щоб підтвердити ідентифікатор ролі співавтора.

# 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
$secureToken = (Get-AzAccessToken -TenantId $TenantId -ResourceUrl "https://api.powerplatform.com/").Token
$AccessToken = [System.Net.NetworkCredential]::new("", $secureToken).Password

$headers = @{ 'Authorization' = 'Bearer ' + $AccessToken }
$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

Довідка з API платформи Power Platform: Role-Based Access Control – визначення ролей списку

Крок 2. Призначення ролі співавтора принципалу служби

Створіть призначення ролі, яке надає роль співавтора Power Platform принципалу служби в області клієнта. Замініть YOUR_TENANT_ID ідентифікатором guid клієнта та YOUR_ENTERPRISE_APP_OBJECT_ID ідентифікатором об'єкта корпоративного застосунку з ідентифікатора Microsoft Entra.

$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

Довідка з API платформи Power Platform: 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

Довідка з API платформи Power Platform: керування доступом на основі ролей – призначення ролей списку