关键字:
KingbaseES、sysprivilege、系统权限、人大金仓
什么是sysprivilege插件
sysprivilege是KingbaseES的一个扩展插件,其中主要功能是对数据库系统ANY权限的扩展。
如何创建sysprivilege插件
打开配置文件kingbase.conf ,在shared_preload_libraries字段添加库名sysprivilege。然后重启数据库,使其生效。
如何使用sysprivilege插件
系统ANY权限是属于系统级权限,目前支持的对象为四种:表,视图,序列,存储过程。 ANY权限还为每种权限设置了ADMIN选项,标志是否为当前权限的ADMIN用户,如果是ADMIN用户,那么允许当前用户授权ANY权限给其他用户。注意:ANY权限不可以操作数据库系统对象。权限说明如下表所示。
对象类型 | 权限 | 说明 |
TABLE | CREATE ANY TABLE | 允许在所有模式下创建表 |
TABLE | ALTER ANY TABLE | 允许修改所有模式下的所有表 |
TABLE | DROP ANY TABLE | 允许删除或截断所有模式下的所有表 |
TABLE | SELECT ANY TABLE | 允许在所有模式下查询所有表 |
TABLE | UPDATE ANY TABLE | 允许在所有模式下更新所有表 |
TABLE | INSERT ANY TABLE | 允许在所有模式下的所有表中插入数据 |
TABLE | DELETE ANY TABLE | 允许在所有模式下的所有表中删除数据 |
VIEW | CREATE ANY VIEW | 允许在所有模式下创建视图 |
VIEW | DROP ANY VIEW | 允许在所有模式下删除视图 |
SEQUENCE | CREATE ANY SEQUENCE | 允许在所有模式下创建序列 |
SEQUENCE | ALTER ANY SEQUENCE | 允许修改所有模式下的序列 |
SEQUENCE | DROP ANY SEQUENCE | 允许删除所有模式下的序列 |
SEQUENCE | SELECT ANY SEQUENCE | 允许对所有模式下的序列执行currval,seedval,lastval 和 incrementval函数 |
SEQUENCE | UPDATE ANY SEQUENCE | 允许对所有模式下的序列执行setval 和 nextval 函数 |
PROCEDURE | CREATE ANY PROCEDURE | 允许在所有模式下创建存储过程和函数 |
PROCEDURE | ALTER ANY PROCEDURE | 允许修改所有模式下的存储过程和函数 |
PROCEDURE | DROP ANY PROCEDURE | 允许删除所有模式下的存储过程和函数 |
PROCEDURE | EXECUTE ANY PROCEDURE | 允许执行所有模式下或包中存储过程和函数、引用任意包中变量 |
更新规划
未来将支持更多系统权限,例如CREATE JOB和CREATE ANY JOB。它们的权限说明如下表所示。
对象类型 | 权限 | 说明 |
JOB | CREATE JOB | 允许创建JOB、PROGRAM、SCHEDULE |
PROGRAM | ||
SCHEDULE | ||
JOB | CREATE ANY JOB |
|
PROGRAM | ||
SCHEDULE |