权限管理
v3.0.0+
tcb permission 命令自 v3.0.0 起提供。
tcb permission 命令用于管理 CloudBase 资源(数据库集合、存储桶、云函数等)的访问权限。
支持的资源类型与权限级别
| 资源类型 | 支持的 --level | 说明 |
|---|---|---|
collection(文档型数据库集合) | readonly / private / adminwrite / adminonly / custom | |
storage(存储桶) | readonly / private / adminwrite / adminonly / custom | |
table(SQL 表) | readonly / private / adminwrite / adminonly | |
function(云函数) | custom | 只支持自定义规则 |
权限级别含义
| 级别 | 集合/表 | 存储 |
|---|---|---|
readonly | 读取全部数据,修改本人数据 | 所有用户可读,仅创建者和管理员可写 |
private | 读取和修改本人数据 | 仅创建者及管理员可读写 |
adminwrite | 读取全部数据,不可修改数据 | 所有用户可读,仅管理员可写 |
adminonly | 无权限(仅管理员) | 仅管理员可读写 |
custom | 自定义安全规则(需配合 --rule) | 同左 |
tcb permission set
设置指定资源的访问权限。
tcb permission set <type>:<resource> --level <level> [options]
tcb permission set function --level custom --rule '<json>' [options]
参数
| 参数 | 说明 |
|---|---|
<type>:<resource> | 资源描述符,如 collection:users、storage:my-bucket、table:orders |
-e, --env-id <envId> | 环境 ID |
--level <level> | 权限级别(见上表) |
--rule <json> | 自定义安全规则(JSON 字符串),level=custom 时必填 |
--json | 输出 JSON |
示例
# 将集合 users 设为所有人可读、本人可写
tcb permission set collection:users --level readonly -e my-env-id
# 将存储桶设为仅管理员可操作
tcb permission set storage:my-bucket --level adminonly -e my-env-id
# 云函数设置自定义安全规则
tcb permission set function --level custom --rule '{"read": true, "write": false}' -e my-env-id
# 设置 SQL 表权限
tcb permission set table:orders --level private -e my-env-id
tcb permission get
查询一个或多个资源的当前权限配置。
tcb permission get [type[:resource,...]] [options]
参数
| 参数 | 说明 |
|---|---|
[type[:resource]] | 可选。不传则查询所有类型;传 table 查该类型全部资源;传 table:users 精确查询 |
-e, --env-id <envId> | 环境 ID |
--json | 输出 JSON |
示例
# 查询所有资源类型的权限
tcb permission get -e my-env-id
# 查询所有集合权限
tcb permission get collection -e my-env-id
# 精确查询指定集合
tcb permission get collection:users -e my-env-id
# 批量查询多个集合
tcb permission get collection:users,orders -e my-env-id
# 查询云函数权限
tcb permission get function -e my-env-id
相关命令
tcb role— 管理角色与访问策略- 控制台配置:CloudBase 控制台