# 身份认证
身份认证是华为云IAM服务推出的专为Agent提供安全身份标识、安全凭证管理的能力，AgentArts使用该能力，为智能体运行时构建入站认证与出站认证双维度的安全防护体系，确保智能体能够安全地调用各类第三方外部工具和华为云服务资源。
在AI智能体场景中，身份认证面临比传统Web服务更复杂的挑战：智能体不仅需要被外部系统调用，还可能需要代表用户身份去访问其他云服务。因此，AgentArts与Agent Identity服务协同，将身份认证分为入站认证和出站认证两个维度：
- **入站身份认证**：验证调用方的身份，确保只有授权的调用方能够访问智能体运行时的API接口。入站认证作为运行时的"守门人"，对每个请求独立验证，要求所有访问尝试都必须提供显式的身份证明。
- **出站身份认证**：智能体运行时内部代表用户身份访问其他华为云服务或第三方资源时使用的凭据。出站身份的凭据由智能体身份平台统一托管、加密存储，并在Agent调用时按需注入，避免密钥在代码中硬编码。
#### 支持的认证方式
AgentArts入站身份认证及出站身份认证支持以下三种方式：
| 认证方式              | 认证凭据           | 请求头格式                                                                        |
|:---|:---|:---|
| IAM认证（AK/SK 签名认证） | AK+SK通过签名算法生成签名 | Authorization: V11-HMAC-SHA256 Access={AK}, SignedHeaders=..., Signature=... |
| API Key认证        | API Key字符串     | Authorization: Bearer {API Key}                                              |
| OAuth 2.0认证      | JWT Token    | Authorization: Bearer {JWT Token}                                             |
   
#### 使用身份认证的组件
#### 网关
网关提供入站认证鉴权和出站身份认证两层安全机制，保障调用方与后端工具之间的安全通信。调用网关或调用网关Target需要获取对应凭证：
- **入站身份认证** ：调用方访问网关时的认证和鉴权，用于验证调用方身份并控制访问权限。支持IAM认证、API Key、OAuth 2.0认证，详细说明请参考[创建网关](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_024.html)中的入站身份认证。
- **出站身份认证** ：网关访问后端工具服务时的身份认证，用于配置网关以特定身份访问后端资源，支持IAM认证、API Key、OAuth 2.0认证。详细说明请参考[Target的出站认证配置](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_123.html)。
 
#### 运行时
智能体运行时是AgentArts提供的安全隔离、框架无关的智能体托管执行环境，专为生产级智能体设计。
**入站身份认证** ：在创建智能体运行时时配置，支持IAM认证、OAuth 2.0认证、API Key认证三种方式，用于验证调用方身份并控制访问权限。当前入站身份认证主要在托管智能体时使用，用于托管HTTP以及MCP入站协议的运行时。认证方式配置后不可修改，调用方必须使用与运行时配置一致的认证方式，否则请求将被拒绝。详细说明请参考[入站身份认证](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_227.html)。
#### 浏览器
浏览器是AgentArts平台为智能体提供的内置工具之一，通过在安全隔离的沙箱容器中运行云端浏览器，使智能体具备网页导航、表单填写等Web自动化能力。创建浏览器时需配置入站身份认证，确保只有经过验证的请求才能访问浏览器沙箱工具中的资源。
**入站身份认证** ：在创建浏览器时配置，支持IAM认证和API Key认证两种方式。入站身份认证是指浏览器在接收和处理来自智能体或 SDK 的请求时，对请求进行身份验证，确保只有经过验证的请求才能访问沙箱工具中的资源，提高系统的安全性和可靠性。调用浏览器时需在请求头中携带对应的认证凭据（API Key 或 AK/SK 签名）。详细说明请参考[创建浏览器](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_167.html)中的入站身份认证。
#### 代码解释器
代码解释器是 AgentArts 的核心组件之一，为 Agent 提供安全隔离的代码执行环境。创建代码解释器时需配置入站身份认证，确保只有经过验证的请求才能访问沙箱工具中的资源。
**入站身份认证** ：在创建代码解释器时配置，支持IAM认证和API Key认证两种方式。入站身份认证是指代码解释器在接收和处理来自智能体或 SDK 的请求时，对请求进行身份验证，确保只有经过验证的请求才能访问沙箱工具中的资源，提高系统的安全性和可靠性。调用代码解释器时需在请求头中携带对应的认证凭据（API Key或AK/SK签名）。详细说明请参考[创建代码解释器](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_011.html)中的入站身份认证。
#### 记忆库
记忆库是智能体用于存储、管理和检索历史信息的核心组件，使智能体能够在后续交互中按需获取相关历史上下文。创建记忆库时需配置入站身份认证，确保只有经过验证的请求才能访问记忆库资源。
**入站身份认证** ：记忆库支持IAM认证和API Key认证两种方式。确保只有授权的智能体或应用能够读写记忆库中的短期记忆、长期记忆及用户偏好等数据，详细说明请参见[记忆库入站身份认证](https://support.huaweicloud.com/highcode-agentarts/agentarts_10_260.html)。
