检查CREATE DB权限
检查说明:
拥有CREATE DATABASE权限的用户可以创建数据库,如果用户不需要此权限,进行权限回收。
配置方法:
回收用户本身或其继承角色的CREATE DATABASE权限。
REVOKE CREATE DATABASE FROM user_name; REVOKE CREATE DATABASE FROM role_name;
推荐值:无
检查方法:
- 检查用户本身是否有CREATE DATABASE权限。
SELECT USERNAME, PRIVILEGE FROM DB_USER_SYS_PRIVS WHERE USERNAME = 'user_name' AND PRIVILEGE = 'CREATE DATABASE';
- 检查用户继承的角色是否有CREATE DATABASE权限。
- 查询用户继承的角色。
SELECT GRANTED_ROLE FROM ADM_ROLE_PRIVS WHERE GRANTEE = 'user_name';
- 检查查询到的每个角色是否被授予CREATE DATABASE权限。
SELECT ROLE, PRIVILEGE FROM ROLE_SYS_PRIVS WHERE ROLE = 'role_name' AND ROLE != 'DBA' AND PRIVILEGE = 'CREATE DATABASE';
- 检查查询到的每个角色是否还继承了其它角色。
SELECT GRANTED_ROLE FROM ADM_ROLE_PRIVS WHERE GRANTEE = 'role_name';
- 对于步骤3中查询到的继承角色,递归执行步骤2和步骤3,直到步骤3没有返回的记录,以检查每个角色是否还继承了其它角色以及其继承角色是否被授予CREATE DATABASE权限。
预期结果:无
风险等级:中
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」关注作者【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。评论
- 检查查询到的每个角色是否还继承了其它角色。
- 检查查询到的每个角色是否被授予CREATE DATABASE权限。