出站身份概述
出站身份(Outbound Identity)是智能体身份体系中与入站身份相对的一类身份形态。入站身份解决“谁来调用Agent”的认证与授权问题;出站身份则解决“Agent代表谁、以什么凭据去访问下游资源”的问题。Agent完成入站认证后,在调用第三方服务、云服务或内部工具时,需要以合法且受控的身份出示凭据,这一身份即出站身份。出站身份的凭据由智能体身份平台统一托管、加密存储,并在Agent调用时按需注入,避免密钥在代码中硬编码。出站身份支持OAuth客户端、API Key、IAM委托三种认证类型。
OAuth客户端
OAuth客户端是在身份提供商处注册的应用程序,使用OAuth 2.0协议代表用户请求访问用户的数据。智能体身份平台将Agent注册为资源方的OAuth客户端,托管Client ID与Client Secret;Agent调用支持OAuth 2.0的下游服务时,平台自动完成令牌的申请、注入与续期,Agent无需接触密钥明文。按授权流不同分为两种:
- 授权码流(Authorization Code Flow):以“代表用户”的方式授权,令牌携带用户上下文与权限范围(scope),适合访问用户个人数据(如操作GitHub仓库)。
- 客户端凭证流(Client Credentials Flow):以“应用资深”身份进行机器到机器(M2M)认证,适合服务间调用。
API Key
API Key是用于身份验证和授权访问资源的唯一标识符。资源方为调用方颁发固定字符串密钥,Agent调用时在请求头(如Authorization或x-api-key)中携带。智能体身份平台对API Key加密存储并托管,Agent通过凭据标识按需获取明文。该方式接入简单、通用性强,适用于不支持OAuth的简单API、LLM服务及内部低风险工具;密钥长期有效、需定期轮换,泄露风险相对较高,应避免暴露在代码或日志中。
IAM 委托
基于统一身份认证服务的委托认证方式。为Agent关联一个专属IAM信任委托并配置权限策略,Agent运行时通过信任委托接口(如AssumeAgency)获取临时安全凭证(STS Token),再以临时凭证访问云服务资源。该方式无需长期密钥落盘,临时凭证自动过期并轮换,权限由角色策略精细管控且可审计,适合访问云厂商内部资源。
三种认证类型的区别
| 对比维度 | OAuth客户端 | API Key | IAM 委托 |
|---|---|---|---|
| 认证机制 | OAuth 2.0 授权框架,令牌交换 | 静态密钥,请求头携带 | 信任委托+临时安全凭证(STS Token) |
| 身份主体 | 用户(授权码流)或应用(客户端凭证流) | 应用本身 | 云账号下的IAM信任委托(工作负载身份) |
| 凭证有效期 | 短时令牌,可刷新续期 | 长期静态,需定期轮换 | 极短时(分钟~小时级),自动轮换 |
| 权限粒度 | scope权限范围,细粒度且可撤销 | 随API Key绑定权限,粒度较粗 | 权限策略精细管控,可审计 |
| 典型场景 | 第三方SaaS(GitHub等) | 简单API、LLM服务、内部低风险工具 | 云资源访问、跨账号委托 |
| 安全特征 | 免共享密码,令牌可过期、可撤销 | 简单直接,需加密存储、防泄露 | 无长期密钥,临时凭证自动过期,安全性最高 |
| 运维成本 | 中(需维护客户端凭证与授权配置) | 低 | 较高(需设计权限策略) |