Revisión del acceso a roles administrativos mediante las API de revisiones de acceso

La API de revisiones de acceso de Microsoft Graph permite a las organizaciones auditar y dar fe del acceso que las identidades (también denominadas entidades de seguridad) se asignan a los recursos de la organización. Uno de los recursos más confidenciales de una organización son los roles administrativos. Con la API de revisiones de acceso, las organizaciones pueden dar fe periódicamente de las entidades de seguridad que tienen acceso a roles administrativos según la directiva de la organización.

Contoso debe asegurarse de que solo a los asignados adecuados se les asignen los roles administrativos. Los auditores del sistema también deben auditar el historial de revisión de acceso para informar sobre la eficacia de los controles internos de Contoso.

En este tutorial, aprenderá a:

  • Cree una revisión de acceso periódica de entidades de seguridad con roles de Microsoft Entra activos o aptos.
  • Investigue las decisiones que se aplican a las revisiones de acceso.
  • Generación de un informe de historial de revisión de acceso

Requisitos previos

Para completar este tutorial, necesita los siguientes recursos y privilegios:

  • Un inquilino de Microsoft Entra en funcionamiento con una licencia Microsoft Entra ID P2 o Gobierno de Microsoft Entra ID habilitada.
  • Inicie sesión en un cliente de API, como Graph Explorer , para llamar a Microsoft Graph con una cuenta que tenga al menos el rol Administrador de gobernanza de identidades .
  • Entidades de seguridad, como un grupo de seguridad y un usuario individual, con asignaciones activas o aptas a un rol de Microsoft Entra, como el rol Administrador de usuarios. Sus asignaciones son el ámbito de la revisión de acceso. Para asignar roles administrativos, consulte Tutorial: Uso de la API de Privileged Identity Management (PIM) para asignar roles de Microsoft Entra.
  • Concédese los siguientes permisos delegados: AccessReview.ReadWrite.All.

Paso 1: Crear una revisión de acceso de las asignaciones de roles

La siguiente definición de programación de revisión de acceso tiene la siguiente configuración:

  • El ámbito de la revisión es grupos y usuarios (propiedad principalScopes ) con acceso al rol Administrador de usuarios.
    • Una revisión de acceso se puede limitar a varios tipos de entidad de seguridad (usuarios y grupos o entidades de servicio) y solo a un recurso. Para revisar el acceso a varios roles de Microsoft Entra, cree revisiones de acceso independientes.
    • roleDefinitionId fe930be7-5e62-47db-91af-98c3a49a38b1 es el identificador de plantilla global para el rol Microsoft Entra administrador de usuarios.
  • Las asignaciones activas y aptas para el rol Administrador de usuarios están en revisión.
  • El revisor es un usuario individual. Puede asignarse a sí mismo como revisor.
  • El aprobador debe proporcionar una justificación antes de aprobar el acceso al rol de Microsoft Entra.
  • La decisión predeterminada es None cuando los revisores no responden a la solicitud de revisión de acceso antes de que expire la instancia.
  • autoApplyDecisionsEnabled no está establecido y el falsevalor predeterminado es . En este caso, una vez completada la revisión, las decisiones no se aplican automáticamente, por lo que debe aplicarlas manualmente.
  • La revisión se repite cada tres meses durante un período de tres días y no termina.

Solicitud

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions
Content-type: application/json

{
    "displayName": "Review access of users and groups to privileged roles",
    "descriptionForAdmins": "Review access of users and groups to privileged roles",
    "scope": {
        "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
        "principalScopes": [
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/users",
                "queryType": "MicrosoftGraph"
            },
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/groups",
                "queryType": "MicrosoftGraph"
            }
        ],
        "resourceScopes": [
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
                "queryType": "MicrosoftGraph"
            }
        ]
    },
    "reviewers": [
        {
            "query": "/users/2560f739-2e0e-4550-9fa0-1a1e67ae0ab8",
            "queryType": "MicrosoftGraph"
        }
    ],
    "settings": {
        "mailNotificationsEnabled": true,
        "reminderNotificationsEnabled": true,
        "justificationRequiredOnApproval": true,
        "defaultDecisionEnabled": false,
        "defaultDecision": "None",
        "instanceDurationInDays": 1,
        "recommendationsEnabled": false,
        "recurrence": {
            "pattern": {
                "type": "absoluteMonthly",
                "interval": 3
            },
            "range": {
                "type": "noEnd",
                "startDate": "2024-03-25"
            }
        }
    }
}

