凭证管理

为避免在代码或工具中硬编码密钥、令牌等敏感信息,AgentRun 提供了集中的凭证管理功能。您可以安全地存储认证信息,并在多个智能体中引用。这不仅提升了安全性,也极大地简化了凭证的维护工作:只需修改一次,所有引用该凭证的地方即可同步生效。

AgentRun 中的凭证主要分为两大类:

  • 访问 AgentRun 服务的凭证:用于访问和使用 AgentRun 平台内部的各项资源,包括智能体(Agent)、沙箱(BrowserTool、 CodeInterpreter)、模型治理(模型代理与负载均衡)和工具服务。

  • 访问第三方服务的凭证:用于 AgentRun 平台内部的智能体或工具在执行任务时,访问外部的第三方服务(如大语言模型、云服务 API 等)。

image

本文将指导您如何创建、管理和使用不同类型的凭证。

快速入门:为大语言模型配置凭证

为智能体使用的第三方大语言模型(如 OpenAI)创建一个安全的访问凭证,并将其应用于模型配置中。

步骤一:创建模型服务凭证

  1. 在 AgentRun 平台顶部导航栏选择其他,然后在左侧菜单中选择凭证管理

  2. 在凭证管理页面,选择凭证类别为访问第三方服务凭证,点击添加服务凭证

  3. 配置以下参数:

    • 服务类型:选择模型服务

    • 服务提供商:选择您的大模型服务商,例如 OpenAI

    • 凭证名称:输入一个易于识别的名称,例如 my-llm-key

    • API Key:填入您从供应商处获取的 API Key 原始内容。

  4. 点击添加凭证完成创建。

步骤二:在模型配置中引用凭证

  1. 模型管理页面点击添加模型

  2. 凭证配置部分,选择使用已有凭证,从下拉列表中选择您刚刚创建的凭证,例如my-llm-key

  3. 点击创建模型

完成以上步骤后,当智能体通过此模型与大语言模型交互时,AgentRun 将自动使用您配置的凭证进行安全认证。

凭证类型详解

访问 AgentRun 服务的凭证

此类凭证用于调用 AgentRun 平台内部的服务接口(如智能体管理、沙箱执行、模型治理等)。您可以在凭证详情页查看其绑定的所有资源。

API Key

适用场景:最通用和简单的鉴权方式,适用于大多数支持固定令牌认证的 API 调用客户端。

核心配置

  • 请求头名称:存放 API Key 的请求头字段名。常见值为 AuthorizationX-Api-Key

  • API Key:API Key 的具体值。

注意
请仅填写原始密钥(例如 sk-xxxxxxxxxxxx),请勿包含 Bearer 等任何前缀

JWT(JSON Web Token)

适用场景:适用于与使用 JWT 进行身份验证的系统集成。AgentRun 需要验证传入请求中 JWT 的签名有效性。这通常通过配置 JSON Web Key Set (JWKS) 来实现,AgentRun 支持静态配置 JWKS 内容或通过 URL 动态获取 JWKS

1. JWKS JSON

适用于公钥不常变更的场景,您可以直接将公钥集合(JWKS)的 JSON 内容静态配置在 AgentRun 中。

核心配置:在文本框中填入完整的 JWKS JSON 数据。这通常是一个包含 keys 数组的 JSON 对象。

2. JWKS URL

适用于遵循标准协议(如 OIDC Discovery),且公钥可能会定期轮转的场景。AgentRun 将自动访问您提供的 URL 以获取最新的公钥集合。

核心配置

  • JWKS端点URL:提供标准 JWKS 数据的远程服务地址(通常以 /.well-known/jwks.json 结尾)。AgentRun 将定期从该地址刷新公钥用于验证 JWT 签名。为确保安全,必须使用 HTTPS 协议。

Basic 认证

适用场景:用于快速适配仅支持 Basic 认证的旧系统或内部测试环境。

核心配置

  • 用户名:Basic 认证所需的用户名。

  • 密码:Basic 认证所需的密码。

