Compartir por


Tutorial: Asignar roles aos principais de servizo (vista previa)

[Este artigo é a documentación de prelanzamento e está suxeito a cambios.]

O control de acceso baseado en roles (RBAC) en Power Platform permite aos administradores asignar roles integrados a usuarios, grupos e responsables de servizo no inquilino, grupo de entorno ou ámbito do entorno. Este tutorial explica un escenario común de automatización: asignar o rol de Contribuínte a un principal de servizo no ámbito do inquilino usando a API de Autorización.

Para saber máis sobre os conceptos RBAC, roles integrados e herdanza de alcance, consulte Control de acceso baseado en roles para o centro de administración de Power Platform.

Importante

  • Esta é unha funcionalidade de vista previa.
  • As funcionalidades en versión preliminar non están destinadas a usarse en produción e poderían ter restrinxida a funcionalidade. Estas funcións están suxeitas a termos suplementarios de uso, e están dispoñibles antes dun lanzamento oficial para que os clientes poidan access cedo e dar opinións.

Neste tutorial, aprenderás a:

  • Autentica coa API de Power Platform.
  • Lista das definicións de roles dispoñibles.
  • Crea unha asignación de rol para un principal de servizo no ámbito do inquilino.
  • Verifica a asignación do rol.

Requisitos previos

  • Un rexistro dunha aplicación Microsoft Entra configurado para a API Power Platform, cun certificado ou segredo de cliente para a autenticación do principal de servizo. Para orientación, véxase Autenticación.
  • O ID de Obxecto de Aplicación Empresarial para o principal de servizo (atopado nasaplicacións MicrosoftEntra ID> Enterprise).
  • A identidade que chama debe ter o rol de administrador de Power Platform ou administrador de control de acceso baseado en roles de Power Platform .

Definicións de roles incorporadas

Power Platform ofrece catro roles integrados que se poden asignar a través de RBAC. Cada rol ten un conxunto fixo de permisos e pode asignarse no inquilino, grupo de entorno ou ámbito do entorno.

Nome do rol ID de rol Permisos
Propietario da Power Platform 0cb07c69-1631-4725-ab35-e59e001c51ea Todos os permisos
Colaborador da Power Platform ff954d61-a89a-4fbe-ace9-01c367b89f87 Xestionar e ler todos os recursos, pero non podes facer nin cambiar asignacións de roles
Lector Power Platform c886ad2e-27f7-4874-8381-5849b8d8a090 Acceso de só lectura a todos os recursos
Administrador de control de acceso baseado en roles en Power Platform 95e94555-018c-447b-8691-bdac8e12211e Le todos os recursos + xestionar asignacións de roles

Paso 1. Lista dispoñible de definicións de roles

Primeiro, autenticar e recuperar as definicións de roles dispoñibles para confirmar o ID de rol do contribuínte.

# 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

Saída esperada:

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

Referencia da API Power Platform: Control de accesoRole-Based - Definicións de roles por lista

Paso 2. Asignar o rol de Contribuinte a un principal de servizo

Crea unha asignación de rol que conceda o rol de contribuínte de Power Platform a un principal de servizo no ámbito do inquilino. Substitúe YOUR_TENANT_ID polo teu GUID de inquilino e YOUR_ENTERPRISE_APP_OBJECT_ID polo ID de obxecto de aplicación empresarial de 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

Saída esperada:

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

Referencia da API de Power Platform: Control de accesoRole-Based - Create Role Assignment

Paso 3. Verificar a asignación de roles

Recupera todas as asignacións de roles para confirmar que a nova asignación existe.

$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

Saída esperada:

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

Referencia da API Power Platform: Control de Acceso Baseado en Roles - Asignacións de Roles por Lista