Respuesta

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions/$entity",
    "id": "02800b79-1a6f-40b7-8381-c0bebc3763bd",
    "displayName": "Review access of users and groups to privileged roles",
    "status": "NotStarted",
    "descriptionForAdmins": "Review access of users and groups to privileged roles",
    "scope": {
        "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
        "principalScopes": [
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/users",
                "queryType": "MicrosoftGraph"
            },
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/groups",
                "queryType": "MicrosoftGraph"
            }
        ],
        "resourceScopes": [
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
                "queryType": "MicrosoftGraph"
            }
        ]
    },
    "reviewers": [
        {
            "query": "/users/2560f739-2e0e-4550-9fa0-1a1e67ae0ab8",
            "queryType": "MicrosoftGraph"
        }
    ],
    "fallbackReviewers": [],
    "settings": {
        "mailNotificationsEnabled": true,
        "reminderNotificationsEnabled": true,
        "justificationRequiredOnApproval": true,
        "defaultDecisionEnabled": false,
        "defaultDecision": "None",
        "instanceDurationInDays": 1,
        "autoApplyDecisionsEnabled": false,
        "recommendationsEnabled": false,
        "recommendationLookBackDuration": null,
        "decisionHistoriesForReviewersEnabled": false,
        "recurrence": {
            "pattern": {
                "type": "absoluteMonthly",
                "interval": 3,
                "month": 0,
                "dayOfMonth": 0,
                "daysOfWeek": [],
                "firstDayOfWeek": "sunday",
                "index": "first"
            },
            "range": {
                "type": "noEnd",
                "numberOfOccurrences": 0,
                "recurrenceTimeZone": null,
                "startDate": "2024-03-25",
                "endDate": null
            }
        },
        "applyActions": [],
        "recommendationInsightSettings": []
    },
    "stageSettings": [],
    "additionalNotificationRecipients": []
}

Paso 2: Recuperar instancias de la revisión de acceso

Cada instancia de revisión de acceso representa cada periodicidad con cada recurso único que se está revisando. Dado que definió una revisión de acceso periódica, el identificador de la instancia es diferente del identificador de la definición de programación en el paso 1.

Solicitud

GET https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/02800b79-1a6f-40b7-8381-c0bebc3763bd/instances

Respuesta

El estado de esta instancia de revisión de acceso es InProgress, lo que significa que la instancia de revisión está abierta para que los revisores envíen decisiones y el período de esta instancia de revisión de acceso no ha expirado. También ha recibido una notificación por correo electrónico de Microsoft Azure en la que se le solicita que realice la revisión de acceso.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions('02800b79-1a6f-40b7-8381-c0bebc3763bd')/instances",
    "@odata.count": 1,
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET identityGovernance/accessReviews/definitions('<guid>')/instances?$select=endDateTime,fallbackReviewers",
    "value": [
        {
            "id": "30f0cb53-da42-402e-8be5-9005f9c374f7",
            "startDateTime": "2024-03-25T09:38:15.177Z",
            "endDateTime": "2024-03-26T09:38:15.177Z",
            "status": "InProgress",
            "scope": {
                "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
                "principalScopes": [
                    {
                        "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                        "query": "/v1.0/users",
                        "queryType": "MicrosoftGraph"
                    },
                    {
                        "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                        "query": "/v1.0/groups",
                        "queryType": "MicrosoftGraph"
                    }
                ],
                "resourceScopes": [
                    {
                        "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                        "query": "/beta/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
                        "queryType": "MicrosoftGraph"
                    }
                ]
            },
            "reviewers": [
                {
                    "query": "/v1.0/users/2560f739-2e0e-4550-9fa0-1a1e67ae0ab8",
                    "queryType": "MicrosoftGraph"
                }
            ],
            "fallbackReviewers": []
        }
    ]
}

Paso 3: Recuperar las decisiones de revisión de acceso antes de registrar las decisiones

Antes de poder publicar decisiones, vamos a inspeccionar primero los elementos que esperan su decisión.

Solicitud