安全警告
Basic 认证在传输过程中仅使用 Base64 编码,若未使用 HTTPS,用户名和密码极易泄露。因其安全性较低,不推荐在生产环境中使用

配置完成后,请在调用远程服务时使用如下格式的请求头进行鉴权:Authorization: Basic <base64(username:password)>

访问第三方服务的凭证

此类凭证用于 AgentRun 平台内部的组件(如智能体或工具)在执行任务时,访问外部的第三方服务。

模型服务 > 大模型Key

适用场景:当智能体需要调用第三方大语言模型(LLM)服务(如 OpenAI、Anthropic 等)或通过 FunModel 平台部署的开源模型时使用。

核心配置:

  • 服务提供商:选择对应的大模型供应商。

  • API Key:该供应商提供的访问密钥。

工具服务 > API Key

适用场景:用于工具调用通用的第三方 API。

核心配置:配置 API Key 的具体值。该密钥将被加密存储,仅在 Agent 调用时解密使用。

工具服务 > AK/SK

适用场景:用于调用主流云服务商(如阿里云、AWS、腾讯云等)的 API。引用此凭证后,AgentRun 将根据云服务商的规范自动处理复杂的请求签名,您无需关心签名细节。

核心配置

  • 云服务商:选择对应的云服务商。

  • Access Key ID (AK):云服务商提供的访问密钥 ID。

  • Secret Access Key (SK):云服务商提供的访问密钥。

  • 账户ID:(可选)部分云服务商需要的额外身份标识。

核心优势:自动签名
您只需提供 AK/SK,AgentRun 将根据目标云服务商的规范,在后台自动处理复杂的请求签名算法。为确保安全,建议为 AK/SK 凭证绑定具有最小权限的子账号(如 RAM 用户)。

工具服务 > 自定义Headers

适用场景:适配需要通过非标准或多个自定义请求头进行认证的第三方 API。

适用场景:您可以配置一组或多组键值对,它们将作为请求头附加到发往第三方服务的请求中。

管理凭证

在凭证管理列表页,可以对已创建的凭证进行以下操作:

  • 启用/禁用:通过修改启用状态 开关快速控制凭证的有效性。禁用后,任何使用该凭证的调用请求都将失败(通常返回 401 错误)。此功能适用于临时吊销访问权限或响应安全事件。

  • 编辑:更新凭证的配置信息,如更换新的 API Key。

  • 删除:永久移除凭证。此操作不可逆,请谨慎操作,并确保没有正在运行的服务依赖此凭证。

故障排查与FAQ

Q: 更新 FunModel 凭证后,为什么 AgentRun 调用失败?

A: 当前 AgentRun 与 FunModel 平台的凭证信息尚未实现自动同步。当您在 FunModel 更新凭证后,必须手动在 AgentRun 的凭证管理页面找到对应的大模型 Key凭证并进行更新。建议您在计划内进行凭证变更,并预留时间完成双边同步。

Q: 远程获取 JWT 失败,如何排查?

A: 请按以下步骤检查您的远程获取配置:

  1. 检查 JWKS URL:确保 URL 可通过公网正常访问,且为 HTTPS 协议。

  2. 模拟请求:使用 Postman 等工具,根据您配置的请求方法、请求头、请求体,手动调用 JWKS URL,确认接口能正常返回 JWKS 格式的 JSON 数据。

  3. 查看服务日志:如果问题仍然存在,请联系平台管理员查看 AgentRun 后台日志,获取从远程服务获取 Token 失败的具体原因。

Q: API 调用返回 401 Unauthorized 或 403 Forbidden 错误是什么原因?

A: 这通常意味着鉴权失败,请检查:

  1. 您使用的凭证是否已在 AgentRun 中被禁用。

  2. 您发送的 API 请求中,携带的凭证信息(如 Header 名称、Header 值)是否与在 AgentRun 中配置的完全一致,注意检查空格、前缀等细节。

  3. 如果凭证是动态的(如 JWT),确认其是否已过期。