通过

使用 What If 工具排查条件访问策略问题

概述

条件访问 What If 策略工具可帮助你了解环境中条件访问策略的结果。 在模拟不常见方案时,它非常有用,使你能够设计更全面的安全策略。 此工具可帮助你模拟单个用户或单租户服务主体的登录,而无需通过用户多次登录来手动测试策略。 模拟估计策略如何影响此登录并生成报告。

使用 What If 工具和 API 可以快速确定适用于特定用户或单租户服务主体的策略。 使用此信息来排查问题、了解适用于特定登录条件的策略,以及测试复杂的登录方案。

工作原理

条件访问 What If 工具由 What If 评估 API 提供支持。 若要使用该工具,请先配置要模拟的登录方案的条件。 配置应包括:

  • 您要测试的用户或单一租户服务主体。
  • 云应用程序、他们尝试执行的用户操作,或受他们尝试访问的身份验证上下文保护的敏感数据。
  • 尝试访问时的登录条件。

重要

What If 工具不测试 条件访问服务依赖项。 例如,如果使用 What If 测试Microsoft Teams的条件访问策略,则结果不会考虑适用于Office 365 Exchange Online的任何策略(Microsoft Teams的条件访问服务依赖项)。

接下来,启动评估设置的模拟运行。 评估运行中仅包含已启用或处于仅限报告模式的策略。

完成评估后,此工具将生成一份受影响策略的报表。 若要收集有关条件访问策略的详细信息,请使用 条件访问按策略报告条件访问见解和报告工作簿 ,了解有关仅报告模式或当前启用的策略的详细信息。

运行 What If 工具

可以在 Microsoft Entra 管理中心>Entra ID>条件访问>策略>What If 工具中找到。

“条件访问策略”页的屏幕截图,其中工具栏中突出显示了“What If”工具。

若要运行 What If 评估,请提供要评估的条件。

Conditions

需要满足以下条件:标识、目标资源、设备平台和客户端应用。 所有其他条件都是可选的,如果未提供任何值,则假定默认设置为 。 有关这些条件的定义,请参阅生成 条件访问策略的文章。

显示输入条件的字段的“What If”页的屏幕截图。

Evaluation

通过选择 “What If”启动评估。 评估结果提供包含以下内容的报表:

  • 显示环境中是否存在经典策略的指示器。
  • 应用于用户、代理或工作负荷身份的策略。
  • 不会应用于用户或工作负载标识的策略。

“What If”工具中策略评估示例的屏幕截图,其中显示了将应用的策略。

应用的策略列表还包括必须满足的 授予控件会话控件

不适用的策略列表包括这些策略不适用的原因。 对于每条列出的策略,列出来的原因表示不满足的首要条件。

具有筛选器 指示策略是否具有使用自定义安全属性的应用筛选器。

What If 评估 API 与旧版体验之间的主要差异

What If Evaluation API 是条件访问体验调用的Microsoft 图形 API。 由 What If 评估 API 提供支持的 What If 工具目前以公共预览版提供。 API 与旧版 What If 评估的几种方式不同:

  1. What-if API 是公共的完全受支持的 API(一旦 API 正式发布)。 API 可以通过条件访问用户界面和 Microsoft 图形 API 使用。
  2. 该逻辑与登录期间使用的身份验证逻辑保持一致,以提供更准确的策略评估。
  3. What-if API 要求为评估定义所有登录参数,以提供最准确的结果。 如果您的租户的策略包含特定条件,并且未提供这些条件的登录详细信息,则 What If API 无法评估这些条件。

注释

对于应用程序规范,请提供应用 ID。 应用组(如 Office 365Microsoft 管理门户)不会导致匹配。

例子

此示例突出显示了主要差异:

假设你有一个具有以下配置的条件访问策略:

  • 用户:所有用户
  • 资源:Office 365
  • 位置:美国
  • 登录风险:高
Example 参数 基于旧版“假设”评估的结果 基于新的 What If 评估 API 的结果
1 UserId = “aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb” 适用 不适用
2 UserId = “aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb”
ApplicationId = “00000003-0000-0ff1-ce00-0000000000000”
适用 不适用
3 UserId = “aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb”
ApplicationId = “00000003-0000-0ff1-ce00-0000000000000”
位置 = “US”
适用 不适用
4 UserId = “aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb”
ApplicationId = “00000003-0000-0ff1-ce00-0000000000000”
位置 = “US”
登录风险 = “高”
适用 适用