Répertorier les attributions de rôle Azure à l’aide de l’API REST
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 en utilisant l’API REST.
Notes
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é.
Notes
Pour plus d’informations sur la visualisation ou la suppression de données personnelles, consultez Demandes générales de la personne concernée pour le RGPD, Demandes de la personne concernée pour le RGPD sur Azure ou Demandes de la personne concernée pour le RGPD sur Windows, en fonction de votre domaine et de vos besoins spécifiques. Pour plus d’informations sur le Règlement général sur la protection des données (RGPD), consultez la section relative au RGPD du Centre de gestion de la confidentialité de Microsoft et la section relative au RGPD du Portail d’approbation de services.
Vous devez utiliser la version suivante :
2015-07-01
ou ultérieur2022-04-01
ou version ultérieure pour inclure des conditions
Pour plus d’informations, consultez Versions des API REST Azure RBAC.
Dans Azure RBAC, vous répertoriez les attributions de rôles pour répertorier les accès. Pour répertorier les attributions de rôles, utilisez l’une des attributions de rôles des API Rest Get ou List. Pour affiner vos résultats, vous spécifiez une étendue et un filtre facultatif.
Commencez par la requête suivante :
GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
Dans l’URI, remplacez {scope} par l’étendue dont vous souhaitez lister les attributions de rôle.
Étendue Type providers/Microsoft.Management/managementGroups/{groupId1}
Groupe d’administration subscriptions/{subscriptionId1}
Abonnement subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1
Resource group subscriptions/{subscriptionId1}/resourceGroups/myresourcegroup1/providers/Microsoft.Web/sites/mysite1
Ressource Dans l’exemple précédent, microsoft.web est un fournisseur de ressources qui fait référence à une instance App Service. De la même façon, vous pouvez utiliser tout autre fournisseur de ressources et spécifier l’étendue. Pour plus d’informations, consultez Fournisseurs et types de ressources Azure et Opérations du fournisseur de ressources Azure prises en charge.
Remplacez {filter} par la condition que vous voulez appliquer pour filtrer la liste des attributions de rôle.
Filter Description $filter=atScope()
Répertorie les attributions de rôles pour l’étendue spécifiée seulement, sans y inclure les attributions de rôles à des étendues secondaires. $filter=assignedTo('{objectId}')
Répertorie les attributions de rôles pour un utilisateur ou un principal de service spécifié.
Si l’utilisateur est membre d’un groupe auquel un rôle a été attribué, cette attribution de rôle est également répertoriée. Ce filtre est transitif pour les groupes, ce qui signifie que si l’utilisateur est membre d’un groupe et que ce groupe est membre d’un autre groupe auquel un rôle a été attribué, cette attribution de rôle est également répertoriée.
Ce filtre accepte uniquement un ID d’objet pour un utilisateur ou principal de service. Vous ne pouvez pas transmettre un ID d’objet pour un groupe.$filter=atScope()+and+assignedTo('{objectId}')
Liste les attributions de rôles pour l’utilisateur ou le principal de service spécifié, et au niveau de l’étendue spécifiée. $filter=principalId+eq+'{objectId}'
Répertorie les attributions de rôles pour un utilisateur, un groupe ou un principal de service spécifié.
La requête suivante répertorie toutes les attributions de rôles pour l’utilisateur spécifié au niveau de l’étendue de l’abonnement :
GET https://management.azure.com/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter=atScope()+and+assignedTo('{objectId1}')
Voici un exemple de sortie :
{
"value": [
{
"properties": {
"roleDefinitionId": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"principalId": "{objectId1}",
"principalType": "User",
"scope": "/subscriptions/{subscriptionId1}",
"condition": null,
"conditionVersion": null,
"createdOn": "2022-01-15T21:08:45.4904312Z",
"updatedOn": "2022-01-15T21:08:45.4904312Z",
"createdBy": "{createdByObjectId1}",
"updatedBy": "{updatedByObjectId1}",
"delegatedManagedIdentityResourceId": null,
"description": null
},
"id": "/subscriptions/{subscriptionId1}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId1}",
"type": "Microsoft.Authorization/roleAssignments",
"name": "{roleAssignmentId1}"
}
]
}