检查说明:
拥有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 PRIVILEGE = 'CREATE DATABASE';
- 检查查询到的每个角色是否还继承了其它角色。
SELECT GRANTED_ROLE FROM ADM_ROLE_PRIVS WHERE GRANTEE = 'role_name';
- 对于步骤3中查询到的继承角色,递归执行步骤2和步骤3,直到步骤3没有返回的记录,以检查每个角色是否还继承了其它角色以及其继承角色是否被授予CREATE DATABASE权限。
预期结果:无
风险等级:中