KingbaseES数据库角色的启用和禁用

在不删除角色的前提下,在本地库内使角色失效,使失效的角色再生效。
一、修改 kingbase.conf 文件中 shared_preload_libraries 参数。
shared_preload_libraries = 'roledisable'
create extension roledisable;

二、查看角色状态 :SYSTEM 可以通过roledisable.sys_role_status视图来查看系统所有角色在当前库内的启用/禁用状态。
SELECT * FROM roledisable.sys_role_status;
字段说明:
1、oid:角色在数据库内的ID。
2、rolename:角色在数据库内的名称。
3、status:角色的状态,Enable表示角色被启用,Disable 表示角色被禁用。

三、启用角色:将角色设置为启用状态。
ALTER ROLE rolename ENABLE;
注意事项:
1、执行权限: 需要以系统管理员权限执行,以非系统管理员执行时报告错误。
2、角色要求:被启用的角色需事先存在。
3、新建角色:新创建的角色默认为启用状态。

四、禁用角色:将角色设置为禁用状态。
ALTER ROLE rolename DISABLE;
注意事项:
1、执行权限:需要以系统管理员权限执行,以非系统管理员执行时报告错误。
2、角色要求:被禁用的角色需事先存在。
3、系统内置角色;系统内置角色无法被禁用。如初始化用户、sao、sso等无法被禁用。

被禁用角色的表现:
1、当角色被禁用后,断开权限继承关系,不能从该角色直接和间接继承权限,间接使用被禁用角色的权限时应该报角色被禁用或权限错误。
2、以SET ROLE 切换到被禁用的角色时报告错误。
3、当会话使用的系统管理员角色被禁用时,因系统管理员绕过权限检查因此不会对其造成权限的影响。
4、当前会话使用的非系统管理员角色被禁用时,被禁用角色对权限继承关系产生影响因缓存机制可能不会立即生效,当切换角色权限检查或重新登录后生效。
5、角色在使用期间被禁用时,以被禁用角色(非系统管理员)执行需检查权限的操作时,报当前角色被禁用错误。
6、角色被禁用状态下,可以修改角色权限和角色关系。如使用GRANT 和 REVOKE 对其操作,使用ALTER ROLE对其操作。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值