Análisis de registros de actividad con Microsoft Graph

Las API de generación de informes de Microsoft Entra proporcionan acceso mediante programación a los datos a través de un conjunto de API de REST. A estas API se les puede llamar desde muchos lenguajes y herramientas de programación. Microsoft Graph API no está diseñado para extraer grandes cantidades de datos de actividad. La extracción de grandes cantidades de datos de actividad mediante la API puede dar lugar a problemas de paginación y rendimiento.

En este artículo se describe cómo analizar los registros de actividad de Microsoft Entra con Microsoft Graph Explorer y Microsoft Graph PowerShell.

Requisitos previos

Para realizar solicitudes a Microsoft Graph API, primero debe hacer lo siguiente:

Acceso a informes mediante el Explorador de Microsoft Graph

Con todos los requisitos previos configurados, puede ejecutar consultas de registro de actividad en Microsoft Graph. Para más información sobre las consultas de Microsoft Graph de los registros de actividad, consulte Introducción a la API de informes de actividad.

  1. Inicie la herramienta Explorador de Microsoft Graph.

  2. Seleccione el perfil y, a continuación, seleccione Modificar permisos.

  3. Dé su consentimiento a los siguientes permisos necesarios:

    • AuditLog.Read.All
    • Directory.Read.All
  4. Use una de las siguientes consultas para empezar a usar Microsoft Graph para acceder a los registros de actividad:

    • GET https://graph.microsoft.com/v1.0/auditLogs/directoryAudits
    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns
    • GET https://graph.microsoft.com/v1.0/auditLogs/provisioning

    Captura de pantalla de una consulta GET del registro de actividad en Microsoft Graph.

Ajuste de las consultas

Para buscar entradas específicas del registro de actividad, use los parámetros de consulta $filter y createdDateTime con una de las propiedades disponibles. Algunas de las siguientes consultas usan el punto de conexión beta. El punto de conexión beta está sujeto a cambios y no se recomienda para su uso en producción.

Pruebe a usar las siguientes consultas:

  • Para los intentos de inicio de sesión en los que se produjo un error en el acceso condicional:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=conditionalAccessStatus eq 'failure'
  • Para buscar inicios de sesión en una aplicación específica:

    • GET https://graph.microsoft.com/v1.0/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and appId eq 'APP ID'
  • Para inicios de sesión no interactivos:

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'nonInteractiveUser')
  • Para inicios de sesión de entidad de servicio:

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'servicePrincipal')
  • Para inicios de sesión de identidad administrada:

    • GET https://graph.microsoft.com/beta/auditLogs/signIns?&$filter=(createdDateTime ge 2024-01-13T14:13:32Z and createdDateTime le 2024-01-14T17:43:26Z) and signInEventTypes/any(t: t eq 'managedIdentity')
  • Para obtener el método de autenticación de un usuario:

    • GET https://graph.microsoft.com/beta/users/{userObjectId}/authentication/methods
    • Requiere el permiso UserAuthenticationMethod.Read.All.
  • Para ver el informe de detalles del registro de usuarios:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails
    • Requiere el permiso UserAuthenticationMethod.Read.All.
  • Para obtener los detalles de registro de un usuario específico:

    • GET https://graph.microsoft.com/beta/reports/authenticationMethods/userRegistrationDetails/{userId}
    • Requiere el permiso UserAuthenticationMethod.Read.All.

Una vez que esté familiarizado con los registros de inicio de sesión y auditoría estándar, pruebe a explorar estas otras API:

Acceso a informes mediante PowerShell para Microsoft Graph

Puede usar PowerShell para acceder a la API de informes de Microsoft Entra. Para obtener más información, consulte información general de PowerShell de Microsoft Graph.

cmdlets de PowerShell para Microsoft Graph:

Errores comunes

Error: Ninguno de los inquilinos es B2C o el inquilino no tiene licencia prémium: el acceso a los informes de inicio de sesión requiere una licencia de Microsoft Entra ID P1 o P2. Si ve este mensaje de error al acceder a los inicios de sesión, asegúrese de que su inquilino tenga una licencia P1 de Microsoft Entra ID.

Error: El usuario no se encuentra entre los roles admitidos: Si ve este mensaje de error mientras intenta acceder a los registros de auditoría o a los inicios de sesión mediante la API, asegúrese de que su cuenta forma parte del rol Lector de seguridad o Lector de informes en su inquilino de Microsoft Entra.

Error: A la aplicación le falta el permiso de Microsoft Entra ID 'Leer datos de directorio' o 'Leer todos los datos de registro de auditoría': la aplicación debe tener el permiso AuditLog.Read.All o Directory.Read.All para acceder a los registros de actividad con Microsoft Graph.

Pasos siguientes