Configurar el ámbito de la revisión de acceso mediante la API Graph Microsoft

La API de revisiones de acceso de Azure AD permite revisar mediante programación el acceso que los usuarios, las entidades de servicio o los grupos tienen a los recursos de Azure AD.

Los recursos que se van a revisar se configuran en la propiedad scope del recurso access reviews accessReviewScheduleDefinition. Esta propiedad es del tipo accessReviewScope, un tipo abstracto heredado por los siguientes recursos que se pueden usar para configurar recursos o grupos de recursos con los que se revisará el acceso.

Recurso Descripción Escenarios de ejemplo
accessReviewQueryScope Se aplica mejor al revisar el conjunto completo o subconjunto de entidades de seguridad que tienen acceso a un recurso o grupo de recursos relacionados.
  • Pertenencia a usuarios asignados a un grupo.
  • Acceso de usuario invitado a un grupo.
  • Acceso de usuario invitado a todos los Microsoft 365 de un inquilino.
  • Entidades de servicio asignadas a roles con privilegios.
  • Acceso de entidad de seguridad de usuario y servicio a paquetes de acceso de administración de derechos.
accessReview QueUsersQueryScope Heredado de accessReviewQueryScope. Se usa cuando solo se revisan los usuarios inactivos. Su estado inactivo se especifica mediante la propiedad inactiveDuration.
  • Pertenencia a grupos solo de usuarios inactivos.
    principalResourceMembershipsScope Se aplica mejor para revisar el acceso de las entidades de seguridad a los recursos donde se configuran grupos únicos de entidades de seguridad y recursos.
    • Revisar el acceso de 3 entidades de seguridad específicas en 1 Microsoft 365 y 1 rol de Azure AD con privilegios.

      En este artículo, usará estos tipos de accessReviewScope para configurar una amplia variedad de recursos de Azure AD como ámbito de la revisión de acceso. Esto puede ayudarle a automatizar la revisión proactiva y mantener el control sobre el acceso a los recursos de su organización.

      Usar accessReviewQueryScope para configurar el ámbito

      Para configurar el ámbito mediante el tipo accessReviewQueryScope, establezca los valores de sus propiedades query, queryRoot y queryType. Para obtener descripciones de estas propiedades, consulte accessReviewQueryScope resource type.

      Ejemplo 1: Revisar todos los usuarios asignados a un grupo

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

      Para revisar solo los usuarios inactivos asignados al grupo:

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

      Ejemplo 2: Revisar usuarios invitados asignados a un grupo

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

      Ejemplo 3: Revisar los usuarios invitados asignados a todos Microsoft 365 grupos

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

      Dado que esta revisión se aplica a todos los Microsoft 365, configure instanceEnumerationScope para especificar los Microsoft 365 que se deben revisar.

      Ejemplo 4: Revisión de todos los usuarios invitados asignados a todos los Teams

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

      Dado que esta revisión se aplica Teams todos los grupos de Microsoft 365 habilitados para Teams, configure instanceEnumerationScope para especificar los grupos de Microsoft 365 habilitados para Teams para revisar.

      Ejemplo 5: Revisar el acceso de todos los usuarios invitados inactivos a todos los grupos

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

      Dado que esta revisión se aplica a los usuarios inactivos, use el recurso accessReview QueUsersQueryScope y especifique la propiedad @odata.type con el valor #microsoft.graph.accessReviewInactiveUsersQueryScope .

      Ejemplo 6: Revisión de todos los usuarios invitados inactivos asignados a todos los equipos

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

      Dado que esta revisión se aplica a todos los equipos, configure la propiedad instanceEnumerationScope para especificar todos los equipos.

      Ejemplo 7: Revisión de la asignación de paquetes de acceso de administración de derechos

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

      Ejemplo 8: Revisión de todas las entidades de servicio asignadas a un rol con privilegios

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

      Ejemplo 9: Revisión de todos los usuarios asignados a un rol con privilegios (se incluyen todas las asignaciones activas y elegibles)

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

      Ejemplo 10: Revisión de todos los usuarios con asignación elegible a un rol con privilegios

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

      Ejemplo 11: Revisión de todos los usuarios con asignación activa a un rol con privilegios

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

      Usar principalResourceMembershipsScope para configurar el ámbito

      El principalResourceMembershipsScope expone las propiedades principalScopes y resourceScopes para admitir opciones de configuración más personalizadas para el ámbito de accessReviewScheduleDefinition. Esto incluye revisar el acceso de varias entidades de seguridad o grupos de entidades de seguridad a varios recursos.

      Ejemplo 12: Revisar el acceso de todos los usuarios invitados inactivos a todos los grupos

      "scope": {
          "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
          "principalScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
                  "query": "/users?$filter=(userType eq 'Guest')",
                  "queryType": "MicrosoftGraph",
                  "inactiveDuration": "P30D"
              }
          ],
          "resourceScopes": [
              {
                  "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                  "query": "/groups",
                  "queryType": "MicrosoftGraph"
              }
          ]
      }
      

      En este ejemplo, las entidades de seguridad son todos los usuarios invitados inactivos con el período de su inactividad calculado como 30 días a partir de la fecha de inicio de la instancia de revisión de acceso.

      Ejemplo 13: Revisar el acceso de todos los usuarios invitados a un rol de directorio

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

      Pasos siguientes