Agent 多租户调用的OBO方案
AWS ML Blog · rss · 2026-07-14
AWS 这篇文章讲的是:当你把生成式 AI agent 部署到多租户生产环境时,如何处理“代理代用户调用下游 API”的身份问题。 文章先解释了三种做法: - 以 agent 自身身份调用,并用头部字段伪装用户:会破坏审计链路,是典型 confused deputy。 - 直接转发用户 token:只有在下游 audience 完全匹配时才可行,多租户场景通常不成立。 - on-behalf-of token exchange:由授权服务器把 inbound token 兑换成一个新的、绑定到下游服务 audience 的 token,同时保留原始用户的 sub。 文中进一步说明了 RFC 8693 的 token exchange 机制,以及 Amazon Bedrock AgentCore Identity / Gateway 如何在网关层自动完成交换,而不需要 agent 代码自己处理这套逻辑。文章还强调了: - sub 用于表示被代表的用户 - actor / cid 用于表示执行交换的代理或委托方 - audience binding 可以把权限约束到单个下游服务 最后给出 TravelBot 的参考实现:用 Okta 的多个授权服务器分别处理 agent 入站 token 和不同租户的下游 OBO token,展示了完整的多租户身份传递流程。