安全规则
安全规则 是 CloudBase 云存储的 文件级权限控制 功能,通过自定义表达式精确控制每个文件的读写权限。
PG 模式
本文为传统模式专有功能。在 PG 模式下,文件级权限由 PostgreSQL 的 RLS Policy 表达,能力更强,参见 PG 模式云存储 - RLS 策略模式库。
配置入口
在 云开发平台/云存储 ,点击「权限设置」,选择「自定义安全规则」 即可配置安全规则。
⚠️ 注意:
- 云开发控制台和服务端始终有所有文件读写权限,安全规则仅对客户端(小程序端、Web 等)发起的请求有效
- 修改安全规则后,权限生效需要 1-3 分钟,请耐心等待
- 发布前务必评估规则的安全性,避免
public规则导致数据泄露
基本语法
{
"read": "表达式", // 读取权限控制表达式
"write": "表达式" // 写入权限控制表达式
}
常用模板
- 公开读取,创建者可写
- 仅创建者可读写
- 公开读取,仅管理员可写
- 仅管理员可读写
- 仅登录用户可访问
{
"read": true,
"write": "resource.openid == auth.openid || resource.openid == auth.uid"
}
{
"read": "resource.openid == auth.openid || resource.openid == auth.uid",
"write": "resource.openid == auth.openid || resource.openid == auth.uid"
}
{
"read": true,
"write": false
}
{
"read": false,
"write": false
}
💡 注意:此配置下所有客户端请求均被拒绝,仅管理员可通过云开发控制台或服务端 SDK 访问。
{
"read": "auth != null",
"write": "auth != null && auth.loginType != 'ANONYMOUS'"
}
表达式语法
内置变量
| 变量名 | 说明 | 示例 |
|---|---|---|
| auth | 用户登录信息 | auth.openid、auth.uid |
| resource | 文件资源信息 | resource.openid |