权限策略
入站认证回答“你是谁”,权限策略回答“你能做什么”。VeADK 的权限策略基于 AgentKit Runtime 与 Cedar 声明式授权语言,提供覆盖 User → Agent → Tool 全链路的授权方案。本页介绍如何在控制台配置策略,并在代码中启用校验。
前置准备
参考使用文档,登录火山引擎智能体身份和权限管理平台,创建策略空间与权限策略:
- 进入 权限管控 > 权限策略,创建策略空间(填写名称、描述,选择所属项目和标签)。
- 在策略空间内新建权限策略,用 可视化编辑 或 Cedar 语句编辑 定义规则(例如:允许指定用户调用某智能体)。
- 用 模拟权限校验 验证策略是否符合预期。
代码实现
在 AgentKit Runtime 控制台配置 RUNTIME_IDENTITY_NAMESPACE 环境变量,指定策略空间(默认为 default),使校验能匹配到对应的策略规则:
# 设置为你实际创建的策略空间名称
export RUNTIME_IDENTITY_NAMESPACE="my-namespace"初始化 Agent 时设置 enable_authz=True 即可触发校验。调用时传入待校验的用户 ID:
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.