跳到主要内容

云函数安全规则

身份验证

云函数安全规则是基于用户身份的权限管理系统,可以根据当前登录用户的身份进行函数调用权限管理控制。云函数安全规则适用于普通的 C 端身份调用,例如各种客户端的 callFunction 操作,管理端触发、HTTP 触发以及触发器触发不在安全规则的管控范围内。

编写安全规则

函数安全规则配置在环境级别,即环境内所有函数共享一个配置,配置中通过配置层级控制单个函数行为。

与所有安全规则相同,规则的配置基于 JSON 整体配置,但云函数安全规则配置层级更多:

  1. 顶级 key 表征函数名,特殊的 * 表征所有的函数名通配,匹配时优先匹配函数名,当未匹配时将使用 * 的配置。value 为每个函数单独的调用规则子配置。
  2. 每个子配置中,key 表示操作名(当前只支持 invoke),value 为 boolean 值或安全规则表达式字符串例如:
{
"*": {
"invoke": "auth!==null"
},
"function1": {
"invoke": false
}
}

限制

  1. 安全规则顶级配置必须包含 key 为 * 的配置。
  2. 每个函数下的配置中必须包含 invoke 配置。
  3. 云函数安全规则暂时只支持有限的 3 种配置,true、false、"auth!=null"分别表示允许调用、不允许调用、以及登录后可调用。默认情况下为登录后可调用,即:
{
"*": {
"invoke": "auth != null"
}
}