VolcengineVolcengine ADK

权限策略

入站认证回答“你是谁”,权限策略回答“你能做什么”。VeADK 的权限策略基于 AgentKit RuntimeCedar 声明式授权语言,提供覆盖 User → Agent → Tool 全链路的授权方案。本页介绍如何在控制台配置策略,并在代码中启用校验。

前置准备

参考使用文档,登录火山引擎智能体身份和权限管理平台,创建策略空间与权限策略:

  1. 进入 权限管控 > 权限策略,创建策略空间(填写名称、描述,选择所属项目和标签)。
  2. 在策略空间内新建权限策略,用 可视化编辑Cedar 语句编辑 定义规则(例如:允许指定用户调用某智能体)。
  3. 模拟权限校验 验证策略是否符合预期。

代码实现

AgentKit Runtime 控制台配置 RUNTIME_IDENTITY_NAMESPACE 环境变量,指定策略空间(默认为 default),使校验能匹配到对应的策略规则:

# 设置为你实际创建的策略空间名称
export RUNTIME_IDENTITY_NAMESPACE="my-namespace"

初始化 Agent 时设置 enable_authz=True 即可触发校验。调用时传入待校验的用户 ID:

agent.py
import asyncio

from veadk import Agent, Runner

# 待校验权限的用户 ID
user_id = "9d154b10-285f-404c-ba67-0bf648ff9ce0"

agent = Agent(enable_authz=True)
runner = Runner(agent=agent)

# user_id 是权限校验的核心依据
response = asyncio.run(runner.run(messages="你好", user_id=user_id))
print(response)

运行结果:

  • 授权通过:用户在策略空间中拥有调用该智能体的权限,正常返回响应。
  • 授权失败:用户未被授权,抛出权限异常,例如 Agent <agent role> is not authorized to run by user 9d154b10-285f-404c-ba67-0bf648ff9ce0.

本页导航