条件访问是一个智能策略引擎,可帮助组织控制用户和代理如何访问公司资源。 它将实时信号(例如用户的上下文、设备、位置和会话风险信息)汇集在一起,以确定何时允许、阻止或限制访问,或要求执行更多验证步骤。
适用于代理的条件访问需要 Microsoft Entra ID P1 或 P2,并且每位用户都需要一个 Microsoft Agent 365 许可证。 即将开始强制执行 Agent 365 许可证要求。 代理的网络控制功能需要使用 Microsoft Entra Internet 访问。 有关详细信息,请参阅 什么是 Microsoft Entra 智能体 ID。
了解适用于代理的条件访问:
- 条件访问的高级概述: 什么是条件访问?
- 跨组织管理代理标识的指南: 管理组织中的代理标识。
- 如何在条件访问中定位代理标识
- 为自治代理访问配置策略
条件访问如何评估代理访问请求
若要访问公司资源(如SharePoint文件、MCP 服务器或 Open API 服务),用户或代理首先从Microsoft Entra ID请求访问令牌。
应用条件访问策略时,Microsoft Entra ID在颁发令牌之前评估配置的策略要求。 如果满足要求,则会颁发访问令牌。 然后将令牌提供给目标资源,该资源会验证令牌并使用其声明做出授权决策。
下图演示了此过程。
如何使用主题和受众
Microsoft Entra ID向特定受众(资源)的主题颁发访问令牌。 每个访问令牌只有一个主题和一个受众。
主体:接收令牌的身份。
- 在委派访问方案中,令牌表示用户,同时标识调用的应用程序或代理。
- 在纯应用程序场景中,应用程序或自主代理是主体。
- 在代理用户账户场景中,代理用户账户是主体。
受众:令牌的目标资源。
- 必须在Microsoft Entra ID中注册资源。
- 如果使用者需要访问多个资源(例如,多个 MCP 服务器或 API),则它通常需要为每个资源提供单独的访问令牌,每个资源都有其自己的受众和权限。
根据请求访问的主题和正在访问的受众评估条件访问策略。
如何做出条件访问决策
条件访问策略的工作方式类似于“如果 - 那么”条件语句:
- 如果满足策略中定义的条件,将强制实施配置的访问控制。
- 如果满足所需的控制,则会授予访问权限。
- 如果未满足所需的控制措施,则拒绝访问。
例如,组织可能需要多重身份验证,然后用户才能授权代理访问其电子邮件。 同样,组织还可以配置策略,以阻止来自被识别为高风险的代理的访问。
评估条件访问时
每当 Microsoft Entra ID 颁发或刷新访问令牌时,系统都会评估条件访问策略。 某些资源还支持持续访问评估,这可以针对特定事件触发近乎实时的访问控制实施。
代理访问模式
代理可以使用以下模式之一访问受Microsoft Entra保护的资源:
代表用户行事的代理
最常见的访问模式是代表 (OBO) 流。 在此流中,用户登录到代理应用程序,代理使用用户的标识和委派权限访问下游资源。 例如,当代理读取电子邮件时,它会 代表你访问邮箱。 有关代理的 OBO 流程如何工作的详细信息,请参阅 代理 OAuth 流程:代表。
注释
代理流程也被称作委派访问。 “On-behalf-of”描述的是身份验证流,而不是代理类型。 这些交互式代理涉及用于人工交互的用户界面。 当登录用户存在并且代理需要访问具有该用户的标识和权限的资源时,任何代理都可以使用此流。
在此流中,代理无法重复使用用户的原始令牌,因为它已针对不同的受众颁发。 相反,代理使用 OBO 流与Microsoft Entra ID交换令牌,从而获取范围限定为目标资源的新令牌。 此令牌交换也由条件访问评估,让管理员对代理代表用户访问的资源强制实施精细控制。
由于用户是此流中的主题,因此条件访问策略面向 用户和组,而不是代理标识。
充当应用程序的代理程序
代理可能会在没有登录用户的情况下访问资源。 在这种情况下,代理使用自己的标识访问资源。 此流也称为客户端凭据流,或仅应用访问权限。 所有类型的代理都可以使用此流。 有关代理如何使用自己的标识进行身份验证的详细信息,请参阅 代理 OAuth 流:自治应用。
此流适用于以下常见方案:
-
独立运行的自治代理 在后台运行、响应事件或按计划运行。
- 例如,生成每日报告的代理,并将结果发送到一组员工。
- 在此方案中,不存在用户,代理自行运行。
-
使用自己的标识的交互式代理 并不总是代表用户访问资源;有时他们使用自己的标识。
- 例如,如果代理调用用户无权访问的后端 SMS 服务,则 OBO 流不适用,代理将直接作为自身进行身份验证。
- 在 Web 上发布的供公众使用的代理 不会对用户进行身份验证,也不支持将用户的上下文委派给企业资源。
在这些情况下,代理使用自己的代理身份和通过代理身份蓝图管理的凭据请求访问令牌。 令牌颁发给智能体标识(而非用户)。 因此,条件访问策略的范围限定为代理标识,而不是用户。 有关分步策略配置,请参阅 自治代理的条件访问。
充当用户的代理
有时仅仅由代理代表用户执行任务或以其自身身份进行操作是不足够的。 在某些情况下,代理具有自己的 代理用户帐户 ,该帐户充当具有其自己的邮箱的数字工作者、聊天访问权限以及以团队成员身份参与协作工作流的能力。
在此模型中,管理员会在目录中创建用户帐户,并将其链接到代理的标识。 从那里,它就像任何其他用户帐户一样。 可以分配许可证以访问Microsoft 365资源,例如邮箱和日历。 该帐户可以添加到管理单元和安全组,就像人工用户帐户一样。
使用此流的代理也被视为自治代理,因为它们不涉及用于人工交互的用户界面。 在此模型中,访问令牌将颁发给代理的用户帐户(令牌主体),并且根据代理的用户帐户而不是代理标识评估策略。 有关分步策略配置,请参阅 自治代理的条件访问。 有关代理用户 OAuth 流的详细信息,请参阅 代理用户 OAuth 流。
在受管终结点上运行的代理(例如 适用于代理的 Windows 365 云电脑)也可能受到设备合规性和合规网络控制措施的约束。 使用 代理执行环境(预览版) 条件,使这些策略仅适用于基于终端的会话。 有关详细信息,请参阅 “要求为代理的用户帐户提供合规设备”。
条件访问策略和代理标识蓝图
除了特定的代理访问模式,还可以选择 代理标识蓝图 ,将条件访问策略应用到代理类。 每个代理标识都派生自代理标识蓝图,该蓝图定义其配置和治理模型。 在蓝图级别应用策略会自动涵盖派生自它的所有代理标识,包括将来添加的任何新标识。 针对代理标识蓝图并不涵盖代理的用户账户。
下图显示了仅授予与蓝图“A”关联的代理身份访问权限;所有其他代理将被排除和阻止。
例如,假设一个项目包含多个代理,每个代理都有其自己的用途。 有些独立运行,而另一些代理则与其他代理合作(A2A)来完成任务。 如果它们都在同一蓝图下创建,则应用于该蓝图的单个策略会在整个集合中强制实施一致的访问控制。
属性驱动的条件访问
随着代理身份数量的增长,在所有策略中逐个管理每一个代理身份将难以为继。 使用自定义安全属性 ,可以使用特定于企业的标签对代理标识和资源进行分类,然后在条件访问策略中针对这些属性。 策略会自动应用于具有匹配属性的每个代理,包括将来添加的属性。
有关创建自定义安全属性并将其用于条件访问策略的完整演练,请参阅 自治代理的条件访问。
条件访问边界和限制
条件访问策略在以下情况中不适用:
- 代理标识蓝图从Microsoft Graph获取令牌,用于创建代理标识或代理的用户帐户。
- 代理蓝图的功能有限。 它们不能独立地访问资源,并且只参与创建代理标识和代理的用户帐户。
- 代理任务始终由代理标识执行。
- 代理身份蓝图或代理身份在
AAD Token Exchange Endpoint: Public终结点执行中介令牌交换(资源 ID:fb60f99c-7a34-4190-8149-302f77469936)。- 作用域为
AAD Token Exchange Endpoint: Public的令牌无法调用Microsoft Graph。 - 代理流受到保护,因为条件访问可保护从代理标识或代理用户帐户获取令牌。
- 作用域为
- 启用安全默认值。
- 条件访问仅保护受Microsoft Entra ID保护的资源。 例如,如果代理使用 API 密钥访问资源,则会完全绕过Microsoft Entra ID身份验证和令牌颁发管道,条件访问策略将不适用于这些资源。
当前不支持以下配置:
- 面向所有用户的策略不包括代理的用户帐户。
- 根据组成员身份将代理的用户帐户包含在条件访问策略范围内或将其排除
- 面向代理标识的条件访问策略不适用于代理的用户帐户。
- 使用代理标识蓝图定位代理标识的条件访问策略仅涵盖代理标识,而不是代理的用户帐户。