Partager via


Répertorier les attributions de rôles Azure à l’aide d’Azure PowerShell

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

  1. 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>"
    
  2. Pour répertorier les attributions de rôles, utilisez Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Étapes suivantes

Attribuer des rôles Azure à l’aide d’Azure PowerShell