云函数安全规则
身份验证
云函数安全规则是基于用户身份的权限管理系统,可以根据当前登录用户的身份进行函数调用权限管理控制。云函数安全规则适用于普通的 C 端身份调用,例如各种客户端的 callFunction
操作,管理端触发、HTTP 触发以及触发器触发不在安全规则的管控范围内。
编写安全规则
函数安全规则配置在环境级别,即环境内所有函数共享一个配置,配置中通过配置层级控制单个函数行为。
与所有安全规则相同,规则的配置基于 JSON 整体配置,但云函数安全规则配置层级更多:
- 顶级 key 表征函数名,特殊的
*
表征所有的函数名通配,匹配时优先匹配函数名,当未匹配时将使用*
的配置。value 为每个函数单独的调用规则子配置。 - 每个子配置中,key 表示操作名(当前只支持
invoke
),value 为 boolean 值或安全规则表达式字符串例如:
{
"*": {
"invoke": "auth!==null"
},
"function1": {
"invoke": false
}
}
限制
- 安全规则顶级配置必须包含 key 为
*
的配置。 - 每个函数下的配置中必须包含 invoke 配置。
- 云函数安全规则暂时只支持有限的 3 种配置,
true、false、"auth!=null"
分别表示允许调用、不允许调用、以及登录后可调用。默认情况下为登录后可调用,即:
{
"*": {
"invoke": "auth != null"
}
}