Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le contrôle d’accès en fonction du rôle Azure (Azure RBAC) est le système d’autorisation que vous utilisez pour gérer l’accès aux ressources Azure. Pour déterminer les ressources auxquelles les utilisateurs, les groupes, les principaux de service et les identités managées ont accès, vous devez lister les rôles qui leur sont attribués. Cet article explique comment répertorier les attributions de rôles à l’aide d’Azure PowerShell.
Note
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour bien démarrer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Note
Si votre organisation externalise des fonctions de gestion à un fournisseur de services qui utiliseAzure Lighthouse, les attributions de rôles autorisées par ce fournisseur de services ne s’afficheront pas ici. De même, les utilisateurs du locataire du fournisseur de services ne voient pas les attributions de rôles pour les utilisateurs du locataire d’un client, quel que soit le rôle qui leur a été attribué.
Prerequisites
Répertorier les attributions de rôles pour l’abonnement actuel
Le moyen le plus simple d’obtenir la liste de toutes les attributions de rôles dans l’abonnement actuel (y compris les attributions de rôles héritées à partir de groupes d’administration et racines) consiste à utiliser Get-AzRoleAssignment sans aucun paramètre.
Get-AzRoleAssignment
PS C:\> Get-AzRoleAssignment
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11111111-1111-1111-1111-111111111111
Scope : /subscriptions/00000000-0000-0000-0000-000000000000
DisplayName : Alain
SignInName : alain@example.com
RoleDefinitionName : Storage Blob Data Reader
RoleDefinitionId : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1
ObjectId : 44444444-4444-4444-4444-444444444444
ObjectType : User
CanDelegate : False
RoleAssignmentId : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Marketing
SignInName :
RoleDefinitionName : Contributor
RoleDefinitionId : b24988ac-6180-42a0-ab88-20f7382dd24c
ObjectId : 22222222-2222-2222-2222-222222222222
ObjectType : Group
CanDelegate : False
...
Répertorier les attributions de rôles pour un abonnement
Pour répertorier toutes les attributions de rôles dans une étendue d’abonnement, utilisez Get-AzRoleAssignment. Pour obtenir l’ID d’abonnement, vous pouvez le trouver dans le panneau Abonnements dans le portail Azure ou utiliser Get-AzSubscription.
Get-AzRoleAssignment -Scope /subscriptions/<subscription_id>
PS C:\> Get-AzRoleAssignment -Scope /subscriptions/00000000-0000-0000-0000-000000000000
Répertorier les attributions de rôles pour un utilisateur
Pour répertorier tous les rôles attribués à un utilisateur spécifié, utilisez Get-AzRoleAssignment.
Get-AzRoleAssignment -SignInName <email_or_userprincipalname>
PS C:\> Get-AzRoleAssignment -SignInName isabella@example.com | FL DisplayName, RoleDefinitionName, Scope
DisplayName : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
Pour répertorier tous les rôles attribués à un utilisateur spécifié et les rôles affectés aux groupes auxquels appartient l’utilisateur, utilisez Get-AzRoleAssignment.
Get-AzRoleAssignment -SignInName <email_or_userprincipalname> -ExpandPrincipalGroups
Get-AzRoleAssignment -SignInName isabella@example.com -ExpandPrincipalGroups | FL DisplayName, RoleDefinitionName, Scope
Répertorier les attributions de rôles pour un groupe de ressources
Pour répertorier toutes les attributions de rôles dans une étendue de groupe de ressources, utilisez Get-AzRoleAssignment.
Get-AzRoleAssignment -ResourceGroupName <resource_group_name>
PS C:\> Get-AzRoleAssignment -ResourceGroupName pharma-sales | FL DisplayName, RoleDefinitionName, Scope
DisplayName : Alain Charon
RoleDefinitionName : Backup Operator
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName : Alain Charon
RoleDefinitionName : Virtual Machine Contributor
Scope : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
Répertorier les attributions de rôles pour un groupe d’administration
Pour répertorier toutes les attributions de rôles dans une étendue de groupe d’administration, utilisez Get-AzRoleAssignment. Pour obtenir l’ID du groupe d’administration, vous pouvez le trouver dans le panneau Groupes d’administration dans le portail Azure ou utiliser Get-AzManagementGroup.
Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/<group_id>
PS C:\> Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/marketing-group
Répertorier les attributions de rôles pour une ressource
Pour répertorier les attributions de rôles pour une ressource spécifique, utilisez Get-AzRoleAssignment et le -Scope paramètre. L’étendue sera différente en fonction de la ressource. Pour obtenir l’étendue, vous pouvez exécuter Get-AzRoleAssignment sans paramètres pour répertorier toutes les attributions de rôles, puis rechercher l’étendue que vous souhaitez répertorier.
Get-AzRoleAssignment -Scope "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/<provider_name>/<resource_type>/<resource>
Cet exemple suivant montre comment répertorier les attributions de rôles pour un compte de stockage. Notez que cette commande répertorie également les attributions de rôles dans des étendues plus élevées, telles que des groupes de ressources et des abonnements, qui s’appliquent à ce compte de stockage.
PS C:\> Get-AzRoleAssignment -Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"
Si vous souhaitez simplement répertorier les attributions de rôles qui sont affectées directement sur une ressource, vous pouvez utiliser la commande Where-Object pour filtrer la liste.
PS C:\> Get-AzRoleAssignment | Where-Object {$_.Scope -eq "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"}
Répertorier les attributions de rôles pour l’administrateur de service classique et les coadministrateurs
Pour répertorier les attributions de rôles pour l’administrateur d’abonnement classique et les coadministrateurs, utilisez Get-AzRoleAssignment.
Get-AzRoleAssignment -IncludeClassicAdministrators
Répertorier les attributions de rôles pour une identité managée
Obtenez l’ID d'objet de l'identité managée assignée par le système ou par l'utilisateur.
Pour obtenir l’ID d’objet d’une identité managée affectée par l’utilisateur, vous pouvez utiliser Get-AzADServicePrincipal.
Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"Pour répertorier les attributions de rôles, utilisez Get-AzRoleAssignment.
Get-AzRoleAssignment -ObjectId <objectid>