Нотатка
Доступ до цієї сторінки потребує авторизації. Можна спробувати ввійти або змінити каталоги.
Доступ до цієї сторінки потребує авторизації. Можна спробувати змінити каталоги.
[Ця стаття стосується інструкції до попередньої версії, і її буде змінено.]
Керування доступом на основі ролей (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. Список доступних визначень ролей
Спочатку автентифікуйте та отримуйте доступні визначення ролей, щоб підтвердити ідентифікатор ролі співавтора.
- PowerShell
- C#
- Python
# 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.
- PowerShell
- C#
- Python
$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. Перевірка призначення ролі
Отримати всі призначення ролей, щоб підтвердити, що нове призначення існує.
- PowerShell
- C#
- Python
$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: керування доступом на основі ролей – призначення ролей списку