领域模型通过访问策略控制数据权限
基于模型主对象配置策略,子对象权限随主对象
提供两类权限:全局权限,例如全局新建;行级权限,例如行级查询、删除、更新
每条策略控制:满足先验条件时允许或拒绝指定领域动作
其中,先验条件可使用DeepModel访问规则,即基于DeepQL的对象规则,实现灵活配置
目前访问策略已兼容老版权限方案,通过配置先验条件为权限方案的策略
配置策略前需要先开启策略控制,开启后所有数据与动作均受策略控制,无策略时默认无权
可点击“恢复初始策略”,清空已有策略,并创建默认的访问策略
新建策略时,包含两类权限,分别对应两类资源
全局权限:与存量数据无关,例如全局新建
行级权限:基于存量行级数据,例如行级查询、删除、更新
每条策略设置控制内容:先验条件 + 谓语 + 资源动作,即满足先验条件时允许或拒绝指定领域动作
先验条件,即需要满足的条件
全局权限,包含三类:任何情况、指定用户组、权限方案
行级权限,包含四类:任何情况、指定用户组、访问规则、权限方案
注:
指定用户组可多选,在其中任一用户组的用户视为满足该条件
访问规则即基于DeepQL的对象规则,在DeepModel中配置,详见后面章节:全局变量与访问规则(DeepModel相关)
权限方案用于兼容老版权限方案,需要先开启额外启用权限方案,详见后面章节:策略兼容权限方案
谓语,即允许(allow)、拒绝(deny)
资源动作,即控制的领域动作
全局权限,仅包含数据动作:新建
行级权限,包含数据动作:查询、删除、更新,以及自定义动作
注:查询是行级权限的基础
允许策略:授权任何其他动作之前,必须先授权查询
拒绝策略:与允许策略相反,拒绝查询权限后,其他动作均取消授权
每条策略还可设置特权,特权方包括:企业管理员、空间管理员、应用管理员、内部接口调用
允许策略:特权方对于条件,视为始终成立
拒绝策略:特权方忽略当前拒绝的策略
权限判定
策略控制关闭时,所有数据与动作都有权限
策略控制开启时,如果无策略或没有启用的策略,则默认无权
策略控制开启时,针对每个资源动作,取相关所有已启用的允许策略的先验条件的并集,再去掉相关所有已启用的拒绝策略的先验条件,作为权限范围(类似下图);还要考虑策略的特权
如果一个资源动作没有配置或启用任何策略,则该动作无权
可点击“在新标签页测试”,测试指定用户的权限
回到顶部
咨询热线