En el centro de administración de Microsoft Entra, abra Identidad → Monitoreo y salud → Registros de inicio de sesión, configure sus filtros, y elija Descargar → JSON. Para extracciones más grandes o automatizadas, use Microsoft Graph: GET /auditLogs/signIns. De cualquier manera, solo obtiene lo que aún se retiene: 7 días en Entra ID Free, 30 días con P1 o P2.
Los registros de inicio de sesión muestran quién se autenticó, desde dónde, a qué aplicación, y si se aplicó MFA y Acceso Condicional. En ataques centrados en la identidad, eso es la mayor parte de la historia. Prime Core tiene 170 reglas de detección para datos de inicio de sesión de Entra ID, mapeadas a 113 técnicas de MITRE ATT&CK. Entre ellas: rociado de contraseñas (T1110.003), fatiga de MFA (T1621) y inicios de sesión con credenciales robadas en la nube (T1078.004).
Antes de comenzar
La retención es corta. Si la actividad que busca es anterior a 7 o 30 días, el portal y Graph no la tendrán. El único lugar donde podría seguir existiendo es donde los ajustes de diagnóstico envían los registros de inicio de sesión: un espacio de trabajo de Log Analytics, Microsoft Sentinel o una cuenta de almacenamiento. Consulte nuestra [guía de exportación de Microsoft Sentinel] para esa ruta.
Roles. Reader de Informes es el rol con menos privilegios que puede leer registros de inicio de sesión. Reader de Seguridad y Reader Global también funcionan.
Hay cuatro tipos de inicios de sesión. Usuario interactivo, usuario no interactivo, principal del servicio y identidad administrada tienen cada uno su propia pestaña en el portal. La repetición de tokens y el abuso de tokens de actualización tienden a aparecer bajo no interactivo, que la gente olvida exportar.
Opción 1: Descargar desde el portal
- Ir a Registros de inicio de sesión y elija la pestaña (comience con interactivo, luego no interactivo).
- Set Fecha y cualquier filtro (usuario, aplicación, estado).
- Elija Descargar, luego JSON.
El portal limita cuántos registros incluye una sola descarga. [PRUEBA: confirme el límite actual.] Para rangos grandes, divida por día o use Graph.
Opción 2: Microsoft Graph PowerShell
Esto extrae JSON bruto de API, sigue paginación y escribe un inicio de sesión por línea:
Connect-MgGraph -Scopes "AuditLog.Read.All"
$uri = "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$filter=createdDateTime ge 2026-10-19T00:00:00Z and createdDateTime lt 2026-10-20T00:00:00Z"
do {
$page = Invoke-MgGraphRequest -Method GET -Uri $uri -OutputType Json | ConvertFrom-Json
$page.value | ForEach-Object { $_ | ConvertTo-Json -Depth 10 -Compress } | Add-Content signins_1019.jsonl
$uri = $page.'@odata.nextLink'
} while ($uri)
El endpoint v1.0 devuelve inicios de sesión interactivos. Los inicios de sesión no interactivos y del principal de servicio necesitan el endpoint beta con un filtro signInEventTypes. Leer los inicios de sesión a través de la API también depende del nivel de licencia de su arrendatario.
Las marcas de tiempo son UTC en todo.
Qué buscar
| Campo o valor | Lo que te dice |
|---|---|
| status.errorCode 50126 | Nombre de usuario o contraseña incorrectos. Muchos de estos en varios usuarios significa rociado |
| status.errorCode 50053 | Cuenta bloqueada por bloqueo inteligente |
| status.errorCode 500121 | MFA falló o fue denegado; un auge de estos es fatiga de MFA |
| clientAppUsed = IMAP, POP, SMTP, “Otros clientes” | Autenticación heredada que omite MFA |
| conditionalAccessStatus | Si el acceso condicional se aplicó, pasó o falló |
| riskLevelDuringSignIn, location, ipAddress | Orígenes riesgosos o desconocidos |
El patrón que vale la pena detener: una cadena de fallos 50126 en muchas cuentas desde un rango de IP, luego un éxito para una de ellas.
Subir, sanitizar y revisar en LogTotal
- Subir. Abrir logtotal.com y suelte el archivo JSON.
- Sanitizar. [what gets masked: UPNs, display names, IPs, device names, tenant and object IDs]. Look it over before you continue.
- Revisar.
Cuando algo sale mal
| Síntoma | Causa probable | Fix |
|---|---|---|
| Nada más antiguo que una semana o un mes | Retención para su nivel de licencia | Verifique Log Analytics, Sentinel o el almacenamiento si la configuración de diagnóstico estaba activada |
| Graph returns 403 | Falta el consentimiento de AuditLog.Read.All, rol o licencia | Conceda el consentimiento; verifique su rol y licencia de arrendatario |
| La exportación solo tiene inicios de sesión interactivos | Otros tipos viven en pestañas separadas o en Graph beta | Exporte cada pestaña; use el endpoint beta |
| La descarga contiene menos registros de los que muestra el portal | Límite de descarga del portal | Dividir por día, o use Graph |
FAQ
¿Qué pasa con los registros de auditoría de Entra?
Esos son un log diferente: cambios de directorio como nuevos usuarios, asignaciones de roles y consentimientos de aplicaciones. Mismo área del portal, Registros de auditoría. En Graph es /auditLogs/directoryAudits. En un incidente, por lo general, desea ambos.
¿Puedo obtener inicios de sesión desde Sentinel en su lugar?
Sí, si el conector de Entra ID está activado: están en las tablas SigninLogs y AADNonInteractiveUserSignInLogs, con cualquier retención que tenga su espacio de trabajo.