Revisión del acceso a roles con privilegios mediante la API de revisiones de acceso en Microsoft Graph

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 con privilegios. Con un rol con privilegios, una entidad de seguridad puede realizar operaciones administrativas. En función del rol con privilegios, algunas operaciones pueden tener un mayor efecto en la posición de seguridad de la organización. Con la API de revisiones de acceso, las organizaciones pueden dar fe periódicamente de las entidades de seguridad que tienen acceso a roles con privilegios según la directiva de la organización.

Contoso Limited es un proveedor de servicios en crecimiento que ha delegado varios privilegios de administrador de Azure AD a usuarios, grupos y entidades de servicio de la organización. La empresa debe asegurarse de que solo los asignados correctos tengan acceso a roles con privilegios. 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, usará la API de revisiones de acceso para revisar periódicamente usuarios y grupos con acceso a roles con privilegios en Contoso. Este acceso incluye roles activos y aptos.

Requisitos previos

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

  • Un inquilino de Azure AD en funcionamiento con una licencia de Azure AD Premium P2 o EMS E5 habilitada.
  • Inicie sesión en un cliente de API como Graph Explorer, Postman o cree su propia aplicación cliente para llamar a Microsoft Graph. Para llamar a las API de Microsoft Graph en este tutorial, debe usar una cuenta con el rol Administrador de roles con privilegios.
  • Entidades de seguridad con asignaciones activas o aptas para un rol con privilegios. Estas asignaciones serán el ámbito de la revisión de acceso. Para asignar roles con privilegios, consulte Tutorial: Uso de la API de Privileged Identity Management (PIM) para asignar roles de Azure AD.
    • En este tutorial, el rol Administrador de usuarios es el recurso que se está revisando. Se ha asignado el rol a un grupo de seguridad y a un usuario individual.
  • Concédete el siguiente permiso delegado: AccessReview.ReadWrite.All.

Nota:

Los objetos de respuesta que se muestran en este tutorial pueden acortarse para mejorar la legibilidad.

Paso 1: Creación de una revisión de acceso de asignaciones de roles con privilegios

En este tutorial, se crea una revisión de acceso periódica de las asignaciones activas y aptas para el rol Administrador de usuarios. Se puede usar accessReviewScheduleDefinition para definir la revisión de acceso de varios tipos de entidad de seguridad (usuarios y grupos o entidades de servicio) a un solo rol con privilegios. Para revisar el acceso a varios roles con privilegios, cree objetos accessReviewScheduleDefinition independientes.

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

  • El ámbito de la revisión son las entidades de seguridad (propiedad principalScopes ) con acceso al recurso especificado en la propiedad resourceScopes . En este caso, las entidades de seguridad son grupos y usuarios, mientras que el recurso es el rol Administrador de usuarios.
  • Las asignaciones activas y aptas para el recurso de rol Administrador de usuarios están en revisión.
  • Se selecciona un usuario individual como revisor. En este ejemplo, será el revisor.
  • El aprobador debe proporcionar una justificación antes de aprobar el acceso al rol con privilegios.
  • 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

En la siguiente solicitud, reemplace por f674a1c9-4a40-439c-bfa3-4b61a9f29d85 el valor del identificador de usuario. RoleDefinitionId fe930be7-5e62-47db-91af-98c3a49a38b1 es el identificador de plantilla global del rol Administrador de usuarios en Azure AD.

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/f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
            "queryType": "MicrosoftGraph"
        }
    ],
    "settings": {
        "mailNotificationsEnabled": true,
        "reminderNotificationsEnabled": true,
        "justificationRequiredOnApproval": true,
        "defaultDecisionEnabled": false,
        "defaultDecision": "None",
        "instanceDurationInDays": 3,
        "recommendationsEnabled": false,
        "recurrence": {
            "pattern": {
                "type": "absoluteMonthly",
                "interval": 3
            },
            "range": {
                "type": "noEnd",
                "startDate": "2022-03-02"
            }
        }
    }
}

