概述
Microsoft Entra ID为面向“所有资源”并且包含一个或多个“资源排除项”的条件访问策略推出了改进的强制实施模型。 此更改可确保仅请求基线范围的登录接收与其他资源访问相同的条件访问保护。
以前,当存在资源排除时,某些低特权范围会自动从策略强制实施中排除。 通过此更改,这些范围现在被视为目录访问,并受条件访问策略的约束。
有关详细的技术背景,请参阅 “‘所有资源’策略存在资源排除时的新条件访问行为”。
重要
此强制更新符合Microsoft的安全未来计划以及深度防御投资。 Microsoft建议采用新的强制模式来提高安全态势。
受影响的人
如果满足以下所有条件,则此更改会影响租户:
- 你有一个或多个面向 所有资源的条件访问策略。
- 这些策略具有一个或多个 资源排除项。
- 在您的租户中,用户通过仅请求基线范围的应用程序进行登录。
如果策略面向所有资源,没有任何资源排除项,则此更改不会影响你。
什么是基线范围
基线范围是以下范围集的一个伞式术语:
-
OpenID Connect (OIDC) 范围:
email、、offline_access、openidprofile -
基线目录范围:
User.Read、、User.Read.All、User.ReadBasic.AllPeople.Read、People.Read.All、GroupMember.Read.All、Member.Read.Hidden
有什么变化
推出后,这些场景现在可能会触发条件访问挑战(例如 MFA 或设备合规性),而这些访问以前是在没有强制的情况下被授予的。
- 仅请求基线范围的公共客户端应用程序(如桌面应用)。 例如,用户登录到Visual Studio Code桌面客户端,该客户端请求
openid和profile范围,或Azure CLI(仅请求User.Read)。 - 被排除在所有资源策略之外的机密客户端应用程序(如 Web 应用)仅请求基线目录范围。 例如,从策略中排除但只请求
User.Read和People.Read的 Web 应用程序。
确切的挑战取决于策略中配置的访问控制,这些访问控制以“所有资源”为目标,或将Windows Azure Active Directory(Microsoft Entra ID目录)显式定位为资源。
未更改的内容
- 当应用程序(公共或机密)请求超出基准范围之外的任意作用域时(例如,
Mail.Read),该应用程序已受到条件访问策略的约束。 此行为不会更改。 - 对于从所有资源政策中排除的机密客户端应用程序,并且仅请求 OIDC 范围,不预期有任何变化。
您需要执行的操作
使用下表确定应用程序所需的操作:
| 应用程序类型 | 所有权 | 需要采取行动 |
|---|---|---|
| 只请求基线范围的公共客户端 | 任意 | 查看这些应用程序是否应保持不受条件访问强制实施的约束。 如果存在维护豁免的有效业务原因,请参阅 使用基线范围设置保留旧行为。 |
| 仅请求基线目录范围的机密客户端,从“所有资源”策略中排除 | 租户自有 | 检查是否仍然需要这个排除。 与应用程序开发人员合作,评估应用是否可以请求 OIDC 范围(例如 openid, profile),而非目录范围,例如 User.Read,以获取基本用户信息。 如果在发布之前无法完成更新,请参阅 保留旧行为与基线范围设置。 |
| 仅请求基线目录范围的机密客户端,从“所有资源”策略中排除 | 由 ISV 拥有 | 检查是否仍然需要这个排除。 与您的 ISV 进行沟通,评估应用程序是否可以请求 OIDC 作用域而不是目录作用域。 在大多数情况下,OIDC 作用域提供这些场景所需的最低特权访问权限。 如果 ISV 无法及时进行更新,请参阅 使用基线范围设置保留旧行为。 |
重要
对于租户拥有的公共和机密客户端应用程序,请确保应用程序可以处理条件访问质询(例如 MFA 或设备符合性)。 否则,可能需要应用程序更新。 请参阅 条件访问开发人员指南 ,了解如何相应地更新应用程序。
如何评估影响
预览执行变更
您可以在推出之前预览改进后的实施行为。
- 至少以条件访问管理员身份登录到 Microsoft Entra 管理中心。
- 请在 Conditional Access 中访问基线范围设置。 查看预览设置需要此直接链接。
- 选择默认目标资源 (Windows Azure Active Directory)。
- 选择“保存”。
注释
此设置会立即为具有排除项的所有资源策略启用更新的条件访问行为。
因此,现在可能会使用Windows Azure Active Directory作为目标资源在条件访问下评估并强制实施以前未受 CA 强制实施的某些用户登录。
若要还原为旧行为,请从基线范围设置中选择重置。
如果未选择自定义目标资源,则将基于Windows Azure Active Directory的默认目标资源强制设定为基线范围,并分阶段推出。
使用自定义目标资源识别受影响的应用程序
可以使用基线范围设置来确定租户中的哪些应用程序受到影响。 启用预览设置后,应用程序请求基线范围的登录事件会在登录日志中将自定义应用程序列为条件访问访问群体。 有关详细信息,请参阅 解决条件访问的登录问题。
查询受影响的应用程序
使用以下Microsoft Graph查询列出仅请求基线范围的应用程序:
https://microsoftgraph.chinacloudapi.cn/beta/auditLogs/signIns?$filter=conditionalAccessAudiences/any(a:a eq '<your-custom-app-id>')&$select=appId,appDisplayName
将 <your-custom-app-id> 替换成自定义应用程序的应用程序 ID。
在多天的时间段内,此查询的结果提供仅请求基线范围的客户端应用程序列表。
使用基线范围设置保留传统行为
注释
Microsoft建议与新的强制模型保持一致。 只有在需要旧行为的特定场景时,才使用基准范围设置。
基线范围设置是一种租户级配置,可用于将自定义租户拥有的应用程序用作基线范围的目标资源。 通过从特定的“所有资源”策略中排除此自定义应用程序,可以保留旧行为。
谁应使用此设置
如果你有需要保留旧行为的特定方案,请使用此设置。 示例方案包括:
- 所有要求符合设备授权控制的资源策略:这些策略中排除的应用程序必须能够从非托管设备访问。
- 所有需要应用保护策略授予控制的资源策略:未与 Intune SDK 集成的客户端应用程序,并且无法满足应用保护策略。
- 具有块控制的所有资源策略:必须从阻止策略中排除的客户端应用程序。
- 必须从设备兼容性要求中豁免的公共客户端:由于特定的安全合规原因。
FAQ
如何在发布前查看执行变更?
转到 https://entra.microsoftonline.cn/?feature.isbaselinescopesenabled=true#view/Microsoft_AAD_ConditionalAccess/ConditionalAccessBlade/~/baselineScopes/menuId//fromNav/Identity,选择 default 目标资源 (Windows Azure Active Directory),然后选择 Save。 此设置会立即强制实施改进的行为。 若要恢复,请选择 “重置”。 有关详细信息,请参阅 预览实施变更。
推出后如何保留旧有行为?
使用基线范围设置将自定义租户拥有的应用程序分配为基线范围的目标资源,然后将该应用程序从所有资源策略中排除。 有关详细信息,请参阅 “使用基线范围设置保留旧行为”。
是否需要更新所有应用程序?
否。 只有那些只请求基线范围并受您的所有资源策略(带资源排除)影响的应用程序才需要关注。 请求超出基线范围(例如, Mail.Read)的应用程序已受到条件访问强制执行的约束,并且不受此更改的影响。