Partage via


Gérer les rôles d’administrateur avec Microsoft Entra Privileged Identity Management

Utilisez Privileged Identity Management (PIM) de Microsoft Entra pour gérer les rôles d’administrateur avec privilèges élevés dans le centre d’administration Power Platform.

Conditions préalables

  • Supprimez les anciennes attributions de rôle d’administrateur système dans vos environnements. Vous pouvez utiliser les scripts PowerShell pour inventorier et supprimer les utilisateurs indésirables du rôle Administrateur système dans un ou plusieurs environnements Power Platform.

Modifications de la prise en charge des fonctionnalités

Microsoft n’attribue pas automatiquement le rôle Administrateur système aux utilisateurs dotés de ces rôles Microsoft Entra ID (également appelés administrateurs de clients) :

  • Administrateur général
  • Administrateur Power Platform
  • Administrateur Dynamics 365

Les administrateurs de clients peuvent continuer à se connecter au centre d’administration Power Platform avec les privilèges suivants :

  • Activer ou désactiver les paramètres au niveau du client
  • Afficher les informations d’analyse pour les environnements
  • Afficher les rapports de capacité

Les administrateurs de clients ne peuvent pas effectuer d’activités nécessitant l’accès direct aux données Dataverse. Voici des exemples de ces activités :

  • Mise à jour du rôle de sécurité pour un utilisateur dans un environnement
  • Installation d’applications pour un environnement

Important

Les administrateurs de clients doivent effectuer une autre étape avant de pouvoir effectuer des activités nécessitant l’accès à Dataverse. Ils doivent s’élever au rôle Administrateur système dans l’environnement auquel ils doivent accéder. Toutes les actions d’élévation sont enregistrées dans Microsoft Purview.

Auto-élévation au rôle d’administrateur système

Nous prenons en charge l’élévation à l’aide de PowerShell ou via une expérience intuitive dans le Power Platform centre d’administration.

Note

Les utilisateurs qui tentent de s’auto-élever doivent être un administrateur global, Power Platform un administrateur ou un administrateur Dynamics 365. L’interface utilisateur du Power Platform centre d’administration n’est pas disponible pour les utilisateurs ayant d’autres rôles d’administrateur Entra ID et toute tentative d’auto-élévation via l’API PowerShell renvoie une erreur.

Auto-élévation grâce à PowerShell

Configurer PowerShell

Installez le module PowerShell MSAL. Le module ne doit être installé qu’une seule fois.

Install-Module -Name MSAL.PS

Pour plus d’informations sur la configuration de PowerShell, consultez API Web de démarrage rapide avec PowerShell et Visual Studio Code.

Étape 1 : Exécuter le script pour l’élévation

Dans ce script PowerShell, effectuez les opérations suivantes :

  • Authentifiez-vous à l’aide de l’API Power Platform.
  • Créez une requête http avec votre ID d’environnement.
  • Appelez le point de terminaison de l’API pour demander une élévation.
Ajouter votre ID d’environnement
  1. Obtenez votre ID d’environnement à partir de l’onglet Environnements du centre d’administration Power Platform.

    Capture d’écran montrant où vous pouvez obtenir votre ID d’environnement.

  2. Ajoutez votre <environment id> unique au script.

Exécuter le script

Copiez et collez le script dans une console PowerShell.

# Set your environment ID
$environmentId = "<your environment id>"

Import-Module MSAL.PS

# Authenticate
$AuthResult = Get-MsalToken -ClientId '49676daf-ff23-4aac-adcc-55472d4e2ce0' -Scope 'https://api.powerplatform.com/.default' 


$Headers = @{
   Authorization  = "Bearer $($AuthResult.AccessToken)"
   'Content-Type' = "application/json"
} 

$uri = "https://api.powerplatform.com/usermanagement/environments/$environmentId/user/applyAdminRole?api-version=2022-03-01-preview";

try { 

   $postRequestResponse = Invoke-RestMethod -Method Post -Headers $Headers -Uri $uri 
   
} 
   
catch { 
   
   # Dig into the exception to get the Response details. 
   
   Write-Host "Response CorrelationId:" $_.Exception.Response.Headers["x-ms-correlation-id"] 
   
   Write-Host "StatusCode:" $_.Exception.Response.StatusCode.value__  
   
   Write-Host "StatusDescription:" $_.Exception.Response.StatusDescription 
   
   $result = $_.Exception.Response.GetResponseStream() 
   
   $reader = New-Object System.IO.StreamReader($result) 
   
   $reader.BaseStream.Position = 0 
   
   $reader.DiscardBufferedData() 
   
   $responseBody = $reader.ReadToEnd(); 
   
   Write-Host $responseBody 
   
} 
   