Respuesta

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions/$entity",
    "id": "57457d7c-af59-470c-ae71-aa72c657fe0f",
    "displayName": "Review access of users and groups to privileged roles",
    "createdDateTime": null,
    "lastModifiedDateTime": null,
    "status": "NotStarted",
    "descriptionForAdmins": "Review access of users and groups to privileged roles",
    "descriptionForReviewers": null,
    "instanceEnumerationScope": null,
    "createdBy": {
        "id": "f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
        "displayName": "Alex Wilber",
        "type": null,
        "userPrincipalName": "AlexW@Contoso.com"
    },
    "scope": {
        "@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
        "principalScopes": [
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/users",
                "queryType": "MicrosoftGraph",
                "queryRoot": null
            },
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/groups",
                "queryType": "MicrosoftGraph",
                "queryRoot": null
            }
        ],
        "resourceScopes": [
            {
                "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                "query": "/roleManagement/directory/roleDefinitions/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
                "queryType": "MicrosoftGraph",
                "queryRoot": null
            }
        ]
    },
    "reviewers": [
        {
            "query": "/users/f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
            "queryType": "MicrosoftGraph",
            "queryRoot": null
        }
    ],
    "fallbackReviewers": [],
    "settings": {
        "mailNotificationsEnabled": true,
        "reminderNotificationsEnabled": true,
        "justificationRequiredOnApproval": true,
        "defaultDecisionEnabled": false,
        "defaultDecision": "None",
        "instanceDurationInDays": 3,
        "autoApplyDecisionsEnabled": false,
        "recommendationsEnabled": false,
        "recurrence": {
            "pattern": {
                "type": "absoluteMonthly",
                "interval": 3,
                "month": 0,
                "dayOfMonth": 0,
                "daysOfWeek": [],
                "firstDayOfWeek": "sunday",
                "index": "first"
            },
            "range": {
                "type": "noEnd",
                "numberOfOccurrences": 0,
                "recurrenceTimeZone": null,
                "startDate": "2022-03-02",
                "endDate": null
            }
        },
        "applyActions": []
    },
    "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. En el paso 1, solo se definió el recurso de rol Administrador de usuarios en el ámbito. 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

En la solicitud siguiente, reemplace por 57457d7c-af59-470c-ae71-aa72c657fe0f el valor de la revisión de acceso que creó en el paso 1.

GET https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances

Respuesta

En esta respuesta, el objeto de instancia muestra la fecha de finalización como tres días después de la fecha de inicio; este período se definió en el paso 1 en la propiedad instanceDurationInDays del objeto accessReviewScheduleDefinition . Solo se devuelve una instancia que representa la primera periodicidad de un solo recurso en revisión.

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions('57457d7c-af59-470c-ae71-aa72c657fe0f')/instances",
    "@odata.count": 1,
    "value": [
        {
            "id": "ad0dd148-5d16-4cfd-86e9-ab502f819aaf",
            "startDateTime": "2022-03-02T15:31:14.607Z",
            "endDateTime": "2022-03-05T15:31:14.607Z",
            "status": "InProgress",
            "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": "/v1.0/groups",
                        "queryType": "MicrosoftGraph",
                        "queryRoot": null
                    }
                ],
                "resourceScopes": [
                    {
                        "@odata.type": "#microsoft.graph.accessReviewQueryScope",
                        "query": "/beta/roleManagement/directory/roleDefinitions/fe930be7-5e62-47db-91af-98c3a49a38b1",
                        "queryType": "MicrosoftGraph",
                        "queryRoot": null
                    }
                ]
            },
            "reviewers": [
                {
                    "query": "/v1.0/users/f674a1c9-4a40-439c-bfa3-4b61a9f29d85",
                    "queryType": "MicrosoftGraph",
                    "queryRoot": null
                }
            ],
            "fallbackReviewers": []
        }
    ]
}

El estado de esta instancia de revisión de acceso es InProgress. Un InProgress estado 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.

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

En la solicitud siguiente, reemplace los valores siguientes:

  • 57457d7c-af59-470c-ae71-aa72c657fe0f con el valor de la revisión de acceso que creó en el paso 1.
  • ad0dd148-5d16-4cfd-86e9-ab502f819aaf con el valor de la instancia de revisión de acceso para la que desea recuperar las decisiones.
GET https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/decisions

Respuesta

En la respuesta siguiente se muestran dos elementos de decisión cada uno correspondientes a una decisión por el acceso de una entidad de seguridad al recurso.

  • La propiedad principal muestra que dos entidades de seguridad tienen acceso al rol Administrador de usuarios: un grupo denominado Departamento de soporte técnico de TI (usuario) y un usuario llamado Aline Dupuy.
  • El NotReviewed valor de la propiedad decision indica que los revisores no han revisado ni publicado sus decisiones.
  • No hay recomendaciones disponibles porque las recomendaciones no estaban habilitadas en accessReviewScheduleDefinition en el paso 1.
