权限控制
CloudBase 提供两套权限模型,分别对应不同的环境模式,两者解决的核心问题相同——"用户能访问哪些资源",但实现机制完全不同:
| 环境模式 | 权限模型 | 配置方式 |
|---|---|---|
| 传统模式 | 角色 + 策略(RBAC) | 控制台可视化配置 |
| PG 模式 | 三种数据库角色(anon / authenticated / service_role) + GRANT + 行级安全策略(RLS) | SQL 语句(同时支持控制台辅助配置) |
模式选择
- PG 模式用户:完整的权限模型说明请阅读 PG:身份认证(含三角色、GRANT、RLS、典型场景),本页不适用
- 传统模式用户:继续阅读下文
角色 + 策略(传统模式)
CloudBase 权限控制通过角色体系实现精细化的权限管理,解决"用户能访问哪些资源"的问题。
前往 云开发平台/身份认证/权限控制 查看权限控制。
权限模型
CloudBase 权限控制基于 角色-策略 模型:
用户 → 角色 → 网关权限 + 资源权限 + 数据权限
- 角色:权限的载体,将用户分配到不同角色
- 网关权限:在用户尝试访问资源时的第一道防线,鉴权时间早于资源健全,查看网关权限控制
- 资源权限:该角色可以访问哪些资源(数据模型、云函数、云存储等)
- 数据权限:可以访问哪些数据(全部数据、仅自己创建的数据、特定条件数据)
角色体系
系统角色
CloudBase 提供五种内置系统角色,满足常见的权限场景:
| 角色类型 | 说明 | 典型使用场景 |
|---|---|---|
| 管理员 | 拥有所有权限,可管理环境、成员、资源 | 项目负责人、技术主管 |
| 所有用户 | 包含所有已登录和未登录用户 | 公开内容访问控制 |
| 组织成员 | 添加到组织架构的用户 | 企业内部应用访问 |
| 注册用户 | 除组织成员外的非匿名登录用户,在用户管理中查看 | C 端应用用户(如电商应用、社交应用) |
| 匿名用户 | 使用匿名登录的访客 | 公开页面、营销落地页 |
⚠️ 安全警告:管理员角色拥有系统最高权限(删除数据、修改配置、管理成员等),请谨慎使用。建议为日常操作创建权限受限的自定义角色,仅在必要时使用管理员账号。
自定义角色
当系统角色无法满足业务需求时,可以创建自定义角色以实现更精细的权限控制。
创建步骤:
- 访问 云开发平台/身份认证/权限控制 页面
- 点击「创建角色」
- 设置角色标识和描述(标识用于代码中引用)
- 配置该角色的资源访问权限
常见自定义角色示例:
| 角色标识 | 角色名称 |
|---|