角色管理
v3.0.0+
tcb role 命令自 v3.0.0 起提供。
tcb role 命令用于管理 CloudBase 环境中的访问控制角色,包括系统预设角色和自定义角色。
角色与权限的关系
- 权限(Permission):控制资源级别的读写访问(
tcb permission) - 角色(Role):绑定用户与策略,控制网关路由层的访问权限
- 二者各司其职,共同构成 CloudBase 访问控制体系
系统预设策略
创建自定义角色时可引用以下预设策略:
| 策略 Code | 效果 | 说明 |
|---|---|---|
AdministratorAccess | allow | 管理员全量访问 |
FunctionsAccess | allow | 云函数访问权 |
StoragesAccess | allow | 云存储访问权 |
CloudrunAccess | allow | 云托管访问权 |
FunctionsDeny | deny | 禁止访问云函数 |
StoragesDeny | deny | 禁止访问云存储 |
CloudrunDeny | deny | 禁止访问云托管 |
deny 策略优先于 allow,同时存在时以 deny 为准。
tcb role list
查询环境下所有角色(系统角色 + 自定义角色)。
tcb role list [options]
参数
| 参数 | 说明 | 默认值 |
|---|---|---|
-e, --env-id <envId> | 环境 ID | — |
--type <type> | 过滤类型:system / custom | 全部 |
--limit <n> | 返回条数上限 | 20 |
--offset <n> | 跳过条数 | 0 |
--detail | 同时显示成员列表和策略详情 | — |
--json | 输出 JSON | — |
示例
# 查看全部角色
tcb role list -e my-env-id
# 只看自定义角色
tcb role list --type custom -e my-env-id
# 显示详情(含成员和策略)
tcb role list --detail -e my-env-id
tcb role get
查询指定角色的详细信息。
tcb role get --id <roleId> [options]
tcb role get --identity <identity> [options]
tcb role get --name <name> [options]
三种查询方式选其一(必填):
| 参数 | 说明 |
|---|---|
--id <roleId> | 按角色 ID 精确查询 |
--identity <identity> | 按角色标识精确查询 |
--name <name> | 按角色名称模糊查询 |
--detail | 显示成员和策略详情 |
-e, --env-id <envId> | 环境 ID |
示例
# 按 ID 查询
tcb role get --id 2032299359962361858 -e my-env-id
# 按标识查询(含详情)
tcb role get --identity administrator --detail -e my-env-id
tcb role create
创建自定义角色。
tcb role create --name <name> --identity <identity> [options]
参数
| 参数 | 说明 | 约束 |
|---|---|---|
--name <name> | 角色名称(必填) | 2–32 字符,中文/字母开头 |
--identity <identity> | 角色标识(必填,唯一) | 字母/数字/_-:@. |
--description <desc> | 角色描述 | 最多 255 字符 |
--users <uids> | 初始成员 UID,逗号分隔 | 最多 100 个 |
--policies <json> | 策略 JSON 数组(见下方格式) | 最多 50 条 |
-e, --env-id <envId> | 环境 ID | — |
--policies 格式
策略数组支持预设策略字符串和自定义策略对象混合使用:
[
"FunctionsAccess",
{
"code": "custom_api",
"name": "API 路径策略",
"description": "仅允许访问 /api 路径",
"effect": "allow",
"expression": {
"version": "1.0",
"statement": [
{
"action": "functions:/api/*",
"resource": "*",
"effect": "allow"
}
]
}
}
]
自定义策略对象字段:
| 字段 | 说明 | 必填 |
|---|---|---|
code | 策略唯一标识 | ✅ |
effect | allow 或 deny | ✅ |
name | 策略名称 | 否 |
description | 描述 | 否 |
expression | 策略表达式(含 version + statement 数组) | 否 |
statement 子语句字段:
| 字段 | 说明 | 示例 |
|---|---|---|
action | <功能类型>:<路径>,* 表示全部 | functions:* / functions:/api/* |
resource | 资源范围,* 表示全部 | * |
effect | allow 或 deny | allow |
功能类型枚举:storages / functions / cloudrun / model