主题
PERMISSIONS 权限表
权限表用于记录用户或用户组对资源的授权结果。它描述“谁”可以对“哪个资源”执行“哪些操作”,并可附带数据范围限制,常用于资源访问控制、菜单或文件授权、报表查看和导出等场景。
位置
模型路径:/sysdata/data/tables/sec/PERMISSIONS.tbl
物理表名:SZSYS_5_PERMISSIONS
表结构
| 字段名 | 字段类型 | 字段描述 |
|---|---|---|
| PERMISSION_ID | VARCHAR(64) | 权限ID,是一个随机串,保证全局唯一,主键 |
| OWNER_ID | VARCHAR(64) | 权限拥有者ID |
| OWNER_TYPE | VARCHAR(1) | 权限拥有者类型,取值有:u-用户;g-用户组 |
| RES_PATH | VARCHAR(512) | 资源路径 |
| ALLOWS | VARCHAR(512) | 可用操作,分号分割,如:mgr-file-save;view-export |
| FORBIDS | VARCHAR(512) | 被禁止操作,分号分割,如:view-basic;mgr-file |
| DATA_RANGE | VARCHAR(2048) | 数据范围,用户可以对哪些条件范围内的数据进行操作,通常比较简单,就是当前用户所在的部门,但是也存在一些特殊情况 |
| GRANTOR | VARCHAR(64) | 分配者 |
| GRANT_TIME | TIMESTAMP | 分配时间 |
| OPTIONS | VARCHAR(1024) | 扩展授权信息 |
说明
记录规则:
OWNER_ID+OWNER_TYPE+RES_PATH应该唯一- 一个人对于一个资源的一组操作只会记录一条,一个人对一个资源可能会有多组操作,每组对应不同的数据范围,例如张三对于/ana/dashboard1有武汉市的计算和导出权限,但只有湖北省的查看权限。
使用注意
OWNER_TYPE为u时OWNER_ID表示用户,为g时表示用户组。ALLOWS与FORBIDS同时影响最终权限;排查访问问题时需要同时查看用户直接授权、用户组授权和禁止项。DATA_RANGE可能包含业务数据过滤范围,属于权限控制信息,修改前应确认影响的资源和用户范围。
