Oracle dba_role_privs

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34556414/article/details/82455875

这里是这边移动数据库的一个加固项,回收和业务无关但是具有DBA权限的账号。

检查是否在配置用户所需的最小权限;检查是否使用数据库角色(ROLE)来管理对象的权限

注意事项及影响:

  •  检查拥有dba 角色的非系统用户,与业务确认用户dba 是否可以回收
  •  加固前需要业务梳理好用户需要的权限,先授权再回收
  • 需要注意 UNLIMITED TABLESPACE 权限,回收dba 之后该权限也就回收了,需要结束后单独授予

 

序号

操作内容

操作步骤

责任人

时间

1

登陆数据库

Sqlplus ‘/as sysdba’

 

 

2

检查数据库状态

Select open_mode from v$database;

 

 

3

检查有dba 权限的用户

select grantee from sys.dba_role_privs where granted_role='DBA' AND GRANTEE NOT IN ('DBSNMP','SYSTEM','SYSMAN','SYS');

 

 

4

授权

回收dba之前授权用户resource,connect角色

Grant connect,resource to 用户;

其余权限根据业务需求决定

 

 

5

回收用户权限

根据上面的查询结果回收用户权限

Revoke dba from 用户名;

回收之前确认该用户不需要dba 权限

Grant resource to 用户;

否则用户对表空间的unlimited quota权限会被回收

 

 

6

应用测试

业务测试是否正常,如果不正常重新赋权dba

Grant dba to 用户名

 

 

 

下面是对user_role_privs视图的解释

USER_ROLE_PRIVS describes the roles granted to the current user.

Column Datatype NULL Description
GRANTEE VARCHAR2(30)   Name of the user or role receiving the grant
GRANTED_ROLE VARCHAR2(30) NOT NULL Granted role name
ADMIN_OPTION VARCHAR2(3)   Indicates whether the grant was with the ADMIN OPTION (YES) or not (NO)
DEFAULT_ROLE VARCHAR2(3)   Indicates whether the role is designated as a DEFAULT ROLE for the user (YES) or not (NO)

猜你喜欢

转载自blog.csdn.net/qq_34556414/article/details/82455875