一、概述
·key 指代操作类型(如读取、写入等)
·value 为允许操作的条件,可以是:
·简单的 boolean 值(true/false)
·类似 JavaScript 的表达式字符串
表达式可以是单个逻辑表达式,或通过与/或逻辑组合的多个表达式,系统会根据表达式的计算结果决定是否允许操作。
由于安全规则是专门设计的语言,可能需要一定的学习时间。本指南将帮助你理解规则语言的基础知识,为后续编写更复杂的规则打下基础。
二、基本结构与语法
文档型数据库云存储云函数
安全规则基于 JSON 结构,value 为 boolean 或类似 JavaScript 的表达式:
详情请参考:文档型数据库安全规则
{ "read": true, "write": <<condition>>, "create": true, "update": false, "delete": <<condition>>}
其中包含几个关键概念
·操作类型: JSON key 为支持权限控制的操作类型,create、delete、read、update为集合的增删查改操作,write 为简便的控制集合的写权限配置,若没有配置 create、delete、update 操作,则按照 write 配置处理。
·规则: JSON value 为规则条件,可以为 boolean 值或逻辑表达式(组),当条件值为 true 时表示允许进行操作。
默认情况下,遇到没有定义的操作类型,则拒绝该操作访问
安全规则基于 JSON 结构,value 为 boolean 或类似 JavaScript 的表达式:
详情请参考:云存储安全规则
{ "read": true, "write": <<condition>>}
其中包含几个关键概念
·操作类型: JSON key 为支持权限控制的操作类型,read、write为云存储文件的读写操作。
·条件: JSON value 为规则条件,可以为 boolean 值或逻辑表达式(组),当条件值为 true 时表示允许进行操作。
默认情况下,遇到没有定义的操作类型,则拒绝该操作访问
云函数安全规则基于 JSON 结构,层级较特殊,顶级 key 表示函数名,value 为对应函数的权限配置,也为 JSON 格式,子配置 key 为操作名(invoke),value 为 boolean 或类似 JavaScript 的表达式:
详情请参考:云函数安全规则
{ "*": { "invoke": "auth!=null" }, "function1": { "invoke": false }, "function3": { "invoke": true }}
其中包含几个关键概念
·函数名: JSON 顶级 key 为函数名,用于匹配获取某个具体函数的配置,特殊的允许配置 * 作为函数名的通配符,当没有匹配到具体函数时将获取 * 的配置,云函数安全规则中必须包含 * 配置。
·操作类型: 函数名下子配置 JSON 的 key 为操作类型,暂只支持 invoke,且必须为 invoke。
·条件: 子配置 JSON value 为规则条件,可以为 boolean 值或逻辑表达式(组),当条件值为 true 时表示允许进行操作。表达式只支持使用 auth 是否为 null。