管理特权¶
1. 超级用户¶
授予superuser新用户将成为一个超级用户,拥有所有数据库最高权限,可以对数据库做任何操作。所以对此权限的授予需要非常谨慎,通常一个数据库只有一个超级用户。
2. 备份恢复权限¶
SYSBACKUP是KingbaseES的一种管理特权,允许物理备份 sys_basebackup 连接到目标数据库,执行物理备份操作。详情参见插件 backup_pri 。
2.1. 加载插件¶
修改 kingbase.conf 文件中shared_preload_libraries 参数后重启数据库。
shared_preload_libraries = 'backup_pri'
2.2. 参数配置¶
backup_pri.enable_backup_pri
启用备份恢复权限功能,取值范围为 on或者 off,缺省为off。
\c - system SHOW backup_pri.enable_backup_pri; backup_pri.enable_backup_pri ------------------------------- off (1 row) ALTER SYSTEM SET backup_pri.enable_backup_pri to on; select sys_reload_conf(); SHOW backup_pri.enable_backup_pri; backup_pri.enable_backup_prih ------------------------------- t (1 row)
2.3. SYSBACKUP权限查询示例¶
如何赋予和收回这个新的权限用例。
\c - system create user test; select * from sys_privilege; userid | sysbackup --------+----------- 16401 | f (1 row) alter user test sysbackup; select * from sys_privilege; userid | sysbackup --------+----------- 16401 | t (1 row) alter user test nosysbackup; select * from sys_privilege; userid | sysbackup --------+----------- 16401 | f (1 row) create user test1 sysbackup; select * from sys_privilege; userid | sysbackup --------+----------- 16401 | f 16402 | t (2 rows) drop user test; select * from sys_privilege; userid | sysbackup --------+----------- 16402 | t (1 row) drop user test1; select * from sys_privilege; userid | sysbackup --------+----------- (0 rows)
2.4. 相关系统视图¶
-
backup_pri.dba_sys_privs
查询出所有的用户的sysbackup权限和其他系统权限,若用户没有sysbackup权限,有可能显示的是空,或者nosysbackup两种情况。
backup_pri.dba_sys_privs 视图的每个字段意义如下表所示:
表 3.3.11 backup_pri.dba_sys_privs视图 ¶ 列名
描述
username
用户名
userid
用户 id
superuser
超级用户
inherit
继承
createrole
创建角色
createdb
创建库
canlogin
登录
replication
流复制
bypassrls
安全测试 RLS
sysbackup
备份恢复
-
backup_pri.user_sys_privs
查询出当前的用户的sysbackup权限和其他系统权限,若当前用户没有sysbackup权限,有可能显示的是空,或者 nosysbackup两种情况。
backup_pri.user_sys_privs 视图的每个字段意义如下表所示:
表 3.3.12 backup_pri.user_sys_privs视图 ¶ 列名
描述
username
用户名
userid
用户id
superuser
超级用户
inherit
继承
createrole
创建角色
createdb
创建库
canlogin
登录
replication
流复制
bypassrls
安全测试 RLS
sysbackup
备份恢复
-
backup_pri.role_sys_privs
查询出角色的 sysbackup 权限和其他系统权限,若角色没有 sysbackup 权限,有可能显示的是空,或者 nosysbackup两种情况。
backup_pri.role_sys_privs 视图的每个字段意义如下表所示:
表 3.3.13 backup_pri.role_sys_privs视图 ¶ 列名
描述
rolename
角色名
roleid
角色id
superuser
超级用户
inherit
继承
createrole
创建角色
createdb
创建库
canlogin
登录
replication
流复制
bypassrls
安全测试 RLS
sysbackup
备份恢复