在 Microsoft Entra 中使用可链接标识符跟踪和调查标识活动(预览版)

Microsoft在所有令牌中包括某些标识符,这些标识符可用于链接来自一个根身份验证的活动。 可链接标识符目前处于预览状态,在面向客户的日志中公开。 可链接标识符可帮助威胁猎人和分析人员调查和修正与标识相关的攻击。 他们显著提高了安全分析师和专业人员如何跨会话和令牌跟踪、调查和修正与标识相关的攻击,从而为你提供更安全和透明的生态系统。

有两种类型的可链接标识符:

  • 一个基于会话 ID (SID)。 它有助于将从单个根身份验证颁发的所有身份验证项目链接到同一标识符,该标识符可用于链接或连接单个链中的令牌。 例如,基于 SID 的可链接标识符可以跟踪所有由长期令牌(如 刷新令牌(RT)或会话 Cookie)发行的访问令牌执行的所有活动。
  • 另一种则跟踪特定令牌访问(例如 访问令牌(AT)ID 令牌)所执行的活动。

为了帮助链接从单个根身份验证颁发的所有身份验证项目,每次用户对帐户执行交互式身份验证时,都会创建 SID 声明并将其包含在主刷新令牌(PRT)、刷新令牌或会话 Cookie 中。 向从刷新令牌或会话 Cookie 中颁发的每个访问令牌添加相同的 SID 值。 它可用于链接所有身份验证项目,并且可以进一步筛选会话中的特定用户或设备。

基于 SID 的方案包括:

  • 从Microsoft Entra 登录日志中的会话 ID 开始,并加入 Exchange Online 审核日志或 Microsoft Graph 活动日志等工作负荷日志,以识别所有具有相同会话 ID 的访问令牌完成的所有活动。
  • 通过 UserId 或 DeviceId 来进一步筛选结果,或者使用在特定会话期间颁发的令牌来筛选结果。
  • 确定给定用户(UserId)或给定设备(DeviceId)处于活动状态的会话数。

此外,Microsoft Entra 还有另一个称为唯一令牌标识符(UTI)的重要可链接安全声明,该声明是所有Microsoft Entra 令牌中存在的唯一 GUID。 它用于独特标识令牌或请求。

对于令牌调查,当想要跟踪特定的可疑令牌时,UTI 会提供更高的细化程度。 UTI 对于每个 AT 和 SID 都是唯一的,帮助你分析特定会话中的所有令牌。 有关这些声明的详细信息,请参阅 访问令牌ID 令牌

基于 UTI 的情境包括:

  • 从 Microsoft Entra 登录日志中提取指向特定访问令牌的 UTI,并结合工作负载日志(如 Exchange Online 审核日志或 Microsoft Graph 活动日志),以识别所有代表该访问令牌(UTI)执行的活动。

可链接标识符声明

索赔 格式 说明
oid 字符串,GUID 请求者的不可变标识符,即用户或服务主体的已验证标识。 此 ID 在应用程序间唯一标识请求者。
tid 字符串,GUID 表示用户登录到的租户。
sid 字符串,GUID 表示整个会话的唯一标识符,并在用户执行交互式身份验证时生成。 此 ID 有助于链接从单个根身份验证颁发的所有身份验证凭据。
设备ID 字符串,GUID 表示用户与应用程序交互的设备的唯一标识符。
uti 字符串 表示令牌标识声明。此 ID 是区分大小写的、唯一的每个令牌标识符。
iat int,Unix 时间戳 指定针对此令牌进行身份验证的时间。

到目前为止,可链接标识符将记录到 Microsoft Entra 登录日志、Exchange Online 审核日志和 Microsoft Graph 活动日志中。

Microsoft Entra 登录日志中的可链接标识符

登录日志条目具有以下可链接标识符声明。

索赔 登录日志属性名称
oid 用户 ID
tid 资源租户识别码
sid 会话 ID
设备ID 设备识别码
uti 唯一令牌识别码
iat 日期

