# 规则说明

云存储安全规则用于确定哪些人对存储桶中文件拥有读写权限,也可以用于验证文件元数据。规则基于 json 结构,key为操作类型,valueboolean 或 表达式字符串,当 boolean 或 表达式计算结果为 true 是则表示通过允许访问,否则拒绝访问。例如:

// 默认情况下,read / write 都为 false,拒绝来自前端的访问。
{
}
// action value 可以为 true / false 值,代表 允许/拒绝 访问。
{
    "read": true,
    "write": false
}
// action value 可以为自定义表达式,表达式的计算值决定 允许/拒绝 访问。
{
    "read": "auth != null",
    "write": "auth == null || auth.uid == resource.openid"
}

# 匹配

存储安全规则对应存储桶,对存储桶中所有文件的访问生效。

# 请求校验

上传、下载、删除操作使用请求携带的 auth 身份校验状态进行求值。

# 请求变量

变量名 类型 说明
auth Auth 在用户登录后,提供 openid。如果用户未登录,则为 null。

# Auth

字段名 类型 说明
openid string 用户 openid,仅在已登录方式下存在值

# 资源校验

对规则进行校验是,可能还需要对正在上传/下载/修改或删除的文件元数据进行校验,这样可以创建功能强大的复杂规则来执行任务,例如允许上传包含特顶内容类型的文件。

存储安全规则通过 resource 对象提供文件元数据,可以在 readwrite 时校验这些属性,确保正确的访问。

# Resource

属性 类型 说明
openid string 文件私有归属标识,标记所有者 id