使用 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”工具。

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

条件

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

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

计算

单击 “What If”启动评估。 评估结果提供包含以下内容的报表:

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

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

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

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

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

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

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

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

注释

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

例子

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

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

  • 用户:所有用户
  • 资源:Office 365
  • 位置:美国
  • 登录风险:高
示例: 参数 基于旧版 What If 评估的结果 基于新的 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”
 登录风险 = “高”
适用 适用