关键字:
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
- 允许创建JOB、PROGRAM、SCHEDULE
- 允许修改、删除任意JOB、PROGRAM、SCHEDULE
PROGRAM
SCHEDULE
参考资料
《KingbaseES插件参考手册》