List transitiveRoleAssignment

Espace de noms: microsoft.graph

Importante

Les API sous la version /beta dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .

Obtenez la liste des objets unifiedRoleAssignment directs et transitifs pour un principal spécifique. Par exemple, si un utilisateur se voit attribuer un rôle Microsoft Entra par le biais de l’appartenance au groupe, l’attribution de rôle est transitive et cette demande répertorie l’ID du groupe en tant que principalId. Les résultats peuvent également être filtrés par roleDefinitionId et directoryScopeId. Pris en charge uniquement pour le fournisseur d’annuaire (Microsoft Entra ID).

Pour plus d’informations, consultez Utiliser les groupes Microsoft Formations pour gérer les attributions de rôles.

Remarque

Cette demande peut avoir des retards de réplication pour les attributions de rôles qui ont été récemment créées, mises à jour ou supprimées.

Cette API est disponible dans les déploiements de cloud national suivants.

Service global Gouvernement des États-Unis L4 Us Government L5 (DOD) Chine gérée par 21Vianet

Autorisations

Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.

Type d’autorisation Autorisations avec privilèges minimum Autorisations privilégiées plus élevées
Déléguée (compte professionnel ou scolaire) RoleManagement.Read.Directory Directory.Read.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.Directory
Déléguée (compte Microsoft personnel) Non prise en charge. Non prise en charge.
Application RoleManagement.Read.Directory Directory.Read.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.Directory

Requête HTTP

Pour répertorier les attributions de rôles transitives pour un fournisseur d’annuaires :

GET /roleManagement/directory/transitiveRoleAssignments?$filter=principalId eq '{principalId}'

Paramètres de requête

Cette méthode nécessite le $filter paramètre de requête OData (eq) pour étendre les attributions de rôles transitives à un principal. Vous pouvez limiter l’étendue de la requête en développant le filtre à d’autres propriétés prises en charge. Cette méthode prend également en charge les $count paramètres de requête OData et $select pour vous aider à personnaliser la réponse. Pour des informations générales, consultez paramètres de la requête OData.

En-têtes de demande

Nom Description
Autorisation Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation.
ConsistencyLevel éventuellement. Cet en-tête, $count, et $filter sont obligatoires. Pour plus d’informations sur l’utilisation de ConsistencyLevel, $count, et $filter, consultez Fonctionnalités de requête avancées sur les objets d’annuaire.

Corps de la demande

N’indiquez pas le corps de la demande pour cette méthode.

Réponse

Si elle réussit, cette méthode renvoie un 200 OK code de réponse et une collection d’objets unifiedRoleAssignment dans le corps de la réponse.

Si votre requête n’inclut pas l’en-tête ConsistencyLevel défini sur eventual, cette méthode retourne 404 Not Found le code de réponse.

Exemples

Pour les exemples de cette section, envisagez le scénario d’attribution de rôle suivant. Un utilisateur nommé Alice a des attributions de rôles directes et transitives comme suit :

Utilisateur Groupe Role Portée ID d’attribution de rôle
Alice
2c7936bc-3517-40f3-8eda-4806637b6516
Administrateur d’utilisateurs
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA1
857708a7-b5e0-44f9-bfd7-53531d72a739
G1
ae2fc327-4c71-48ed-b6ca-f48632186510
(Alice est membre)
Administrateur d’utilisateurs
fe930be7-5e62-47db-91af-98c3a49a38b1
Tenant RA2
8a021d5f-7351-4713-aab4-b088504d476e
G2
6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8
(Alice est membre)
Administrateur du support technique
729827e3-9c14-49f7-bb1b-9608f156bbb8
Unité administrative (AU1)
26e79164-0c5c-4281-8c5b-be7bc7809fb2
RA3
6cc86637-13c8-473f-afdc-e0e65c9734d2
  • Alice se voit attribuer le rôle Administrateur d’utilisateurs directement au niveau de l’étendue du locataire avec attribution de rôle RA1.
  • Alice est membre d’un groupe G1 et G1 se voit attribuer le rôle Administrateur d’utilisateurs dans l’étendue du locataire avec attribution de rôle RA2.
  • Alice est également membre du groupe G2 et G2 se voit attribuer le rôle Administrateur du support technique dans une étendue AU1 d’unité administrative avec attribution de rôle RA3.

Exemple 1 : Obtenir des attributions de rôles directes et transitives d’un principal

Demande

L’exemple suivant illustre une demande. Cette requête nécessite que l’en-tête ConsistencyLevel soit défini sur eventual et les paramètres de $count=true requête et $filter . Pour plus d’informations sur l’utilisation de ConsistencyLevel, $count, et $filter, consultez Fonctionnalités de requête avancées sur les objets d’annuaire.

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516'
ConsistencyLevel: eventual

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité. Toutes les propriétés sont renvoyées à partir d’un appel réel.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "ae2fc327-4c71-48ed-b6ca-f48632186510",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}

Exemple 2 : Obtenir des affectations directes et transitives d’un principal, mais uniquement des définitions de rôle spécifiques

Demande

L’exemple suivant illustre une demande. Cette requête nécessite que l’en-tête ConsistencyLevel soit défini sur eventual et les paramètres de $count=true requête et $filter . Pour plus d’informations sur l’utilisation de ConsistencyLevel, $count, et $filter, consultez Fonctionnalités de requête avancées sur les objets d’annuaire.

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'
ConsistencyLevel: eventual

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité. Toutes les propriétés sont renvoyées à partir d’un appel réel.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "857708a7-b5e0-44f9-bfd7-53531d72a739",
            "principalId": "2c7936bc-3517-40f3-8eda-4806637b6516",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        },
        {
            "id": "8a021d5f-7351-4713-aab4-b088504d476e",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/",
            "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1"
        }
    ]
}

Exemple 3 : Obtenir des attributions de rôles directes et transitives d’un principal, mais uniquement une unité administrative délimitée

Demande

L’exemple suivant illustre une demande. Cette requête nécessite que l’en-tête ConsistencyLevel soit défini sur eventual et les paramètres de $count=true requête et $filter . Pour plus d’informations sur l’utilisation de ConsistencyLevel, $count, et $filter, consultez Fonctionnalités de requête avancées sur les objets d’annuaire.

GET https://graph.microsoft.com/beta/roleManagement/directory/transitiveRoleAssignments?$count=true&$filter=principalId eq '2c7936bc-3517-40f3-8eda-4806637b6516' and directoryScopeId eq '/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2'
ConsistencyLevel: eventual

Réponse

L’exemple suivant illustre la réponse.

Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité. Toutes les propriétés sont renvoyées à partir d’un appel réel.

HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/transitiveRoleAssignments",
    "value": [
        {
            "id": "6cc86637-13c8-473f-afdc-e0e65c9734d2",
            "principalId": "6ffb34b8-5e6d-4727-a7f9-93245e7f6ea8",
            "directoryScopeId": "/administrativeUnits/26e79164-0c5c-4281-8c5b-be7bc7809fb2",
            "roleDefinitionId": "729827e3-9c14-49f7-bb1b-9608f156bbb8"
        }
    ]
}