Partager via


Configurer l’étendue des révisions d’accès à l’aide des API de révisions d’accès

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

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

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

      Dans cet article, vous allez apprendre à é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 est appliquée 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 aux seuls 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 est appliquée à tous les groupes Microsoft 365, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 à examiner. Groupes d’appartenance dynamique ou d’attribution de rôle ne sont pas incluses 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 est appliquée à tous les groupes Microsoft 365, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 à examiner. Groupes d’appartenance dynamique ou d’attribution de rôle ne sont pas incluses 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 est appliquée 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 est appliquée à tous les groupes Microsoft 365, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 à examiner. Groupes d’appartenance dynamique ou d’attribution de rôle ne sont pas incluses 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 est appliquée à tous les groupes Microsoft 365 associés à Teams, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 associés à Teams à examiner. Groupes d’appartenance dynamique ou d’attribution de rôle ne sont pas incluses dans cette révision.

      Cette révision n’inclut pas 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 est appliquée à tous les groupes Microsoft 365 associés à Teams, configurez instanceEnumerationScope pour spécifier les groupes Microsoft 365 associés à Teams à examiner. Groupes d’appartenance dynamique ou d’attribution de rôle ne sont pas incluses dans cette révision.

      Cette révision n’inclut pas 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 correspond à tous les utilisateurs qui sont membres d’une équipe ou qui sont 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, vous devez spécifier 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 phase et non pour les révisions d’accès en plusieurs étapes.

      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
              }
          ]
      }