在Microsoft Entra管理中心打开 身份 → 监控和健康 → 登录日志,设置过滤器,并选择 下载 → JSON。对于较大的或脚本化的提取,请使用Microsoft Graph:GET /auditLogs/signIns。不管哪种方式,你只会得到仍然保留的内容:Entra ID Free保留7天,P1或P2保留30天。
登录日志显示了谁进行了身份验证、从哪里、访问了哪个应用程序,以及是否启用了MFA和条件访问。在以身份为驱动的攻击中,这几乎就是全部。Prime Core为Entra ID登录数据设置了170个检测规则,对应113项MITRE ATT&CK技术。其中包括:密码喷射(T1110.003)、MFA疲劳(T1621)和使用被盗云凭证的登录(T1078.004)。
开始之前
保留时间很短。 如果你要查找的活动超过7或30天,门户和Graph将无法提供数据。唯一可能仍有数据的地方是你的诊断设置所在的位置:日志分析工作区、Microsoft Sentinel或存储账户。请参阅我们的[Microsoft Sentinel导出指南]以获取此路径。
角色。 报告读取器是读取登录日志的最低权限角色。安全读取器和全局读取器也可以使用。
登录分为四种类型。 交互用户、非交互用户、服务主体和托管身份在门户中各有其自己的选项卡。令牌重放和刷新令牌的滥用往往显示在 非交互,这是人们经常忘记导出的。
选项 1:从门户下载
- 前往 登录日志 ,选择选项卡(从交互开始,然后是非交互)。
- Set 日期 及任何过滤器(用户、应用程序、状态)。
- 选择 下载,然后 JSON.
门户对单次下载包含的记录数量有限制。对于较大范围的情况,可以按天拆分或使用Graph。
选项 2:Microsoft Graph PowerShell
这会提取原始API JSON,跟踪分页,并每行写入一个登录:
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)
v1.0端点返回交互登录。非交互和服务主体登录需要使用带有signInEventTypes过滤器的beta端点。通过API读取登录记录也取决于租户的许可级别。
所有时间戳均为UTC。
需要注意什么
| 字段或值 | 它告诉你什么 |
|---|---|
| status.errorCode 50126 | 错误的用户名或密码。这种情况在许多用户中出现意味着密码喷射 |
| status.errorCode 50053 | 账户由于智能锁定而被锁定 |
| status.errorCode 500121 | MFA失败或被拒绝;这些的突然增多为MFA疲劳 |
| clientAppUsed = IMAP、POP、SMTP、“其他客户端” | 跳过MFA的旧版身份验证 |
| conditionalAccessStatus | CA是否应用、通过或失败 |
| 登录时的风险级别、位置、IP地址 | 风险或不熟悉的来源 |
值得关注的模式:一个IP范围内出现多个账户的50126失败,然后其中一个成功。
上传、清理并在LogTotal中查看
- 上传。 打开 logtotal.com 并丢入JSON文件。
- 清理。 [what gets masked: UPNs, display names, IPs, device names, tenant and object IDs]. Look it over before you continue.
- 查看。
当出现问题时
| 症状 | 可能原因 | Fix |
|---|---|---|
| 没有超过一周或一个月的记录 | 根据你的许可证级别的保留期 | 如果诊断设置启用了,请检查日志分析、哨兵或存储 |
| Graph returns 403 | 缺少AuditLog.Read.All同意、角色或许可证 | 授予同意;检查你的角色和租户许可证 |
| 导出仅包含交互登录 | 其他类型在单独的选项卡或beta Graph中 | 导出每个选项卡;使用beta端点 |
| 下载包含的记录比门户展示的少 | 门户下载限制 | 按天拆分,或使用Graph |
FAQ
Entra审核日志怎么样?
那些是不同的日志:例如目录更改、新用户、角色分配和应用程序同意。同一门户区域,审核日志。在Graph中,它是/auditLogs/directoryAudits。在事件中,通常希望两者都要。
我可以从Sentinel获取登录信息吗?
可以,如果Entra ID连接器已打开:它们在SigninLogs和AADNonInteractiveUserSignInLogs表中,并根据你的工作区有多长的保留时间。