Compartir a través de


Tutorial: Asignación de roles a entidades de servicio (versión preliminar)

[Este artículo es documentación preliminar y está sujeto a modificaciones].

El control de acceso basado en rol (RBAC) de Power Platform permite a los administradores asignar roles integrados a usuarios, grupos y entidades de servicio en el ámbito de inquilino, grupo de entorno o entorno. En este tutorial se explica un escenario de automatización común: asignación del rol Colaborador a una entidad de servicio en el ámbito del inquilino mediante la API de autorización.

Para más información sobre los conceptos de RBAC, los roles integrados y la herencia de ámbito, consulte Control de acceso basado en rol para el Centro de administración de Power Platform.

Importante

  • Esta es una función de vista previa.
  • Las características de versión preliminar no están diseñadas para uso en producción y podrían tener una funcionalidad restringida. Estas características están sujetas a términos de uso adicionales y están disponibles antes del lanzamiento oficial para que los clientes puedan obtener acceso temprano y brindar comentarios.

En este tutorial, obtendrá información sobre cómo:

  • Autentíquese con Power Platform API.
  • Enumerar las definiciones de roles disponibles.
  • Cree una asignación de roles para una entidad de servicio en el ámbito del inquilino.
  • Compruebe la asignación de roles.

Prerrequisitos

  • Registro de aplicaciones de Microsoft Entra configurado para Power Platform API, con un certificado o secreto de cliente para la autenticación de la entidad de servicio. Para obtener instrucciones, consulte Autenticación.
  • Id. de objeto de aplicación empresarial para la entidad de servicio (que se encuentra enaplicaciones empresarialesde Microsoft Entra ID>).
  • La identidad de llamada debe tener el rol de administrador de control de acceso basado en rol de Power Platform o Administrador de control de acceso basado en rol de Power Platform .

Definiciones de roles integrados

Power Platform proporciona cuatro roles integrados que se pueden asignar a través de RBAC. Cada rol tiene un conjunto fijo de permisos y se puede asignar en el ámbito de inquilino, grupo de entorno o entorno.

Nombre del rol Id. de rol Permisos
Propietario de Power Platform 0cb07c69-1631-4725-ab35-e59e001c51ea Todos los permisos
Colaborador de Power Platform ff954d61-a89a-4fbe-ace9-01c367b89f87 Administrar y leer todos los recursos, pero no puede realizar ni cambiar asignaciones de roles
Lector de Power Platform c886ad2e-27f7-4874-8381-5849b8d8a090 Acceso de solo lectura a todos los recursos
Administrador de control de acceso basado en rol de Power Platform 95e94555-018c-447b-8691-bdac8e12211e Leer todos los recursos y administrar asignaciones de roles

Paso 1. Enumerar las definiciones de roles disponibles

En primer lugar, autentíquese y recupere las definiciones de roles disponibles para confirmar el identificador de rol de colaborador.

# 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

Resultado esperado:

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 de Power Platform API: control de accesoRole-Based: enumerar definiciones de roles

Paso 2. Asignación del rol Colaborador a una entidad de servicio

Cree una asignación de roles que conceda el rol de colaborador de Power Platform a una entidad de servicio en el ámbito del inquilino. Reemplace por YOUR_TENANT_ID el GUID del inquilino y YOUR_ENTERPRISE_APP_OBJECT_ID por el identificador de objeto de aplicación empresarial de Microsoft Entra 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

Resultado esperado:

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 de Power Platform API: Role-Based Control de acceso: creación de una asignación de roles

Paso 3. Comprobación de la asignación de roles

Recupere todas las asignaciones de roles para confirmar que existe la nueva asignación.

$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

Resultado esperado:

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

Referencia de Power Platform API: Control de acceso basado en roles: enumerar asignaciones de roles