GET https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/02800b79-1a6f-40b7-8381-c0bebc3763bd/instances/30f0cb53-da42-402e-8be5-9005f9c374f7/decisions

Respuesta

En la respuesta siguiente se muestran dos elementos de decisión cada uno correspondientes a una decisión necesaria para el acceso de cada entidad de seguridad al recurso. Dado que las recomendaciones no estaban habilitadas en el paso 1, no hay ninguna recomendación disponible. Como revisor, ahora puede enviar sus decisiones para la instancia de revisión de acceso.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions('02800b79-1a6f-40b7-8381-c0bebc3763bd')/instances('30f0cb53-da42-402e-8be5-9005f9c374f7')/decisions",
    "@odata.count": 2,
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET identityGovernance/accessReviews/definitions('<guid>')/instances('<guid>')/decisions?$select=accessReviewId,appliedBy",
    "value": [
        {
            "id": "25bf64c2-2396-4efc-9bb8-e9dc39ee0441",
            "accessReviewId": "30f0cb53-da42-402e-8be5-9005f9c374f7",
            "decision": "NotReviewed",
            "applyResult": "New",
            "recommendation": "NoInfoAvailable",
            "principalLink": "https://graph.microsoft.com/v1.0/users/ad20a697-7be8-410a-bb08-207a21e6400d",
            "resourceLink": "https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
            "reviewedBy": {
                "id": "00000000-0000-0000-0000-000000000000",
                "displayName": "",
                "type": null,
                "userPrincipalName": ""
            },
            "appliedBy": {
                "id": "00000000-0000-0000-0000-000000000000",
                "displayName": "",
                "type": null,
                "userPrincipalName": ""
            },
            "resource": {
                "id": "fe930be7-5e62-47db-91af-98c3a49a38b1",
                "displayName": "User Administrator",
                "type": "directoryRole"
            },
            "principal": {
                "@odata.type": "#microsoft.graph.userIdentity",
                "id": "ad20a697-7be8-410a-bb08-207a21e6400d",
                "displayName": "Adele Vance",
                "type": "user",
                "userPrincipalName": "AdeleV@contoso.com",
                "lastUserSignInDateTime": ""
            }
        },
        {
            "id": "888007fa-1d32-4000-a359-fd1d5876a3ed",
            "accessReviewId": "30f0cb53-da42-402e-8be5-9005f9c374f7",
            "decision": "NotReviewed",
            "applyResult": "New",
            "recommendation": "NoInfoAvailable",
            "principalLink": "https://graph.microsoft.com/v1.0/groups/df434df5-5b8e-4044-9fa3-ac9d6ea45156",
            "resourceLink": "https://graph.microsoft.com/beta/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
            "reviewedBy": {
                "id": "00000000-0000-0000-0000-000000000000",
                "displayName": "",
                "type": null,
                "userPrincipalName": ""
            },
            "appliedBy": {
                "id": "00000000-0000-0000-0000-000000000000",
                "displayName": "",
                "type": null,
                "userPrincipalName": ""
            },
            "resource": {
                "id": "fe930be7-5e62-47db-91af-98c3a49a38b1",
                "displayName": "User Administrator",
                "type": "directoryRole"
            },
            "principal": {
                "id": "df434df5-5b8e-4044-9fa3-ac9d6ea45156",
                "displayName": "User Administrators",
                "type": "group"
            }
        }
    ]
}

Paso 4: Decisiones de registro

Supongamos que la directiva de empresa requiere que se conceda acceso a roles administrativos a través de grupos de seguridad y no directamente a entidades de seguridad individuales. En cumplimiento con la directiva de la empresa, se publica la decisión de denegar el acceso de Adele Vance mientras se aprueba el acceso para el grupo.

Aprobación de la asignación de roles del grupo de seguridad

En la siguiente solicitud, se aprueba el acceso para el grupo del departamento de soporte técnico de TI. La solicitud devuelve un código de respuesta 204 No Content.

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/02800b79-1a6f-40b7-8381-c0bebc3763bd/instances/30f0cb53-da42-402e-8be5-9005f9c374f7/decisions/888007fa-1d32-4000-a359-fd1d5876a3ed
Content-type: application/json

