Урок: Даване на роли на главен субект на услуга (предварителен преглед)

[Тази статия е предварително издание на документацията и подлежи на промяна.]

Базираното на роли управление на достъпа (RBAC) в Power Platform позволява на администраторите да присвояват вградени роли на потребители, групи и главен субект на услуги в клиента, групата на средата или обхвата на средата. Този урок ще ви преведе през общ сценарий за автоматизация: присвояване на ролята "Сътрудник" на главен субект на услуга в обхвата на клиента с помощта на API за удостоверяване.

За да научите повече за понятията RBAC, вградените роли и наследяването на обхвати, вижте Управление на достъпа, базирано на роли, за центъра за администриране на Платформата Power.

Важно

  • Това е функция за предварителен преглед.
  • Функциите на етап преглед не са предназначени за производствена употреба и може да са с ограничени възможности. Тези функции са предмет на допълнителни условия за ползване и са налични преди официалното издание, така че клиентите да могат да получат ранен достъп и да предоставят обратна връзка.

В този урок ще се научите да:

  • Удостоверяване с API за Power Platform.
  • Списък на наличните дефиниции на роли.
  • Създайте присвояване на роля за главен субект на услуга в обхвата на клиента.
  • Проверете присвояването на роля.

Предварителни изисквания

  • Регистрация на приложение Microsoft Entra, конфигурирана за API на платформата Power, със сертификат или клиентската тайна за удостоверяване на субекта на услугата. За указания вижте Удостоверяване.
  • ИД на обекта на корпоративното приложение за субекта на услугата (намира се в приложенията Microsoft Entra ID>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
$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

Справка за API на платформата Power: Role-Based управление на достъпа – дефиниции на роли на списък

Стъпка 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: Role-Based управление на достъпа – създаване на присвояване на роли

Стъпка 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: Управление на достъпа, базирано на роли – Присвояване на роли на списък