代理 ID 的条件访问是 Microsoft Entra ID 中的一项新功能,可将条件访问评估和强制实施引入 AI 代理。 此功能将已保护人类用户和应用的相同零信任控件扩展到代理。 条件访问将代理视为一级身份,并像评估人类用户或工作负载身份的请求一样评估其访问请求,但是针对代理使用特定逻辑。
有关代理的类型及其存在的标识和访问管理挑战的详细信息,请参阅 具有 Microsoft Entra 代理标识的 AI 安全性。
Microsoft Entra 中的代理标识体系结构
若要了解条件访问如何与代理标识配合使用,请务必了解 Microsoft Entra 代理 ID 的基础知识。 代理 ID 引入了代理的高级身份构造。 这些模型建模为应用程序(代理标识)和用户(代理用户)。
| 术语 | Description |
|---|---|
| 代理蓝图 | 代理类型的逻辑定义。 在租户中创建代理身份蓝图主体所需的必要条件。 |
| 代理标识蓝图主体 | 代表租户中代理模型蓝图的服务主体,仅执行代理身份和代理用户的创建工作。 |
| 智能体标识 | 实例化代理标识。 要获取令牌以访问资源。 |
| 代理用户 | 用于需要用户帐户的代理体验的非人用户标识。 执行令牌获取以便访问资源。 |
| 代理资源 | 代理蓝图或代理标识充当资源应用(例如,代理到代理(A2A)流)。 |
有关详细信息,请参阅 MICROSOFT AI 代理的 Entra 代理 ID 安全功能。
代理标识和代理用户的条件访问功能
条件访问在代理标识和代理用户发起的所有令牌获取过程中实施零信任原则。
条件访问适用于以下情况:
- 代理身份请求访问任何资源的令牌(代理身份 → 资源流程)。
- 代理用户请求任何资源的令牌(代理用户→资源流)。
条件访问不适用于:
代理标识蓝图获取用于 Microsoft Graph 的令牌,以创建代理标识或代理用户。
注释
代理蓝图的功能有限。 它们不能独立地访问资源,并且只涉及创建代理标识和代理用户。 代理任务始终由代理标识执行。
代理标识蓝图或代理标识在
AAD Token Exchange Endpoint: Public endpoint (Resource ID: fb60f99c-7a34-4190-8149-302f77469936)执行中介令牌交换。注释
与
AAD Token Exchange Endpoint: Public相关联的令牌无法调用 Microsoft Graph。 代理流受到保护,因为条件访问可保护代理标识或代理用户的令牌获取。条件访问策略的范围限定为用户或工作负荷标识,而不是代理。
启用安全默认值。
| 身份验证流 | 条件访问是否适用 | 详细信息 |
|---|---|---|
| 代理标识→资源 | ✅ 是的 |
受代理标识策略的约束。 |
| 代理用户→资源 | ✅ 是的 |
受代理用户策略的约束。 |
| 代理标识蓝图→ Graph(创建代理标识(代理 ID)/代理用户) | ❌ 否 |
不受条件访问的约束,因为此流涉及通过蓝图创建代理标识和代理用户。 |
| 代理标识蓝图或代理标识(代理 ID)→令牌交换 | ❌ 否 |
不受条件访问的约束,因为该流程涉及蓝图或代理身份进行中间令牌交换调用,以便它能够执行代理任务。 此流不涉及任何资源访问。 |
策略配置
为代理创建条件访问策略涉及以下四个关键组件:
- 作业
- 将策略范围限定为:
- 租户中的所有代理人身份。
- 基于对象 ID 的特定代理身份。
- 基于预分配的自定义安全属性的代理标识。
- 按其蓝图分组的代理标识。
- 租户中的所有代理用户。
- 将策略范围限定为:
- 目标资源
- 资源目标选项包括:
- 所有资源。
- 所有代理资源(代理蓝图和代理标识)。
- 由已经预先分配给它们的自定义安全属性分组的特定资源。
- 基于其 appId 的特定资源。
- 代理蓝图(蓝图作为目标对象)涵盖由蓝图管理的代理标识。
- 资源目标选项包括:
- 条件
- 代理风险(高、中、低)。
- 访问控制
- 阻止。
- 可以将策略切换为“开”、“关”或设置为“仅报告”(用于模拟)。
共同业务场景
有两个关键的业务方案,条件访问策略可帮助你有效地管理代理。
在第一个方案中,你可能希望确保只有已批准的代理才能访问特定资源。 为此,可以使用策略中针对的自定义安全属性标记代理和资源,或使用增强的对象选取器手动选择它们。
第二种情况是,条件访问使用 来自 Microsoft Entra ID Protection 的信号 来检测和阻止出现风险行为的代理访问资源。
方案 1:仅允许特定代理访问资源
使用自定义安全属性创建条件访问策略
第一种方案的建议方法是创建自定义安全属性并将其分配给每个代理或代理蓝图,然后使用条件访问策略将这些属性作为目标。 此方法使用与 条件访问策略中应用程序筛选器中所述的步骤类似。 可以将多个属性集的属性分配给代理或云应用程序。
创建和分配自定义属性
- 创建自定义安全属性:
- 创建名为 AgentAttributes的属性集。
- 创建名为 AgentApprovalStatus的新属性,该属性允许分配多个值,并且只允许分配预定义值。
- 添加以下预定义值: 新建、 In_Review、 HR_Approved、 Finance_Approved、 IT_Approved。
- 创建另一个属性集以将代理允许访问的资源分组。
- 创建名为 ResourceAttributes的属性集。
- 创建名为 Department的新属性,允许分配多个值,并且仅允许分配预定义值。
- 添加以下预定义值: Finance、 HR、 IT、 Marketing、 Sales。
- 将适当的值分配给允许代理访问的资源。 例如,你可能只希望 HR_Approved 的代理能够访问标记为 HR 的资源。
创建条件访问策略
完成前面的步骤后,使用自定义安全属性创建条件访问策略,以阻止除组织审核和批准的所有代理标识。
- 以条件访问管理员和属性分配阅读者的身份至少登录到Microsoft Entra 管理中心。
- 请导航到 Entra ID>条件访问>策略。
- 选择“新策略”。
- 为策略指定名称。 建议组织为其策略的名称创建有意义的标准。
- 在 “分配”下,选择“ 用户”、“代理”(预览版)或工作负荷标识。
- 在“此策略适用于什么?”下,选择“代理”(预览版)。
- 在“包括”下,选择“所有代理标识”(预览版)。
- 在“排除”下:
- 根据属性选择代理标识。
- 将“配置”设置为“是”。
- 选择之前创建的名为 AgentApprovalStatus 的属性。
- 将 “运算符” 设置为 “包含”。
- 将 值 设置为 HR_Approved。
- 选择“完成”。
- 在“此策略适用于什么?”下,选择“代理”(预览版)。
- 在“目标资源”下,选择以下选项:
- 选择此策略适用于 资源(以前是云应用)的内容。
- 包括 所有资源(以前为“所有云应用”)
- 排除 Select resources。
- 根据属性选择资源。
- 将“配置”设置为“是”。
- 选择前面创建的“ 部门”属性。
- 将 “运算符” 设置为 “包含”。
- 将 值 设置为 HR。
- 选择此策略适用于 资源(以前是云应用)的内容。
- 在“访问控制”>“授予”下:
- 选择“冻结”。
- 选择 选择。
- 确认设置,然后将“启用策略”设置为“只限报告”。
- 选择“ 创建 ”以创建策略。
使用 策略影响或仅报告模式确认设置后,将 “启用策略” 开关从“ 仅报告” 移动到“ 开”。
方案 2:阻止高风险代理标识访问组织的资源
组织可以创建条件访问策略,以基于 来自 Microsoft Entra ID 保护的信号阻止高风险代理标识。
- 至少以条件访问管理员的身份登录到Microsoft Entra 管理中心。
- 请导航到 Entra ID>条件访问>策略。
- 选择“新策略”。
- 为策略指定名称。 建议组织为其策略的名称创建有意义的标准。
- 在 “分配”下,选择“ 用户”、“代理”(预览版)或工作负荷标识。
- 在“此策略适用于什么?”下,选择“代理”(预览版)。
- 在“包括”下,选择“所有代理标识”(预览版)。
- 在“此策略适用于什么?”下,选择“代理”(预览版)。
- 在“目标资源”下,选择以下选项:
- 选择此策略适用于 资源(以前是云应用)的内容。
- 包括 所有资源(以前为“所有云应用”)。
- 在 条件>代理风险(预览版)下,将 “配置 ”设置为 “是”。
- 在 “配置强制实施策略所需的代理风险级别”下,选择“ 高”。 本指南基于Microsoft建议,对于每个组织来说可能有所不同。
- 在“访问控制”>“授予”下。
- 选择“冻结”。
- 选择 选择。
- 确认设置,然后将“启用策略”设置为“只限报告”。
- 选择“ 创建 ”以启用策略。
使用 策略影响或仅报告模式确认设置后,将 “启用策略” 开关从“ 仅报告” 移动到“ 开”。
使用登录日志调查策略评估
管理员可以使用登录日志调查条件访问策略为何执行或未应用,如 Microsoft Entra 登录事件中所述。 对于特定于代理的条目,请筛选代理用户或代理标识的 agentType。 其中一些事件显示在 用户登录(非交互式)中, 而另一些事件显示在 服务主体登录下。
- 服务主体登录日志→代理标识(执行者)访问任何资源→代理类型:代理ID用户
- 访问任何资源的代理用户→非交互式用户登录→“agentType”:代理用户
- 访问代理程序的用户→用户登录