Partager via


Configurer l’étendue de révision d’accès à l’aide des API Microsoft Graph

Les API de révisions d’accès Microsoft Entra vous permettent de vérifier par programmation l’accès dont les utilisateurs, les principaux de service ou les groupes ont besoin pour Microsoft Entra ressources dans votre locataire.

Configurez les ressources Microsoft Entra à examiner dans la propriété d’étendue de la ressource accessReviewScheduleDefinition. Les ressources suivantes affichent les paramètres permettant de configurer l’étendue de la révision d’accès :

Resource Description Exemples de scénarios de révision d’accès
accessReviewQueryScope Mieux applicable lors de l’examen de l’ensemble complet ou du sous-ensemble de principaux qui ont accès à une ressource ou à un groupe de ressources associées.
  • Appartenance d’utilisateurs affectés à un groupe, membres directs ou membres directs et transitifs.
  • Accès utilisateur invité à un groupe.
  • Accès utilisateur invité à tous les groupes Microsoft 365.
  • Principaux de service affectés à des rôles privilégiés.
  • Accès de l’utilisateur et du principal de service aux packages d’accès gestion des droits d’utilisation.
accessReviewInactiveUsersQueryScope Hérite de accessReviewQueryScope. Utilisé lorsque seuls les utilisateurs inactifs sont examinés. Leur status inactive est spécifiée par la propriété inactiveDuration.
  • Appartenance à un groupe pour les utilisateurs inactifs uniquement
    principalResourceMembershipsScope Hérite d’accessReviewScope. Mieux applicable pour passer en revue l’accès des principaux aux ressources où vous configurez des pools uniques de principaux et de ressources.
    • Accès pour trois principaux spécifiques à un groupe Microsoft 365 et à un rôle Microsoft Entra privilégié.

      Cet article explique comment étendre votre révision d’accès en configurant les trois types de ressources dérivés.

      Configurer l’étendue à l’aide de accessReviewQueryScope et accessReviewInactiveUsersQueryScope

      Pour configurer l’étendue à l’aide du type de ressource accessReviewQueryScope, définissez les valeurs de ses propriétés query, queryRoot et queryType .

      accessReviewInactiveUsersQueryScope nécessite toutes les propriétés d’accessReviewQueryScope et inclut une propriété inactiveDuration .

      Exemples

      Remarque

      Les exemples de cette section montrent les seules combinaisons valides de principalScopes et resourceScopes que microsoft API Graph prend en charge.

      Exemple 1 : Passer en revue tous les utilisateurs avec une affectation directe et transitive à un groupe

      Exemple de scénario : Supposons que le groupe A possède trois membres directs : les utilisateurs AU1 et AU2 et le groupe G1. Le groupe G1, quant à lui, a deux membres : les utilisateurs GU1 et GU2. Les utilisateurs GU1 et GU2 sont donc des membres transitifs du groupe imbriqué G1. Quatre objets sont inclus dans la révision : utilisateurs AU1, AU2, GU1 et GU2.

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "/groups/{groupId}/transitiveMembers",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 2 : Passer en revue tous les utilisateurs inactifs avec une affectation directe et transitive à un groupe

      Étant donné que cette révision s’applique aux utilisateurs inactifs, utilisez la ressource accessReviewInactiveUsersQueryScope et spécifiez la propriété de type @odata.type avec la valeur #microsoft.graph.accessReviewInactiveUsersQueryScope.

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
          "inactiveDuration": "P30D",
          "query": "/groups/{groupId}/transitiveMembers",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 3 : passer en revue tous les utilisateurs invités avec une affectation directe et transitive à un groupe

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "/groups/{groupId}/transitiveMembers/?$filter=(userType eq 'Guest')",    
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 4 : Passer en revue tous les utilisateurs et groupes avec affectation directe à un groupe

      L’exemple suivant limite la révision pour diriger les membres du groupe qui sont des utilisateurs ou d’autres groupes. Dans cette étendue :

      • Les utilisateurs directs sont inclus dans la révision.
      • Les groupes directs sont inclus dans la révision.
      • Les membres transitifs des groupes, c’est-à-dire les membres des groupes imbriqués, ne sont pas inclus dans la révision.

      Exemple de scénario : Supposons que le groupe A possède trois membres directs : les utilisateurs AU1 et AU2 et le groupe G1. Le groupe G1, quant à lui, a deux membres : les utilisateurs GU1 et GU2. Les utilisateurs GU1 et GU2 sont donc des membres transitifs du groupe imbriqué G1. Seuls trois objets sont ciblés dans cette revue, les utilisateurs AU1 et AU2, et le groupe G1.

      "scope": {
          "query": "/groups/{groupId}/members",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 5 : Passer en revue tous les utilisateurs ayant une affectation directe à un groupe Microsoft 365

      Étant donné que cette révision s’applique à tous les groupes Microsoft 365, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 à examiner. Les groupes dont l’appartenance est dynamique ou qui peuvent être attribués à un rôle ne sont pas inclus dans cette révision.

      "instanceEnumerationScope": {
          "query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified'))",
          "queryType": "MicrosoftGraph"
      },
      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "./members/microsoft.graph.user",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 6 : Passer en revue tous les utilisateurs invités avec affectation directe à un groupe Microsoft 365

      Étant donné que cette révision s’applique à tous les groupes Microsoft 365, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 à examiner. Les groupes dont l’appartenance est dynamique ou qui peuvent être attribués à un rôle ne sont pas inclus dans cette révision.

      "instanceEnumerationScope": {
          "query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified'))",
          "queryType": "MicrosoftGraph"
      },
      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 7 : Passer en revue tous les utilisateurs invités inactifs avec affectation directe à un groupe Microsoft 365

      Étant donné que cette révision s’applique aux utilisateurs inactifs, utilisez la ressource accessReviewInactiveUsersQueryScope et spécifiez la propriété de type @odata.type avec la valeur #microsoft.graph.accessReviewInactiveUsersQueryScope. En outre, étant donné que cette révision s’applique à tous les groupes Microsoft 365, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 à examiner. Les groupes dont l’appartenance est dynamique ou qui peuvent être attribués à un rôle ne sont pas inclus dans cette révision.

      "instanceEnumerationScope": {
          "query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified'))",
          "queryType": "MicrosoftGraph"
      },
      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
          "query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
          "queryType": "MicrosoftGraph",
          "inactiveDuration": "P30D"
      }
      

      Exemple 8 : Passer en revue tous les utilisateurs invités avec affectation directe à des équipes, à l’exception des équipes avec des canaux partagés

      Étant donné que cette révision s’applique à tous les groupes Microsoft 365 associés à Teams, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 associés à Teams à examiner. Les groupes dont l’appartenance est dynamique ou qui peuvent être attribués à un rôle ne sont pas inclus dans cette révision.

      Cette révision exclut les utilisateurs de connexion directe B2B dans les équipes avec des canaux partagés. Pour inclure des utilisateurs de connexion directe B2B dans des équipes avec des canaux partagés, consultez Exemple 14 : Passer en revue tous les utilisateurs affectés à une équipe, y compris les utilisateurs de connexion directe B2B dans une équipe avec des canaux partagés.

      "instanceEnumerationScope": {
          "query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified') and resourceProvisioningOptions/Any(x:x eq 'Team')')",
          "queryType": "MicrosoftGraph"
      },
      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 9 : Passer en revue tous les utilisateurs invités inactifs avec affectation directe à des équipes

      Étant donné que cette révision s’applique à tous les groupes Microsoft 365 associés à Teams, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 associés à Teams à examiner. Les groupes dont l’appartenance est dynamique ou qui peuvent être attribués à un rôle ne sont pas inclus dans cette révision.

      Cette révision exclut les utilisateurs de connexion directe B2B dans les équipes avec des canaux partagés. Pour inclure des utilisateurs de connexion directe B2B dans des équipes avec des canaux partagés, consultez Exemple 14 : Passer en revue tous les utilisateurs affectés à une équipe, y compris les utilisateurs de connexion directe B2B dans une équipe avec des canaux partagés.

      "instanceEnumerationScope": {
          "query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified') and resourceProvisioningOptions/Any(x:x eq 'Team')')",
          "queryType": "MicrosoftGraph"
      },
      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
          "query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
          "queryType": "MicrosoftGraph",
          "inactiveDuration": "P30D"
      }
      

      Exemple 10 : Passer en revue toutes les attributions aux packages d’accès gestion des droits d’utilisation

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "/identityGovernance/entitlementManagement/accessPackageAssignments?$filter=(accessPackageId eq '{package id}' and assignmentPolicyId eq '{id}' and catalogId eq 'id')",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 11 : Passer en revue tous les principaux de service affectés à un rôle privilégié

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "/roleManagement/directory/roleAssignmentScheduleInstances?$expand=principal&$filter=(isof(principal,'microsoft.graph.servicePrincipal') and roleDefinitionId eq '{role ID}')",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 12 : Passer en revue les utilisateurs affectés à un rôle d’administrateur Microsoft Entra

      Exemple 12.1 : Passer en revue tous les utilisateurs avec des affectations actives ou éligibles à un rôle d’annuaire

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "/roleManagement/directory/roleDefinitions/{role ID}",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 12.2 : Passer en revue tous les utilisateurs avec des affectations éligibles à un rôle d’annuaire

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "/roleManagement/directory/roleEligibilityScheduleInstances?$expand=principal&$filter=(isof(principal,'microsoft.graph.user') and roleDefinitionId eq '{role ID}')",
          "queryType": "MicrosoftGraph"
      }
      

      Exemple 12.2 : Passer en revue tous les utilisateurs avec des affectations actives à un rôle d’annuaire

      "scope": {
          "@odata.type": "#microsoft.graph.accessReviewQueryScope",
          "query": "/roleManagement/directory/roleAssignmentScheduleInstances?$expand=principal&$filter=(assignmentType eq 'Assigned' and isof(principal,'microsoft.graph.user') and roleDefinitionId eq '{role ID}')",
          "queryType": "MicrosoftGraph"
      }
      

      Utiliser principalResourceMembershipsScope pour configurer l’étendue

      Le principalResourceMembershipsScope expose les propriétés principalScopes et resourceScopes pour prendre en charge des options de configuration plus personnalisées pour l’étendue de l’objet accessReviewScheduleDefinition . Les fonctionnalités incluent l’examen de l’accès de plusieurs principaux ou groupes de principaux à plusieurs ressources.

      Exemple 13 : Passer en revue tous les utilisateurs affectés à une équipe, y compris les utilisateurs de connexion directe B2B dans une équipe avec des canaux partagés

      Dans cet exemple, l’étendue de révision d’accès inclut tous les utilisateurs qui sont membres d’une équipe ou affectés à un canal partagé au sein de l’équipe. Ces membres incluent les utilisateurs internes, les utilisateurs directs et transitifs, les utilisateurs B2B Collaboration et les utilisateurs de connexion directe B2B.

      "scope": {
          "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
          "principalScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/users",
                  "queryType": "MicrosoftGraph",
                  "queryRoot": null
              }
          ],
          "resourceScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/groups/{groupId}/transitiveMembers",
                  "queryType": "MicrosoftGraph",
                  "queryRoot": null
              },
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/teams/{groupId}/channels?$filter=(membershipType eq 'shared')",
                  "queryType": "MicrosoftGraph",
                  "queryRoot": null
              }
          ]
      }
      

      Pour passer en revue les utilisateurs et les équipes de connexion directe B2B au sein de canaux partagés, spécifiez le /teams/{groupId}/channels?$filter=(membershipType eq 'shared') modèle de requête dans l’objet resourceScopes. Une révision de toutes les équipes , comme les exemples 8 et 9, n’inclut pas les utilisateurs et les équipes de connexion directe B2B au sein de canaux partagés.

      Remarque

      La révision d’accès des utilisateurs et des équipes de connexion directe B2B est prise en charge uniquement pour les révisions d’accès en une seule étape, et non pour les révisions d’accès multiphases.

      Exemple 14 : Passer en revue tous les utilisateurs invités affectés à un rôle d’annuaire

      "scope": {
          "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
          "principalScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/users?$filter=(userType eq 'Guest')",
                  "queryType": "MicrosoftGraph"
              }
          ],
          "resourceScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/roleManagement/directory/roleDefinitions/{role id}",
                  "queryType": "MicrosoftGraph"
              }
          ]
      }
      

      Exemple 15 : Passer en revue tous les utilisateurs avec une affectation directe ou transitive à une application

      "scope": {
          "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
          "principalScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/v1.0/users",
                  "queryType": "MicrosoftGraph",
                  "queryRoot": null
              },
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "./members/microsoft.graph.user",
                  "queryType": "MicrosoftGraph",
                  "queryRoot": "/v1.0/groups"
              }
          ],
          "resourceScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/v1.0/servicePrincipals/{servicePrincipalId}",
                  "queryType": "MicrosoftGraph",
                  "queryRoot": null
              }
          ]
      }