ITPub博客

首页 > 数据库 > > 管理用户、角色和权限-控制拥有GRANT ANY ROLE权限的用户

管理用户、角色和权限-控制拥有GRANT ANY ROLE权限的用户

作者:GaussDB_数据库 时间:2020-01-08 09:30:17 0 删除 编辑

检查说明:

同时拥有GRANT ANY ROLE和GRANT ANY PRIVILEGE权限的用户可以将系统中任何角色(包括DBA角色)授予其它用户,需要谨慎授予用户该权限。

配置方法:

回收用户本身或其继承角色的GRANT ANY ROLE权限。
REVOKE GRANT ANY ROLE FROM user_name;
REVOKE GRANT ANY ROLE FROM role_name;

推荐值:无

检查方法:

  1. 检查用户本身是否有GRANT ANY ROLE权限。
    SELECT USERNAME, PRIVILEGE FROM DB_USER_SYS_PRIVS WHERE USERNAME = 'user_name' AND PRIVILEGE = 'GRANT ANY ROLE';
  2. 检查用户继承的角色是否有GRANT ANY ROLE权限。
  1. 查询用户继承的角色。
    SELECT GRANTED_ROLE FROM ADM_ROLE_PRIVS WHERE GRANTEE = 'user_name';

  1. 检查查询到的每个角色是否被授予GRANT ANY ROLE权限。
    SELECT ROLE, PRIVILEGE FROM ROLE_SYS_PRIVS WHERE ROLE = 'role_name'  AND PRIVILEGE = 'GRANT ANY ROLE';

  1. 检查查询到的每个角色是否还继承了其它角色。
    SELECT GRANTED_ROLE FROM ADM_ROLE_PRIVS WHERE GRANTEE = 'role_name';

  1. 对于步骤3中查询到的继承角色,递归执行步骤2和步骤3,直到步骤3没有返回的记录,以检查每个角色是否还继承了其它角色以及其继承角色是否被授予GRANT ANY ROLE权限。

预期结果:无

风险等级:中

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3130878/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19196