跳到主要内容

权限管理

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:usersstorage:my-buckettable: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

相关命令