Notes
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 lister les attributions de rôles à l’aide d’Azure CLI.
Remarque
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é.
Prérequis
Répertorier les attributions de rôles pour un utilisateur
Pour lister les attributions de rôles d’un utilisateur déterminé, utilisez az role assignment list :
az role assignment list --assignee {assignee}
By default, only role assignments for the current subscription will be displayed. To view role assignments for the current subscription and below, add the --all
parameter. To include role assignments at parent scopes, add the --include-inherited
parameter. To include role assignments for groups of which the user is a member transitively, add the --include-groups
parameter.
The following example lists the role assignments that are assigned directly to the patlong@contoso.com user:
az role assignment list --all --assignee patlong@contoso.com --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
{
"principalName": "patlong@contoso.com",
"roleDefinitionName": "Backup Operator",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
},
{
"principalName": "patlong@contoso.com",
"roleDefinitionName": "Virtual Machine Contributor",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
}
]
Lister les attributions de rôles pour un groupe de ressources
Pour lister les attributions de rôle qui existent dans l’étendue d’un groupe de ressources, utilisez az role assignment list :
az role assignment list --resource-group {resourceGroup}
The following example lists the role assignments for the pharma-sales resource group:
az role assignment list --resource-group pharma-sales --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
{
"principalName": "patlong@contoso.com",
"roleDefinitionName": "Backup Operator",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
},
{
"principalName": "patlong@contoso.com",
"roleDefinitionName": "Virtual Machine Contributor",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales"
},
...
]
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 az role assignment list. Pour obtenir l’ID d’abonnement, accédez au panneau Abonnements du portail Azure ou utilisez az account list.
az role assignment list --scope "/subscriptions/{subscriptionId}"
Example:
az role assignment list --scope "/subscriptions/00000000-0000-0000-0000-000000000000" --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
{
"principalName": "admin@contoso.com",
"roleDefinitionName": "Owner",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
},
{
"principalName": "Subscription Admins",
"roleDefinitionName": "Owner",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
},
{
"principalName": "alain@contoso.com",
"roleDefinitionName": "Reader",
"scope": "/subscriptions/00000000-0000-0000-0000-000000000000"
},
...
]
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 az role assignment list. Pour obtenir l’ID du groupe d’administration, accédez au panneau Groupes d’administration dans le portail Azure ou utilisez az account management-group list.
az role assignment list --scope /providers/Microsoft.Management/managementGroups/{groupId}
Example:
az role assignment list --scope /providers/Microsoft.Management/managementGroups/sales-group --output json --query '[].{principalName:principalName, roleDefinitionName:roleDefinitionName, scope:scope}'
[
{
"principalName": "admin@contoso.com",
"roleDefinitionName": "Owner",
"scope": "/providers/Microsoft.Management/managementGroups/sales-group"
},
{
"principalName": "alain@contoso.com",
"roleDefinitionName": "Reader",
"scope": "/providers/Microsoft.Management/managementGroups/sales-group"
}
]
Lister les attributions de rôles pour une identité managée
Effectuez les étapes suivantes :
Récupérez l’ID du principal de l’identité managée affectée par le système ou par l’utilisateur.
Pour obtenir l’ID du principal d’une identité managée affectée par l’utilisateur, vous pouvez utiliser az ad sp list ou az identity list.
az ad sp list --display-name "{name}" --query [].id --output tsv
Pour obtenir l’ID du principal d’une identité managée affectée par le système, vous pouvez utiliser az ad sp list.
az ad sp list --display-name "{vmname}" --query [].id --output tsv
Pour lister les attributions de rôles, utilisez az role assignment list.
Par défaut, seules les attributions de rôles de l'abonnement actuel sont affichées. Pour afficher les attributions de rôles de l’abonnement actuel et antérieur, ajoutez le paramètre
--all
. Pour afficher les attributions de rôles héritées, ajoutez le paramètre--include-inherited
.az role assignment list --assignee {objectId}