VolcengineVolcengine ADK

概述

VeADK 的安全能力覆盖智能体的四个方面:谁能调用你的智能体(入站认证)、智能体如何安全地调用外部服务(出站认证 / 凭据托管)、谁被授权做哪些操作(权限策略),以及如何在可验证的可信通道中执行(可信执行)。前三者都构建在火山引擎 Agent Identity 之上——为智能体与工具分配数字身份、加密托管第三方凭据、按属性与上下文动态授权。

本页是这四个方面的导航,并集中说明出站认证共用的代码用法与常见问题,各出站子页面只描述各自的差异。

四个安全平面

平面解决的问题文档
入站认证验证调用方身份,保护对智能体的访问入站认证
出站认证让智能体安全地代表自己或用户访问第三方服务见下方三种凭据方式
权限策略基于策略决定某用户是否可调用某智能体 / 工具权限策略
可信执行端到端加密、可验证组件身份的可信通道Trusted MCP

入站认证

控制谁能调用你的智能体。VeADK 支持 API KeyOAuth2 两种入站认证,可由 API 网关处理(VeFaaS 部署),也可在应用内通过 Starlette/FastAPI 中间件集成。部署时用 --auth-method=api-key--auth-method=oauth2 指定。

参见入站认证

出站认证

智能体调用外部 API 或 MCP 服务时,凭据由 Agent Identity 加密托管,不在代码中出现明文。Agent Identity 负责令牌缓存、自动刷新与凭据轮换——令牌过期由平台透明处理,无需在代码中管理。根据场景选择凭据方式:

方式适用场景文档
API Key固定凭证、服务间通信,最简单API Key
OAuth2 M2M后端服务间认证,支持令牌自动刷新OAuth2 M2M
OAuth2 用户委托代表用户访问第三方服务,需用户授权OAuth2 用户委托

在代码中注入凭据

三种出站方式共用同一组工具:用 VeIdentityFunctionTool 封装普通函数,或用 VeIdentityMcpToolset 封装整个 MCP 服务。区别只在传入的 auth_configapi_key_auth(...)oauth2_auth(...))。

VeIdentityFunctionToolinto 参数指定把凭据注入到你函数的哪个参数。它有默认值,通常无需显式设置:

auth_config 类型into 默认值
api_key_auth(...)"api_key"
oauth2_auth(...)"access_token"

调用工具时无需自己传这个凭据参数——Agent Identity 取出托管的凭据并注入。下例展示通用骨架(具体的 auth_config 见各子页面):

from veadk.integrations.ve_identity import VeIdentityFunctionTool, api_key_auth
import aiohttp

async def call_api(api_key: str, endpoint: str):
    headers = {"Authorization": f"Bearer {api_key}"}
    async with aiohttp.ClientSession() as session:
        async with session.get(endpoint, headers=headers) as resp:
            return await resp.json()

tool = VeIdentityFunctionTool(
    func=call_api,
    auth_config=api_key_auth(provider_name="my-api-provider"),
    # into 省略时按 auth 类型取默认值,此处即 "api_key"
)

封装 MCP 服务时换用 VeIdentityMcpToolset,把同一个 auth_config 用于整个服务:

from veadk.integrations.ve_identity import VeIdentityMcpToolset, api_key_auth
from mcp import StdioServerParameters

toolset = VeIdentityMcpToolset(
    auth_config=api_key_auth(provider_name="my-api-provider"),
    connection_params=StdioServerParameters(
        command="python",
        args=["-m", "my_api_mcp_server"],
    ),
)

常见问题

Q:如何更新或轮换凭据?

A:在 Agent Identity 控制台编辑对应凭证即可,代码无需改动。

Q:令牌过期怎么办?

A:Agent Identity 自动缓存与刷新令牌,应用无需处理过期。

Q:三种出站方式怎么选?

A:凭证固定、无需刷新选 API Key;需要短期令牌与自动刷新的服务间认证选 OAuth2 M2M;需代表某个用户访问选 OAuth2 用户委托

权限策略

入站认证回答“你是谁”,权限策略回答“你能做什么”。VeADK 基于 AgentKit Runtime 与 Cedar 声明式授权语言,提供覆盖 User → Agent → Tool 全链路的细粒度授权,在 Agent(enable_authz=True) 时触发校验。

参见权限策略

可信执行

需要端到端加密、并验证通信双方身份时,用 Trusted MCP——在标准 MCP 之上扩展组件间的身份证明与加密通道。结合机密计算可让智能体与模型运行在可信环境中。

参见 Trusted MCP

本页导航