HTTP/1.1 200 OK
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/definitions('57457d7c-af59-470c-ae71-aa72c657fe0f')/instances('ad0dd148-5d16-4cfd-86e9-ab502f819aaf')/decisions",
    "@odata.count": 2,
    "value": [
        {
            "id": "4d79fbf6-36e6-430b-ba0a-2a727a480303",
            "accessReviewId": "ad0dd148-5d16-4cfd-86e9-ab502f819aaf",
            "reviewedDateTime": null,
            "decision": "NotReviewed",
            "justification": "",
            "appliedDateTime": null,
            "applyResult": "New",
            "recommendation": "NoInfoAvailable",
            "principalLink": "https://graph.microsoft.com/v1.0/users/339143ab-541e-484f-b017-e1707e962d34",
            "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": "339143ab-541e-484f-b017-e1707e962d34",
                "displayName": "Aline Dupuy",
                "type": "user",
                "userPrincipalName": "AlineD@Contoso.com",
                "lastUserSignInDateTime": ""
            }
        },
        {
            "id": "62fd1c5b-04b8-4703-9fd7-dce6232c3775",
            "accessReviewId": "ad0dd148-5d16-4cfd-86e9-ab502f819aaf",
            "reviewedDateTime": null,
            "decision": "NotReviewed",
            "justification": "",
            "appliedDateTime": null,
            "applyResult": "New",
            "recommendation": "NoInfoAvailable",
            "principalLink": "https://graph.microsoft.com/v1.0/groups/b5260fca-6d64-4d5a-92df-0c482d40bc4d",
            "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": "b5260fca-6d64-4d5a-92df-0c482d40bc4d",
                "displayName": "IT Helpdesk (User)",
                "type": "group"
            }
        }
    ]
}

Como revisor, ahora puede enviar sus decisiones para la instancia de revisión de acceso.

Paso 4: Decisiones de registro

Ahora registrará las decisiones de la revisión de acceso.

La directiva de empresa requiere que se conceda acceso a roles con privilegios solo a grupos y no a usuarios individuales. En cumplimiento con la directiva de la empresa, denegará el acceso de Aline Dupuy mientras aprueba el acceso para el grupo.

En las solicitudes siguientes, reemplace los valores siguientes:

  • 57457d7c-af59-470c-ae71-aa72c657fe0f con el valor de la revisión de acceso que creó en el paso 1
  • ad0dd148-5d16-4cfd-86e9-ab502f819aaf con el valor de la instancia de revisión de acceso para la que desea recuperar las decisiones.
  • 4d79fbf6-36e6-430b-ba0a-2a727a480303 con el valor de la instancia de revisión de acceso con el ámbito del acceso de Aline
  • 62fd1c5b-04b8-4703-9fd7-dce6232c3775 con el valor de la instancia de revisión de acceso en el ámbito del acceso del grupo de soporte técnico de TI

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

Solicitud

En la siguiente solicitud, se aprueba el acceso para el grupo del departamento de soporte técnico de TI.

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/decisions/62fd1c5b-04b8-4703-9fd7-dce6232c3775
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"
}

Respuesta

HTTP/1.1 204 No Content

Denegar al usuario individual su asignación de roles

Solicitud

En la siguiente solicitud, se deniega el acceso a Aline Dupuy.

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/decisions/4d79fbf6-36e6-430b-ba0a-2a727a480303
Content-type: application/json

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

Respuesta

HTTP/1.1 204 No Content

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 Aline es Deny.
  • El objeto reviewedBy contiene los detalles como revisor.
  • ApplyResult significa New que no se han aplicado las decisiones.

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, Aline sigue teniendo acceso al rol con privilegios. 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 estableció en , no ha detenido la revisión y 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, aplicará 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.

Solicitud

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/applyDecisions

Respuesta

HTTP/1.1 204 No Content

Aline ahora ha perdido el acceso al rol Administrador de usuarios mientras que el grupo 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.

Las revisiones de acceso aplicarán las decisiones automáticamente cuando expire la instancia, o bien puede aplicar las decisiones manualmente mediante la ejecución de la consulta siguiente: POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/ad0dd148-5d16-4cfd-86e9-ab502f819aaf/applydecisions.

Una vez aplicadas las decisiones, el estado de la instancia de revisión de acceso será Applied. Además, dado que hemos creado una revisión de acceso periódica en el paso 1, se iniciará una nueva instancia. Su fecha de inicio será de tres meses a partir del momento en que el período de revisión actual esté marcado como finalizado.

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, generará un informe del historial de revisión de acceso para todos los objetos accessReviewScheduleDefinition con ámbito para asignaciones de roles de directorio (roleAssignmentScheduleInstances). En esta consulta, la propiedad decisions está vacía y, por lo tanto, tiene como valor predeterminado incluir todas las decisiones en el informe de historial.