在 Microsoft Entra 管理中心中,查看登录日志。

  1. 至少以报表读取者身份登录到 Microsoft Entra 管理中心
  2. 浏览到“标识”“监视和运行状况”>“登录日志”。>
  3. 按时间或特定用户进行筛选,查看特定日志条目。
  4. 单击任何登录日志条目。
  5. 基本信息 显示用户 ID、资源租户 ID、会话 ID、唯一令牌标识符和日期。 设备 显示已注册和已加入域的设备 ID。

Microsoft Entra 管理中心的登录日志条目的屏幕截图。

具有可链接标识符的登录日志条目的屏幕截图。

首先,您应从 Microsoft Entra 登陆日志中的用户 ID 属性开始,然后手动搜索工作负载审核日志,用特定的访问令牌来跟踪所有活动。 同样,会话 ID 属性可用于手动搜索工作负荷审核日志以跟踪所有活动。

Microsoft Exchange Online 日志

Exchange Online 审核日志可帮助你访问关键审核日志事件数据以获取见解,并进一步调查用户活动。 Exchange Online 从 Microsoft Entra 令牌中传递可链接标识符,并记录 Exchange Online 审核日志中的所有可链接标识符。

对于邮箱更新、移动或删除的项目等方案,您可以首先从 Microsoft Entra 登录日志中获取可链接标识符,并搜索 Microsoft Purview 审计(标准)和审计(高级),以跟踪邮箱中任何项目的所有用户操作。

索赔 Exchange Online 审核日志属性名称
oid TokenObjectId
tid TokenTenantId
sid App Access 上下文对象中的 SessionID/AADSessionId
设备ID DeviceId (仅适用于已注册/已加入域的设备)
uti App Access Context 对象中的 UniqueTokenId
iat App Access Context 对象中的 IssuedAtTime

使用 Microsoft Purview 门户查看 Exchange Online 日志

  1. 转到 Microsoft Purview 门户

  2. 搜索具有特定时间范围和从 Exchange 开始的记录类型的日志。

    Microsoft Purview 门户的屏幕截图,其中显示了搜索日志。

  3. 可以进一步筛选特定用户,也可以从 Microsoft Entra 登录日志中筛选 UTI 值。 您可以使用 SessionId 筛选会话中的所有活动日志。

  4. 结果显示所有可链接标识符。

    Microsoft Purview 门户的屏幕截图,其中显示了具有可链接标识符的日志项。

    Microsoft Purview 门户的屏幕截图,其中显示了详细的日志项。

  5. 导出审核日志并对 Exchange Online 所有活动中的特定 SessionIdUniqueTokenId 进行调查。

使用 PowerShell commandlet 查看 Exchange Online 日志

  1. 以管理员身份运行 PowerShell。

  2. 如果未安装 ExchangeOnlineManagement 模块,请运行:

    Install-Module -Name ExchangeOnlineManagement
    
  3. 连接到 Exchange Online:

    Connect-ExchangeOnline -UserPrincipalName <user@4jkvzv.partner.onmschina.cn>
    
  4. 运行一些邮箱命令:

    Set-Mailbox user@4jkvzv.partner.onmschina.cn -MaxSendSize 97MB
    
    Set-Mailbox user@4jkvzv.partner.onmschina.cn -MaxSendSize 98MB
    
    Set-Mailbox user@4jkvzv.partner.onmschina.cn -MaxSendSize 99MB
    
  5. 搜索统一审核日志:

    Search-UnifiedAuditLog -StartDate 01/06/2025 -EndDate 01/08/2025 -RecordType ExchangeItem, ExchangeAdmin, ExchangeAggregatedOperation, ExchangeItemAggregated, ExchangeItemGroup, ExchangeSearch
    
  6. 结果包含所有可链接标识符。

注释

某些聚合日志条目或从后台进程生成的日志上,Exchange Online 审核日志中不提供可链接标识符。

