通过


Microsoft Entra ID 保护场景:掌握风险分析以实现有效修正

本系列文章中的概念证明(PoC)指南可帮助你了解、部署和测试 Microsoft Entra ID 保护,以检测、调查和修正基于标识的风险。

指南概述从Microsoft Entra ID 保护概念证明指南简介开始。

这些方案将继续提供详细的指导:

本文可帮助标识管理员开始掌握风险分析,以便使用 Azure Monitor 日志进行有效的修正。 以下列表突出显示分析区域:

使用以下部分了解如何使用 Azure Monitor 日志和 Microsoft Entra ID Protection 管理常见的风险事件类型、已标记的用户和风险级别模式。

使用 AADUserRiskEvents 表启用风险分析

标识风险每年都在速度和复杂性方面增长。 可以使用风险见解来掌握潜在标识攻击和泄露的量和详细信息。 启用 Azure Monitor 日志引用表以使用 Microsoft Entra ID Protection 分析风险见解,以检测、调查和修正标识风险。 风险数据用于访问决策工具或用于调查和关联的工具。 Microsoft Entra ID 防护不断更新,以帮助组织走在新兴威胁前面。 标识风险管理变得更加主动、可缩放且有效。

借助见解、参考表等,可以使用条件访问调查和修正标识风险,并构建有针对性的策略来解决组织的风险。

Azure Monitor 日志概述中了解详细信息。

在Microsoft Entra ID 保护中,有四个风险表可用于查询风险事件、有风险的用户和有风险 的服务主体

  • AADUserRiskEvents
  • AADRiskyUsers
  • AADServicePrincipalRiskEvents
  • AADRiskyServicePrincipals

在本文中,重点是 AADUserRiskEvents 表。 若要详细了解如何识别组织的风险,请参阅以下视频。

使用 Microsoft Entra ID 保护掌握风险分析

确保满足先决条件

若要使用 Azure Monitor,请确保满足以下先决条件。

创建 Log Analytics 工作区

Log Analytics 工作区是一个数据存储,用于从 Azure 和非 Azure 资源和应用程序收集日志数据类型。 建议将所有日志数据发送到一个 Log Analytics 工作区。

  1. 创建 Log Analytics 工作区
  2. 若要合并要分析的数据,请添加诊断设置。 请参阅以下列表:
  • AuditLogs
  • SignInLogs
  • 非交互式用户登录日志
  • 服务主体登录日志
  • 托管身份登录日志
  • RiskyUsers
  • 用户风险事件
  • RiskyServicePrincipals
  • 服务主体风险事件
  1. 若要查看查询中心,请访问 Log Analytics 工作区。
  2. 选择“日志”。
  3. 搜索 风险
  4. 找到 “最近用户风险事件”查询
  5. 选择 运行
  6. 从下拉列表中,将 简单模式 更改为 Kusto 查询语言模式(KQL 模式)。

KQL 模式选项的屏幕截图。

下拉菜单中 KQL 模式选项的屏幕截图。

识别有风险的用户

本部分和以下部分说明了如何使用 Azure Monitor 分析风险。 有风险的用户有一个或多个有风险的登录,或其他有风险的操作。

  1. 运行查询以按 UserDisplayName 汇总计数。
  2. DetectedDateTime < ago()中添加时间范围。

在以下示例查询中, 30d 是日期范围。

// Recent user risk events 
// Gets list of the top 100 active user risk events. 
AADUserRiskEvents 
| where DetectedDateTime > ago(30d) 
| where RiskState == "atRisk" 
| take 100 
| summarize count()by UserDisplayName 

使用前面的查询来确定常见的用户模式,例如服务帐户,或生成大量风险的小用户子集。 在示例屏幕截图中,一个用户引起的风险事件数量明显多于其他用户。 如果单个用户在租户中引发不成比例的高风险,我们建议要求安全密码更改。

来自查询的风险用户数据的屏幕截图。

识别风险事件类型

在查看特定用户的使用模式信息后,建议深入分析检测结果,并按检测类型进行汇总。

  1. 使用 AADUserRiskEvents 表。
  2. 使用 RiskEventType 进行汇总。

示例查询

// Recent user risk events 
// Gets list of the top 100 active user risk events. 
AADUserRiskEvents 
| where DetectedDateTime > ago(30d) 
| where RiskState == "atRisk" 
| take 100  
| summarize count()by RiskEventType 

在查看风险类型时,请注意大量风险。 在以下示例中,有多个已标记的风险事件。 大多数都与以下项相关:

  • unfamiliarFeatures - 检测不熟悉的用户登录属性
    • 强制实施会话控制,例如登录频率、应用程序限制和持久性浏览器控件
  • anomalousToken - 设置条件访问策略以要求密码重置和执行多重身份验证(MFA)
    • 阻止对高风险登录的访问
  • unlikelyTravel - 将指定的位置标记为信任的 IP 地址
    • 为经常旅行的用户启用受信任位置

请参阅活动用户风险事件查询结果的以下屏幕截图。

活动用户风险事件查询结果的屏幕截图。

检查风险级别

查看用户行为和风险事件类型后,建议下一步是再次检查 AADUserRiskEvents 表,以查看三个风险级别:低、中和高。 按级别汇总风险,并分析每个风险级别的总数。

示例查询

// Recent user risk events 
// Gets list of the top 100 active user risk events. 
AADUserRiskEvents 
| where DetectedDateTime > ago(30d) 
| where RiskState == "atRisk" 
| take 100 
| summarize count()by RiskLevel  

在以下屏幕截图里,有许多检测总数,但只有三个被归类为高风险。 按敏感度(低、中或高)进行筛选有助于隔离最关键问题。 确定高风险检测的优先级首先会降低噪音,并确保解决最重要的威胁。 对于这些情况,我们建议实施基线条件访问策略,该策略对高风险用户强制实施安全密码更改。

显示三个高风险用户的查询结果的屏幕截图。

详细了解访问控制决策: 什么是条件访问?

开始使用 Azure Monitor 日志参考表

若要开始,请浏览用于 Microsoft Entra ID Protection 的 Azure Monitor 日志引用表。 以下链接按名称提供表列表。 这些日志捕获关键见解,包括用户风险事件、有风险的用户、服务主体风险事件和有风险的服务主体等。

后续步骤