版权声明:本文为博主原创文章,未经博主允许不得转载。 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 ) |