鉴权与 Scopes
C2AI2X 当前对外入口并不是匿名入口。
1. 当前鉴权 contract
当前 POST /api/execute 的 live contract 为:
x-zhen-contract-auth: admin_or_api_keysecurity: bearerAuth
因此,外部接入方当前应使用平台签发的 Bearer 凭证访问该路由。
当前 actor 边界还包括:
api_keybearer 可以直接调用该路由,key_id由 bearer 解析adminbearer 当前必须在 body 中显式提供key_idsessionbearer 当前不是这条路由的 live auth 模式
2. required_scopes 的作用
请求体中的 required_scopes 用于表达调用方希望本次执行至少满足哪些 scope。
平台会基于已绑定的 key / actor / org 上下文做 admission:
- 若 scope 不满足,平台拒绝进入执行面
- 若 entitlement 不满足,平台拒绝进入执行面
- 若 quota 不满足,平台拒绝进入执行面
这意味着:
- 调用方可以声明
required_scopes - 但最终解释权不在调用方,而在平台
3. 授权真相边界
即使调用方在 structured_input 中携带 neutral AuthorizationGrant 对象,以下事实仍由平台掌握:
- API key 是否有效
- key 属于哪个 org / workspace / actor
- scopes 是否满足
- entitlements 是否满足
- quota 是否充足
- sandbox 如何构造
zhen-brain-core 不接管这些真相。
4. 实践建议
- 为每个接入方发独立 API key 或明确 Bearer 身份
- 把接入所需 scopes 显式写入
required_scopes - 不要把
AuthorizationGrant当成绕过平台 admission 的手段 - 不要让前台站点或插件直连 brain