Microsoft Entra ID 支持各种身份验证和授权流,以在所有应用程序和设备类型之间提供无缝体验。 某些身份验证流的风险比其他流高。 为了更好地控制安全状况,条件访问允许你控制某些身份验证流。 此控件从显式定位 设备代码流开始。
设备代码流
通过设备代码流,可以登录到缺少本地输入设备的设备,例如共享设备或数字签名。 设备代码流是高风险身份验证方法,可以是网络钓鱼攻击的一部分,也可以用于访问非托管设备上的公司资源。 配置设备代码流控制以及条件访问策略中的其他控件。 例如,如果设备代码流用于基于 Android 的会议室设备,则阻止设备代码流到除特定网络位置的 Android 设备之外的所有位置。
仅在必要时允许设备代码流。 Microsoft 建议尽可能阻止设备代码流。
身份验证传输
身份验证传输是一个流,允许用户将经过身份验证的状态从一台设备无缝传输到另一台设备。 例如,用户在 Outlook 桌面版本中可能会看到 QR 码,在移动设备上扫描时,会将经过身份验证的状态传输到移动设备。 此功能提供一种简单的直观体验,可减少用户的摩擦。
协议跟踪
为了确保在指定的身份验证流上准确执行条件访问策略,我们使用称为协议跟踪的功能。 该跟踪适用于使用设备代码流或身份验证传输的会话。 在这些情况下,会话被视为进行了协议跟踪的会话。 如果存在策略,则任何进行了协议跟踪的会话都会受到策略执行的约束。 协议跟踪状态通过后续刷新得以维持。 如果会话受到协议跟踪,则非设备代码流或身份验证传输流可能会受到身份验证流策略执行的约束。
例如:
- 请配置策略来阻止除 SharePoint 之外的任何地方的设备代码流。
- 可以通过配置的策略来允许使用设备代码流登录 SharePoint。 此时,会话被视为进行了协议跟踪的会话
- 你尝试使用任何身份验证流(不仅仅是设备代码流)在同一会话的上下文中登录 Exchange。
- 由于会话处于已进行协议跟踪的状态,你被配置的策略阻止
登录日志
配置策略以限制或阻止设备代码流时,必须了解组织中是否使用设备代码流以及如何使用设备代码流。 在纯报告模式下创建条件访问策略或使用身份验证协议筛选器筛选设备代码流事件的登录日志可能会有用。
为了帮助排查与协议跟踪相关的错误,我们在条件访问登录日志的“活动详细信息”部分添加了一个名为“原始传输方法”的新属性。 该属性显示相关请求的协议跟踪状态。 例如,对于之前执行过设备代码流的会话,“原始传输方法”设置为“设备代码流”。
在设备注册服务资源上强制实施身份验证流策略
从 2024 年 9 月初开始,Microsoft开始在设备注册服务上强制实施身份验证流策略。 这仅适用于以资源选取器 中的所有资源 为目标的策略。 如果组织当前将设备代码流用于设备注册目的,并且具有面向 所有资源的身份验证流策略,则需要将设备注册资源从条件访问策略的范围中免除,以避免影响。 可以在条件访问策略配置体验中的目标资源选项中找到设备注册服务资源。 若要通过条件访问 UX 免除设备注册服务,需要转到 “目标资源>排除>选择排除的云应用>设备注册服务”。 对于 API,需要通过排除用于设备注册服务的客户端 ID 来更新您的策略:01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9。
如果不确定组织是否对设备注册服务使用设备代码流,则可以利用 Microsoft Entra 登录日志 进行检查。 在那里,可以在资源 ID 筛选器中筛选设备注册服务客户端 ID,并通过使用身份验证协议筛选器中的设备代码选项将其缩小到设备代码流使用情况。
排查意外阻止问题
如果登录被条件访问策略意外阻止,则应确认该策略是否是身份验证流策略。 可通过以下步骤进行该确认:转到“登录日志”,单击被阻止的登录,然后导航到“活动详细信息: 登录”窗格中的“条件访问”选项卡。 如果执行的策略是身份验证流策略,请选择该策略以确定匹配了哪个身份验证流。
如果设备代码流已匹配,但设备代码流不是该登录执行的流,则该刷新令牌通过协议进行跟踪。 可以通过单击被阻止的登录并在“活动详细信息: 登录”窗格的“基本信息”部分搜索“原始传输方法”属性来验证此情况。
注意
由于对会话进行了协议跟踪而导致被阻止是此策略的预期行为。 不建议进行修正。