En primer lugar, definirá el ámbito del informe de historial. A continuación, genere un URI de descarga que los auditores usarán 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

En la siguiente solicitud, un objeto de decisiones vacío significa que todas las decisiones relacionadas con el ámbito de la revisión de acceso se incluirán en el informe de historial.

Solicitud

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

{
    "displayName": "Last quarter's access reviews for privileged roles - User Administrator",
    "decisions": [],
    "reviewHistoryPeriodStartDateTime": "2022-03-01T00: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": "17ecffa9-e60d-4b6d-9313-78b50860bbcd",
    "displayName": "Last quarter's access reviews for privileged roles - User Administrator",
    "reviewHistoryPeriodStartDateTime": "2022-03-01T00:00:00Z",
    "reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
    "decisions": [
        "approve",
        "deny",
        "dontKnow",
        "notReviewed",
        "notNotified"
    ],
    "status": "requested",
    "createdDateTime": "2022-09-29T12:22:57.9953455Z",
    "createdBy": {
        "id": "10a08e2e-3ea2-4ce0-80cb-d5fdd4b05ea6",
        "displayName": "MOD Administrator",
        "type": null,
        "userPrincipalName": "admin@M365x43961174.onmicrosoft.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/983db508-b77b-427d-ab90-a4041efa658d/instances

Respuesta

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#identityGovernance/accessReviews/historyDefinitions('17ecffa9-e60d-4b6d-9313-78b50860bbcd')/instances",
    "value": [
        {
            "id": "17ecffa9-e60d-4b6d-9313-78b50860bbcd",
            "reviewHistoryPeriodStartDateTime": "2022-03-01T00:00:00Z",
            "reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
            "status": "inprogress",
            "runDateTime": "2022-09-29T12:22:57.9953455Z",
            "fulfilledDateTime": null,
            "downloadUri": null
        }
    ]
}

Solicitud

POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions/57457d7c-af59-470c-ae71-aa72c657fe0f/instances/983db508-b77b-427d-ab90-a4041efa658d/generateDownloadUri()

Respuesta

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

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#accessReviewHistoryInstance",
    "@odata.type": "#microsoft.graph.accessReviewHistoryInstance",
    "id": "17ecffa9-e60d-4b6d-9313-78b50860bbcd",
    "reviewHistoryPeriodStartDateTime": "2022-03-01T00:00:00Z",
    "reviewHistoryPeriodEndDateTime": "9999-12-31T00:00:00Z",
    "status": "done",
    "runDateTime": "2022-09-29T12:22:57.9953455Z",
    "fulfilledDateTime": "2022-09-29T12:24:08.1146032Z",
    "downloadUri": "https://ermconsolreportweu.blob.core.windows.net/erm-reports/Last quarter's access reviews for privileged roles - User Administrator-17ecffa9-e60d-4b6d-9313-78b50860bbcd.csv?skoid=4ad0868b-7b78-4869-abb7-8f29151d8428&sktid=33e01921-4d64-4f8c-a055-5bdaffd5e33d&skt=2022-09-29T12:24:56Z&ske=2022-09-29T12:26:56Z&sks=b&skv=2020-04-08&sv=2020-04-08&st=2022-09-29T12:24:56Z&se=2022-09-30T12:24:56Z&sr=b&sp=r&sig=ivZ9B%2BQragSwvOd8J2g8ny9n4sqdzww9uVkl96uo1k4%3D"
}

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.

Paso 7: Limpiar los recursos

Elimine el objeto accessReviewScheduleDefinition que creó para este tutorial. Dado que la definición de programación de revisión de acceso es el plano técnico de la revisión de acceso, al eliminar la definición se quitarán la configuración, las instancias y las decisiones.

Solicitud

DELETE https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/definitions/57457d7c-af59-470c-ae71-aa72c657fe0f

Respuesta

HTTP/1.1 204 No Content

Conclusión

Ha aprendido a revisar el acceso a roles con privilegios en Azure AD y a generar un informe de historial de revisión de acceso auditable para informes de cumplimiento. Su organización puede usar la API de revisiones de acceso para controlar continuamente el acceso con privilegios a sus recursos, incluidos los roles de Azure AD 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 roles con privilegios.

Consulte también