$output = $postRequestResponse | ConvertTo-Json -Depth 2 
   
Write-Host $output

Étape 2 : Confirmer les résultats

En cas de succès, vous voyez une sortie similaire à la sortie suivante. Recherchez "Code": "UserExists" comme preuve que vous avez élevé correctement votre rôle.

{
  "errors": [],
  "information": [
    {
      "Subject": "Result",
      "Description": "[\"SyncMode: Default\",\"Instance df12c345-7b56-ee10-8bc5-6045bd005555 exists\",\"Instance df85c664-7b78-ee11-8bc5-6045bd005555 in enabled state\",\"Instance Url found https://orgc1234567.crm.dynamics.com\",\"User found in AD tenant\",\"User in enabled state in AD tenant\",\"SystemUser with Id:11fa11ab-4f75-ee11-9999-6045bd12345a, objectId:d111c55c-aab2-8888-86d4-ece1234f11e6 exists in instance\"]",
      "Code": "UserExists"
    },
    { ... }
}
Erreurs

Un message d’erreur peut s’afficher si vous ne disposez pas des autorisations appropriées.

"Unable to assign System Administrator security role as the user is not either a Global admin, Power Platform admin, or Dynamics 365 admin. Please review your role assignments in Entra ID and try again later. For help, please reach out to your administrator."

Étape 3 : Nettoyer l’activité

Exécutez Remove-RoleAssignmentFromUsers pour supprimer les utilisateurs du rôle de sécurité Administrateur système après l’expiration de l’attribution dans PIM.

  • -roleName : administrateur système ou un autre rôle
  • -usersFilePath : chemin d’accès au fichier CSV avec la liste des noms d’utilisateurs principaux (un par ligne)
  • -environmentUrl : disponible dans admin.powerplatform.microsoft.com
  • -processAllEnvironments : (Facultatif) traitez tous vos environnements
  • -geo : GEO valide
  • -outputLogsDirectory : chemin d’accès où les fichiers journaux sont écrits
Exemple de script
Remove-RoleAssignmentFromUsers
-roleName "System Administrator" 
-usersFilePath "C:\Users\<My-Name>\Desktop\<names.csv>"
-environmentUrl "<my-name>-environment.crm.dynamics.com"
# Or, include all your environments
-processAllEnvironments $true
-geo "NA"
-outputLogsDirectory "C:\Users\<My-Name>\Desktop\<log-files>"

Élevez-vous automatiquement via le Power Platform centre d’administration

  1. Connectez-vous au centre d’administration Power Platform.

  2. Dans le volet gauche, sélectionnez Environnements.

  3. Sélectionnez la coche en regard de environnement.

  4. Sélectionnez Adhésion dans la barre de commandes pour demander l’auto-élévation.

  5. Le volet Administrateurs système s’affiche. Ajoutez-vous au rôle système Administrateur en sélectionnant Ajoutez-moi.

    Utilisez l’option de menu Adhésion pour demander une auto-élévation.

Limitations connues

  • Lorsque vous utilisez l’API, vous remarquerez que si l’appelant est un système Administrateur, l’appel d’auto-élévation renvoie un succès plutôt que d’informer l’appelant que le système Administrateur existe déjà.

  • L’utilisateur qui effectue l’appel doit disposer du rôle d’administrateur de locataire. Pour obtenir la liste complète des utilisateurs qui répondent aux critères d’administrateur de locataire, consultez Modifications apportées à la prise en charge des fonctionnalités

  • L’API d’élévation ne peut être invoquée que par l’utilisateur qui doit élever son statut. Elle ne prend pas en charge les appels d’API au nom d’un autre utilisateur à des fins d’élévation.

  • Une solution de contournement est disponible pour les clients utilisant le Microsoft Power Platform Kit de démarrage CoE. Voir Problème PIM et solution de contournement n° 8119 pour plus d’informations et de détails.

  • Les attributions de rôles via les groupes ne sont pas prises en charge. Assurez-vous d’attribuer des rôles directement à l’utilisateur.