Partilhar via


Tutorial: Atribuir funções aos principais de serviço (pré-visualização)

[Este artigo é uma documentação de pré-lançamento e está sujeito a alterações.]

O controlo de acesso baseado em funções (RBAC) no Power Platform permite aos administradores atribuir funções incorporadas a utilizadores, grupos e principais de serviço no inquilino, grupo de ambiente ou âmbito de ambiente. Este tutorial percorre um cenário comum de automação: atribuir o papel de Contribuinte a um principal de serviço no âmbito do inquilino , usando a API de Autorização.

Para saber mais sobre conceitos RBAC, funções incorporadas e herança de âmbito, consulte Controlo de acesso baseado em funções para o centro de administração do Power Platform.

Importante

  • Esta é uma funcionalidade de pré-visualização.
  • As funcionalidades de pré-visualização não se destinam a utilização em produção e podem ter funcionalidades restritas. Esses recursos estão sujeitos a termos de uso suplementares e estão disponíveis antes de um lançamento oficial para que os clientes possam obter acesso antecipado e fornecer feedback.

Neste tutorial, vai aprender a:

  • Autenticar com a API da Power Platform.
  • Lista das definições de funções disponíveis.
  • Crie uma atribuição de função para um principal de serviço no âmbito do inquilino.
  • Verifique a atribuição de função.

Pré-requisitos

  • Um registo de uma aplicação Microsoft Entra configurado para a API Power Platform, com um certificado ou cliente secreto para autenticação principal de serviço. Para orientação, consulte Autenticação.
  • O ID do Objeto de Aplicação Empresarial para o principal de serviço (encontrado nas aplicações Microsoft Entra ID>Enterprise).
  • A identidade que chama deve ter o papel de Administrador Power Platform ou Administrador de Controlo de Acesso baseado em funções Power Platform .

Definições de função incorporadas

A Power Platform oferece quatro funções integradas que podem ser atribuídas via RBAC. Cada função tem um conjunto fixo de permissões e pode ser atribuído no inquilino, grupo de ambiente ou âmbito de ambiente.

Nome da função ID da função Permissões
Proprietário da Power Platform 0cb07c69-1631-4725-ab35-e59e001c51ea Todas as permissões
Colaborador da Power Platform ff954d61-a89a-4fbe-ace9-01c367b89f87 Gerir e ler todos os recursos, mas não pode criar ou alterar atribuições de funções
Leitor Power Platform c886ad2e-27f7-4874-8381-5849b8d8a090 Acesso apenas de leitura a todos os recursos
Administrador de controlo de acessos baseado em funções na Power Platform 95e94555-018c-447b-8691-bdac8e12211e Leia todos os recursos + gere atribuições de funções

Passo 1. Lista de definições de funções disponíveis

Primeiro, autentique e recupere as definições de papéis disponíveis para confirmar o ID de papel do contribuidor.

# 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

Resultados esperados:

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

Referência da API Power Platform: Controlo de AcessoRole-Based - Definições de Papéis de Lista

Passo 2. Atribuir o papel de Contribuinte a um principal de serviço

Crie uma atribuição de função que conceda o papel de contribuidor da Power Platform a um principal de serviço no âmbito do inquilino. Substitua YOUR_TENANT_ID pelo GUID do seu tenant e YOUR_ENTERPRISE_APP_OBJECT_ID pelo ID de objeto de aplicação empresarial do 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

Resultados esperados:

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

Referência da API Power Platform: Controlo de AcessoRole-Based - Atribuição de Funções

Passo 3. Verificar a atribuição do papel

Recuperar todas as atribuições de funções para confirmar que a nova atribuição 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

Resultados esperados:

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

Referência da API Power Platform: Controlo de Acesso Baseado em Funções - Atribuições de Funções por Lista