Operator scopes 定义 Gateway 客户端认证后可执行的操作范围。这是单一受信 Gateway 域内的控制面防护,不是多租户隔离。需要强隔离时,应运行独立 Gateway。
角色(Roles)
| 角色 | 说明 |
|---|---|
operator | 控制面客户端:CLI、Control UI、自动化、辅助进程 |
node | 能力宿主:macOS、iOS、Android、无头节点 |
Scope 级别
| Scope | 含义 |
|---|---|
operator.read | 只读:状态、列表、日志等非变更操作 |
operator.write | 普通变更:发消息、调用工具、更新设置等,同时满足 operator.read |
operator.admin | 管理员:满足所有 operator.*,配置变更、更新、高风险审批必须 |
operator.pairing | 设备/节点配对管理 |
operator.approvals | exec 和插件审批 API |
operator.talk.secrets | 读取含密钥的 Talk 配置 |
方法 Scope 只是第一道门
每个 Gateway RPC 有最小权限 scope,通过后部分 handler 还会做更严格的审批检查:
device.pair.approve:需要operator.pairing,但审批 operator 设备时不能超出调用者自身 scopenode.pair.approve:根据节点命令列表派生额外 scopechat.send中的/config set:需要operator.admin
设备配对审批规则
- 请求
operator.admin必须调用者持有operator.admin - 非 admin 调用者只能管理自己的配对条目
Node 配对审批
node.pair.approve 根据命令列表派生所需 scope:
- 无命令:
operator.pairing - 非 exec 命令:
operator.pairing+operator.write system.run等:operator.pairing+operator.admin
共享密钥认证
共享 token/password 认证视为受信 operator 访问,OpenAI 兼容 HTTP 接口和 /tools/invoke 会恢复完整默认 operator scope,即使调用者声明了更窄的 scope。