# 出站身份概述
出站身份（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），再以临时凭证访问云服务资源。该方式无需长期密钥落盘，临时凭证自动过期并轮换，权限由角色策略精细管控且可审计，适合访问云厂商内部资源。
#### 三种认证类型的区别
表1三种认证类型的区别 
| 对比维度   | OAuth客户端            | API Key            | IAM 委托                |
|:---|:---|:---|:---|
| 认证机制   | OAuth 2.0 授权框架，令牌交换  | 静态密钥，请求头携带          | 信任委托+临时安全凭证（STS Token） |
| 身份主体 | 用户（授权码流）或应用（客户端凭证流） | 应用本身              | 云账号下的IAM信任委托（工作负载身份） |
| 凭证有效期  | 短时令牌，可刷新续期           | 长期静态，需定期轮换         | 极短时（分钟～小时级），自动轮换       |
| 权限粒度  | scope权限范围，细粒度且可撤销    | 随API Key绑定权限，粒度较粗 | 权限策略精细管控，可审计          |
| 典型场景  | 第三方SaaS（GitHub等）     | 简单API、LLM服务、内部低风险工具 | 云资源访问、跨账号委托            |
| 安全特征   | 免共享密码，令牌可过期、可撤销     | 简单直接，需加密存储、防泄露       | 无长期密钥，临时凭证自动过期，安全性最高   |
| 运维成本  | 中（需维护客户端凭证与授权配置）      | 低                 | 较高（需设计权限策略）           |
   
