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
false
valor 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 1ad0dd148-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 Aline62fd1c5b-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 esDeny
. - 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 false
que 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
- 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. - 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
}
]
}
Generación de un vínculo para descargar el informe de historial de la instancia del historial de revisión de acceso
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.