令牌是在Microsoft代理标识平台中实现安全通信和授权的基本安全机制。 本文介绍如何在代理应用方案中使用令牌。
在代理应用方案中,令牌携带增强的声明来支持独特的要求。 与非agentic 应用程序令牌不同,代理使用的令牌包括专用声明,用于标识特定于代理作的实体类型、委派关系和授权上下文。
这些令牌可实现以下两者之间的安全通信:
- 代理标识蓝图及其代理标识
- 代理标识和资源 API
- 代理用户及其与之交互的服务
- 涉及多个代理实体的复杂委派链
令牌声明实体标识符
代理令牌包括专用声明,用于标识参与身份验证流的实体的类型和角色:
执行组件方面声明(
xms_act_fct):标识在令牌流中执行作的实体。 这些声明使系统能够了解实际请求访问或执行作的人员。主题方面声明(
xms_sub_fct):确定正在为其执行作的最终主题。 即使在复杂的委派方案中,它也能实现适当的归因。标识类型声明(
idtyp):区分用户和应用程序上下文,启用适当的策略应用程序和安全强制。标识关系声明(
xms_idrel):描述令牌主体与资源租户之间的关系,支持多租户和来宾访问方案。
令牌流模式
代理参与多个不同的令牌流模式,每个模式都专为特定作方案而设计。 有关详细信息,请参阅 Microsoft代理标识平台中的身份验证协议。
用户委派方案中的令牌
用户委派方案使代理应用程序能够代表用户运行。 在此方案中,令牌在将代理标识蓝图标识标识为代理实体时会保留。 OBO 协议要求令牌访问群体与客户端 ID 匹配。 但是,对于代理标识(代理 ID),传入令牌具有代理标识蓝图的受众。 在此方案中,令牌具有以下关键特征:
- 在整个作中维护用户标识上下文
- 包括授予代理标识蓝图的委托权限
- 在用户和应用程序级别启用策略评估
- 支持交互式作和后台作
使用模拟时,代理标识接收可以直接分配或继承父代理标识蓝图的委托权限。
仅限应用程序的方案中的令牌
仅应用程序方案表示代理标识蓝图自行执行且没有用户上下文的自治作。
在此方案中,令牌具有以下关键特征:
- 表示代理标识蓝图自己的标识
- 包括租户管理员直接分配的应用程序级权限
- 在授予的权限边界内启用无作用域的访问权限。 未应用委派权限。
- 支持完全自治的后台作
代理用户模拟方案中的令牌
代理用户模拟方案使代理用户能够像人类用户一样运行。 这些令牌支持代理需要类似用户的上下文但具有受控预定义标识的方案。
在此方案中,令牌具有以下关键特征:
- 使用专用代理用户标识
- 维护用户上下文行为模式
- 包括作用域内委派权限
- 要求向代理标识显式分配
在此方案中,代理标识蓝图模拟代理标识,然后模拟分配的代理用户。 访问权限的范围限定为分配给代理标识的委派权限,确保代理不能超过其授予的权限,即使使用用户上下文作也是如此。 代理用户只能在分配给代理标识且无法独立进行身份验证时使用。
非agentic API 集成
代理和非AGENTIC OBO 客户端都转发主题方面。 它使资源服务器能够对代理主体应用适当的策略和日志记录。 它还支持适当的归因,即使令牌通过非正则中介。
Builder 应用程序声明
创建代理并与 Microsoft Entra 代理 ID 集成的平台不会收到特殊的令牌声明。 这些平台使用适合其身份验证方法的标准令牌声明,并且不参与专用代理声明结构。
租户模型和令牌行为
所有令牌都包含表示组织的租户的租户 ID(tid)。 令牌在代理标识的租户内绑定。 每个代理标识接收作用域为其作租户的令牌。 代理标识无法访问其分配的客户租户之外的资源。 权限继承直接从父实体流向子实体。
令牌验证
使用代理标识的客户端应将颁发给它们的访问令牌视为不透明,而不是尝试分析它们。 但是,接收颁发给代理的访问令牌的资源服务器需要分析令牌以验证令牌并提取声明以进行授权。
资源服务器应通过以下方式验证代理令牌:
- 验证标准 OAuth 声明 (aud, exp, iss)
- 检查代理方面声明以获取适当的实体标识
- 基于令牌类型验证权限(委派权限与仅限应用)
- 确保租户边界符合性
令牌声明使策略引擎能够:
- 标识代理与非agentic 客户端
- 区分不同的代理方案
- 应用适当的条件访问策略
- 生成准确的审核日志
验证过程的示例是执行以下作:
检查是否已为代理标识和代理蓝图颁发了令牌。
HttpContext.User.GetParentAgentBlueprint()检查是否已为代理用户标识颁发令牌。
HttpContext.User.IsAgentUserIdentity()
这两种扩展方法适用于这两种方法和ClaimsIdentity两种方法ClaimsPrincipal。
审核和日志记录集成
令牌声明为全面的审核线索提供了基础:
-
azp标识客户端属性的请求代理标识 -
oid标识资源访问归因的主题 -
xms_act_fct并xms_sub_fct启用详细的流分析 -
tid确保日志中的租户上下文正确