有关详细信息,请参阅 Exchange Online PowerShell

Microsoft Graph 活动日志

Microsoft Graph 活动日志是Microsoft Graph 服务为租户接收和处理的所有 HTTP 请求的审核线索。 日志存储在 Log Analytics 中进行分析。

如果将 Microsoft Graph 活动日志发送到 Log Analytics 工作区,则可以使用 Kusto 查询语言 (KQL) 查询日志。 对于涉及 Microsoft Graph 活动的方案,可以从 Microsoft Entra 登录日志中开始获取可连接标识符,并针对 Microsoft Graph 活动日志进行检查,以跟踪邮箱中任何项目的所有用户活动。 有关如何搜索 Microsoft Graph 活动日志的详细信息,请参阅 Microsoft Graph 活动日志

索赔 Exchange Online 审核日志中的属性名称
oid UserId
tid 租户ID
sid SessionId(会话ID)
设备ID DeviceId(仅适用于已注册和已加入域的设备)
uti 登录活动标识符
iat TokenIssuedAt

使用 KQL 合并登录日志和 Microsoft Graph 活动日志

可以使用 KQL 加入 Microsoft Entra 登录日志和 Microsoft Graph 活动日志。 可以按 uti 属性筛选日志,以按特定访问令牌分析所有活动。 或者,您可以根据声明筛选日志,以分析从根交互式身份验证获取的刷新令牌的所有访问令牌的活动。 可以使用其他属性(例如 UserIdDeviceId等等)进一步筛选日志。

MicrosoftGraphActivityLogs
| where TimeGenerated > ago(4d) and UserId == '4624cd8c-6c94-4593-b0d8-a4983d797ccb'
| join kind=leftouter (union
SigninLogs,
AADNonInteractiveUserSignInLogs,
AADServicePrincipalSignInLogs,
AADManagedIdentitySignInLogs,
ADFSSignInLogs
| where TimeGenerated > ago(4d))
on $left.SignInActivityId == $right.UniqueTokenIdentifier

显示已联接日志的 KQL 查询结果的屏幕截图。

有关 Log Analytics 工作区中的查询的详细信息,请参阅使用 Log Analytics 分析Microsoft Entra活动日志

场景演练

让我们演练一个用户登录到 office.com 的示例。 然后,用户访问 Microsoft Graph,并执行一些命令。 最后,用户访问 Exchange Online 以使用 Outlook 电子邮件,并执行一些邮件操作。

  1. 在登录日志中找到某项交互式登录日志行,并捕获该行的SessionId:

    具有会话 ID 的交互式登录日志行的屏幕截图。

  2. 添加依据 SessionId 的筛选器。 您可以获取可用于交互式或非交互式登录的SessionId

    交互式登录:

    交互式登录的屏幕截图,按会话 ID 筛选。

    非交互登录:

    按会话 ID 筛选的非交互式登录的屏幕截图。

  3. 若要获取此特定会话中用户完成的 Microsoft Graph 工作负载上的所有活动,请转到 Microsoft Entra 管理中心中的 Log Analytics,并运行查询以加入 Microsoft Entra 登录日志并Microsoft Graph 活动日志。 以下查询筛选依据 UserIdSessionId

    Microsoft按用户 ID 和会话 ID 筛选的 Graph 活动的屏幕截图。

    可以对 (uti 声明) 属性进行进一步SignInActivityId筛选,以了解特定请求访问的更多详细信息。

  4. 若要获取 Exchange Online 活动,请打开 Microsoft Purview 门户并按用户或记录类型进行搜索。

    Microsoft Purview 门户的屏幕截图,其中显示了“用户”或“记录类型”的搜索。

  5. 导出数据。

    Microsoft Purview 门户中数据导出的屏幕截图。

  6. 日志条目具有所有可链接标识符。 可以按 UniqueTokenId 搜索每个唯一活动,并按 AADSessionId 搜索会话中的所有活动。

    包含可链接标识符的日志行的屏幕截图。