Lister les attributions de rôle Azure avec 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 lister les attributions de rôles à l’aide d’Azure PowerShell.
Notes
Nous vous recommandons d’utiliser le module Azure Az PowerShell pour interagir avec Azure. Pour commencer, consultez Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.
Notes
Si votre organisation possède des fonctions de gestion externalisées à un fournisseur de services qui utiliseAzure Lighthouse, les attributions de rôles autorisées par ce fournisseur de services ne s’afficheront pas ici.
Prérequis
Lister les attributions de rôles pour l’abonnement actuel
Le moyen le plus simple d’obtenir une liste de toutes les attributions de rôle de l’abonnement actuel (y compris les attributions de rôle héritées de la racine et des groupes de gestion) 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 lister toutes les attributions de rôle dans l’étendue d’un abonnement, utilisez Get-AzRoleAssignment. Pour obtenir l’ID d’abonnement, vous pouvez le trouver dans le panneau Abonnements du 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 qui sont attribués à un utilisateur, 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 et les rôles attribué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
Lister les attributions de rôles pour un groupe de ressources
Pour lister toutes les attributions de rôle dans l’étendue d’un 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
Lister les attributions de rôles pour un groupe d’administration
Pour lister toutes les attributions de rôle dans l’étendue d’un groupe d’administration, utilisez Get-AzRoleAssignment. Pour obtenir l’ID du groupe d’administration, accédez au panneau Groupes d’administration dans le portail Azure ou utilisez Get-AzManagementGroup.
Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/<group_id>
PS C:\> Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/marketing-group
Énumération des attributions de rôles d’une ressource
Pour lister les attributions de rôles d’une ressource, utilisez Get-AzRoleAssignment et le paramètre -Scope
. L’étendue sera différente selon la ressource. Pour obtenir l’étendue, vous pouvez exécuter Get-AzRoleAssignment
sans aucun paramètre afin de lister toutes les attributions de rôles, puis localiser l’étendue souhaitée.
Get-AzRoleAssignment -Scope "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/<provider_name>/<resource_type>/<resource>
L’exemple suivant montre comment lister les attributions de rôles d’un compte de stockage. Notez que cette commande recense également les attributions de rôles d’étendue supérieure (par exemple, les groupes de ressources et les 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 ne lister que les attributions de rôles directes d’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 lister les attributions de rôle des administrateurs et des coadministrateurs d’abonnements classiques, utilisez Get-AzRoleAssignment.
Get-AzRoleAssignment -IncludeClassicAdministrators
Lister les attributions de rôles pour une identité managée
Obtenez l’ID d’objet de l’identité managée attribuée par le système ou par l’utilisateur.
Pour obtenir l'ID d’objet d'une identité managée attribuée par l'utilisateur, vous pouvez utiliser Get-AzADServicePrincipal.
Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
Pour lister les attributions de rôles, utilisez AzRoleAssignment.
Get-AzRoleAssignment -ObjectId <objectid>