{
    "decision": "Approve",
    "justification": "The IT Helpdesk requires continued access to the User Administrator role to manage user account support requests, lifecycle, and access to resources"
}

Denegar al usuario individual su asignación de roles

En la siguiente solicitud, se deniega el acceso a Adele Vance. La solicitud devuelve un código de respuesta 204 No Content.

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/02800b79-1a6f-40b7-8381-c0bebc3763bd/instances/30f0cb53-da42-402e-8be5-9005f9c374f7/decisions/25bf64c2-2396-4efc-9bb8-e9dc39ee0441
Content-type: application/json

{
    "decision": "Deny",
    "justification": "Adele should join an allowed group to maintain access to the User Administrator role. For more details, refer to the company policy '#132487: Administrative roles'"
}

Al recuperar las decisiones de revisión de acceso (repita el paso 3), tienen la siguiente configuración:

  • La decisión de revisión de acceso para el grupo del departamento de soporte técnico de TI es Approve mientras que para Adele es Deny.
  • El objeto reviewedBy contiene los detalles como revisor.
  • applyResult significa New que las decisiones no se han aplicado.

Aunque ha registrado todas las decisiones pendientes para esta instancia, las decisiones no se han aplicado a los objetos de recurso y entidad de seguridad. Por ejemplo, Adele sigue teniendo privilegios de administrador de usuarios. Para comprobar esta asignación, ejecute la consulta https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'siguiente. Este comportamiento se debe a falseque autoApplyDecisionsEnabled se ha establecido en , no ha detenido la revisión o el período de instancia no ha finalizado.

En este tutorial, no detendrá la instancia manualmente, pero dejará que finalice automáticamente y, a continuación, aplique las decisiones.

Sugerencia

  1. Hasta que el estado de la instancia de revisión de acceso esté marcado como Completed, todavía puede cambiar las decisiones. Vuelva a ejecutar el paso 4 para aplicar diferentes decisiones para las entidades de seguridad.
  2. También puede detener manualmente la instancia de revisión de acceso para que pueda acelerar el progreso al paso 5.

Paso 5: Aplicar decisiones de revisión de acceso

Como administrador, una vez establecido el estado de la instancia de revisión de acceso en Completed, puede aplicar las decisiones. La solicitud devuelve un código de respuesta 204 No Content.

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/02800b79-1a6f-40b7-8381-c0bebc3763bd/instances/30f0cb53-da42-402e-8be5-9005f9c374f7/applyDecisions

Adele ha perdido el acceso al rol de administrador de usuarios mientras que el grupo del departamento de soporte técnico de TI ha mantenido su acceso. Puede comprobar este estado de asignación de roles mediante la ejecución de la consulta GET https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments?$filter=roleDefinitionId eq 'fe930be7-5e62-47db-91af-98c3a49a38b1'siguiente.

El estado de la instancia de revisión de acceso es ahora Applied. Además, dado que la revisión de acceso es periódica, se crea inmediatamente una nueva instancia. Su fecha de inicio es de tres meses a partir de endDateTime de la instancia de revisión actual.

Paso 6: Recuperar definiciones del historial de revisión de acceso

Los auditores de Contoso también quieren revisar el historial de revisión de acceso del último trimestre. En este ejemplo, se genera un informe del historial de revisión de acceso para todos los objetos accessReviewScheduleDefinition con ámbito de asignaciones de roles de directorio (roleAssignmentScheduleInstances). En esta consulta, las revisiones de acceso con todas las decisiones se incluyen en el informe de historial.

En primer lugar, defina el ámbito del informe de historial. A continuación, genere un URI de descarga que los auditores usan para descargar el informe. El URI de descarga está activo solo durante 24 horas. Por lo tanto, después de la expiración, puede volver a generar otro URI de descarga desde el informe de historial definido anteriormente.

Definir el ámbito de los datos del historial de revisión de acceso

Solicitud

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions

{
    "displayName": "Last quarter's access reviews for administrative roles - User Administrator",
    "decisions": [],
    "reviewHistoryPeriodStartDateTime": "2024-03-24T00:00:00Z",
    "reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
    "scopes": [
        {
            "@odata.type": "#microsoft.graph.accessReviewQueryScope",
            "queryType": "MicrosoftGraph",
            "query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'roleAssignmentScheduleInstances')"
        }
    ]
}

