Partager via


Tutoriel : Attribuer des rôles à des principaux de service (préversion)

[Cet article fait partie de la documentation en version préliminaire et peut faire l’objet de modifications.]

Le contrôle d’accès en fonction du rôle (RBAC) dans Power Platform permet aux administrateurs d’attribuer des rôles intégrés aux utilisateurs, groupes et principaux de service au niveau du locataire, du groupe d’environnement ou de l’étendue de l’environnement. Ce tutoriel décrit un scénario d’automatisation courant : affectation du rôle Contributeur à un principal de service au niveau de l’étendue du locataire à l’aide de l’API d’autorisation.

Pour en savoir plus sur les concepts RBAC, les rôles intégrés et l’héritage d’étendue, consultez Contrôle d’accès en fonction du rôle pour le Centre d’administration Power Platform.

Important

  • Il s’agit d’une fonctionnalité en version préliminaire.
  • Les fonctionnalités en version préliminaire ne sont pas destinées à une utilisation en production et peuvent être restreintes. Ces fonctionnalités sont soumises à des conditions d’utilisation supplémentaires, et sont disponibles avant une version officielle de telle sorte que les clients puissent tirer parti d’un accès anticipé et fournir leurs commentaires.

Dans ce tutoriel, vous allez découvrir comment :

  • Authentifiez-vous avec l’API Power Platform.
  • Répertorier les définitions de rôle disponibles.
  • Créez une attribution de rôle pour un principal de service dans l’étendue du locataire.
  • Vérifiez l’attribution de rôle.

Prerequisites

  • Inscription d’application Microsoft Entra configurée pour l’API Power Platform, avec un certificat ou une clé secrète client pour l’authentification du principal de service. Pour obtenir des conseils, consultez Authentification.
  • ID d’objet Application d’entreprise pour le principal de service (trouvé dans les applications Microsoft Entra ID>Enterprise).
  • L’identité appelante doit avoir le rôle d’administrateur Power Platform ou d’administrateur de contrôle d’accès en fonction du rôle Power Platform .

Définitions de rôle intégré

Power Platform fournit quatre rôles intégrés qui peuvent être attribués via RBAC. Chaque rôle dispose d’un ensemble fixe d’autorisations et peut être affecté au niveau du locataire, du groupe d’environnement ou de l’étendue de l’environnement.

Nom du rôle ID de rôle Permissions
Propriétaire de Power Platform 0cb07c69-1631-4725-ab35-e59e001c51ea Toutes les autorisations
Contributeur Power Platform ff954d61-a89a-4fbe-ace9-01c367b89f87 Gérer et lire toutes les ressources, mais ne peut pas apporter ou modifier les attributions de rôles
Lecteur Power Platform c886ad2e-27f7-4874-8381-5849b8d8a090 Accès en lecture seule à toutes les ressources
Administrateur du contrôle d'accès basé sur les rôles Power Platform 95e94555-018c-447b-8691-bdac8e12211e Lire toutes les ressources + gérer les attributions de rôles

Étape 1. Répertorier les définitions de rôle disponibles

Tout d’abord, authentifiez et récupérez les définitions de rôle disponibles pour confirmer l’ID de rôle contributeur.

# 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

Sortie attendue :

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

Informations de référence sur l’API Power Platform : contrôle d’accèsRole-Based - Répertorier les définitions de rôles

Étape 2. Attribuer le rôle Contributeur à un principal de service

Créez une attribution de rôle qui accorde le rôle contributeur Power Platform à un principal de service au niveau de l’étendue du locataire. Remplacez YOUR_TENANT_ID par votre GUID de locataire et YOUR_ENTERPRISE_APP_OBJECT_ID par l’ID d’objet d’application d’entreprise 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

Sortie attendue :

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

Informations de référence sur l’API Power Platform : Role-Based Contrôle d’accès - Créer une attribution de rôle

Étape 3. Vérifier l’attribution de rôle

Récupérez toutes les attributions de rôles pour confirmer que la nouvelle attribution 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

Sortie attendue :

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

Informations de référence sur l’API Power Platform : Contrôle d’accès en fonction du rôle - Répertorier les attributions de rôles