Partager via


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.

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é.

Remarque

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.

Prérequis

Vous devez utiliser la version suivante :

  • 2015-07-01 ou ultérieur
  • 2022-04-01 ou version ultérieure pour inclure des conditions

Pour plus d’informations, consultez Versions des API REST Azure RBAC.

Répertorier les attributions de rôles

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.

  1. Commencez par la requête suivante :

    GET https://management.azure.com/{scope}/providers/Microsoft.Authorization/roleAssignments?api-version=2022-04-01&$filter={filter}
    
  2. 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.

  3. 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}"
        }
    ]
}

Étapes suivantes