Respuesta

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/historyDefinitions/$entity",
    "id": "841fc5d5-b89e-42cd-9f76-3343689aaabf",
    "displayName": "Last quarter's access reviews for administrative roles - User Administrator",
    "reviewHistoryPeriodStartDateTime": "2024-03-24T00:00:00Z",
    "reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
    "decisions": [
        "approve",
        "deny",
        "dontKnow",
        "notReviewed",
        "notNotified"
    ],
    "status": "requested",
    "createdDateTime": "2024-03-25T17:15:45.1940174Z",
    "createdBy": {
        "id": "2560f739-2e0e-4550-9fa0-1a1e67ae0ab8",
        "displayName": "MOD Administrator",
        "type": null,
        "userPrincipalName": "admin@contoso.com"
    },
    "scopes": [
        {
            "@odata.type": "#microsoft.graph.accessReviewQueryScope",
            "query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'roleAssignmentScheduleInstances')",
            "queryType": "MicrosoftGraph",
            "queryRoot": null
        }
    ]
}

Recuperación de las instancias del historial de revisión de acceso

Solicitud

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions/841fc5d5-b89e-42cd-9f76-3343689aaabf/instances

Respuesta

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/historyDefinitions('841fc5d5-b89e-42cd-9f76-3343689aaabf')/instances",
    "@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET identityGovernance/accessReviews/historyDefinitions('<guid>')/instances?$select=downloadUri,expirationDateTime",
    "value": [
        {
            "id": "841fc5d5-b89e-42cd-9f76-3343689aaabf",
            "reviewHistoryPeriodStartDateTime": "2024-03-24T00:00:00Z",
            "reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
            "status": "done",
            "runDateTime": "2024-03-25T17:15:45.1940174Z",
            "fulfilledDateTime": "2024-03-25T17:16:06.5812358Z",
            "downloadUri": null
        }
    ]
}

Solicitud

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions/841fc5d5-b89e-42cd-9f76-3343689aaabf/instances/841fc5d5-b89e-42cd-9f76-3343689aaabf/microsoft.graph.generateDownloadUri

Respuesta

La propiedad downloadUri contiene un vínculo para descargar el informe de historial en formato de archivo de Excel. Este vínculo está activo solo durante 24 horas.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.accessReviewHistoryInstance",
    "id": "841fc5d5-b89e-42cd-9f76-3343689aaabf",
    "reviewHistoryPeriodStartDateTime": "2024-03-24T00:00:00Z",
    "reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
    "status": "done",
    "runDateTime": "2024-03-25T17:15:45.1940174Z",
    "fulfilledDateTime": "2024-03-25T17:16:06.5812358Z",
    "downloadUri": "https://ermconsolreportusc.blob.core.windows.net/erm-reports/Last quarter's access reviews for administrative roles - User Administrator-841fc5d5-b89e-42cd-9f76-3343689aaabf.csv?skoid=4ad0868b-7b78-4869-abb7-8f29151d8428&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skt=2024-03-25T17:17:40Z&ske=2024-03-25T17:19:40Z&sks=b&skv=2021-08-06&sv=2021-08-06&st=2024-03-25T17:17:40Z&se=2024-03-26T17:17:40Z&sr=b&sp=r&sig=g%2BlQj2PxFG1lAYDuUt5VWO8tvLPQebA7GLnqz%2FQb%2BbQ%3D"
}

Paso 7: Limpiar los recursos

En este paso, eliminará la definición de revisión de acceso. Puesto que la definición de programación de revisión de acceso es el plano técnico para la revisión de acceso, al eliminar la definición se quitan las opciones de configuración, las instancias y las decisiones relacionadas. La solicitud devuelve una 204 No Content respuesta.

DELETE https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/02800b79-1a6f-40b7-8381-c0bebc3763bd

Conclusión

Ha aprendido a revisar el acceso a roles administrativos y a generar un informe del historial de revisión de acceso auditable para informes de cumplimiento. Su organización puede usar las API de revisiones de acceso para controlar continuamente el acceso con privilegios a sus recursos, incluidos los roles de Microsoft Entra y los roles de recursos de Azure. Además de los usuarios y grupos, también puede revisar el acceso de las aplicaciones y entidades de servicio a los roles administrativos.