码迷,mamicode.com
首页 > 数据库 > 详细

数据库安全管理

时间:2017-01-04 07:58:41      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:数据库安全   oracle   管理员   密码   操作系统   

一、Oracle身份认证方法

Oracle身份验证主要有如下几种方式:

  • 操作系统认证

  • 口令文件认证

  • 数据库密码认证

  • 外部身份验证

  • 网络身份验证

其中,操作系统认证和口令文件针对管理员账户;外部身份验证类似于操作系统认证。

1、操作系统认证

 操作系统用户添加到DBA组之后,可以直接用connect / as sysdba连接。如:

[root@mycentos ~]# useradd scott
[root@mycentos ~]# su scott
[scott@mycentos ~]$ export ORACLE_SID=orcl
[scott@mycentos ~]$ export ORACLE_BASE=/app/oracle
[scott@mycentos ~]$ export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
[scott@mycentos ~]$ export PATH=$PATH:$ORACLE_HOME/bin
[scott@mycentos ~]$ export LANG=en_US.UTF-8
[scott@mycentos ~]$ alias sqlplus=‘rlwrap sqlplus‘;
[scott@mycentos ~]$ alias rman=‘rlwrap rman‘;
[scott@mycentos ~]$ sqlplus /nolog
SQL> conn /as sysdba
ERROR:
ORA-01031: insufficient privileges

#另一窗口中执行

[root@mycentos ~]# usermod -a -G dba scott
[root@mycentos ~]# grep scott /etc/group
dba:x:500:oracle,scott

#此时再执行

SQL> conn /as sysdba
Connected.

是否启用操作系统验证,由sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES参数控制,它具有如下三个值:

  • NONE:作用是不允许通过 OS 系统用户登录数据库,需要提供用户名及密码;

  • ALL:作用是允许所有的登录方式;

  • NTS:作用是允许本地操作系统用户认证;

当sqlnet.authentication_services=none时,只能使用密码连接。

SQL> conn /as sysdba
ERROR:
ORA-01031: insufficient privileges
SQL> conn sys/asd as sysdba
Connected.

当sqlnet.authentication_services=all时,允许操作系统认证。

SQL> conn /as sysdba
Connected.

sqlnet.authentication_services=nts时,linux系统下不能使用操作系统认证。


2、口令文件的管理

[读书笔记]密码文件总结

3、数据库密码认证

 简而言之就是:conn user/pwd@服务名

4、外部身份验证

创建用户时使用externally参数。

5、网络身份验证

 一个用于管理身份的新兴标准时使用 LDAP 服务器。Oracle Internet Directory(OID) 就是 Oracle 符合 LDAP 标准的一个产品,全局用户就是在 LDAP 目录中定义的用户。[暂时还未接触到,目前可以忽略,创建用户时使用globally参数]


二、用户管理

2.1创建用户

create user user_name

[identified by password |externally| globally] #数据库认证方式,数据库认证、操作系统认证

[default collation collation_name]#很少用到

[default tablespace tablespace_name]

[[locla] temporary tablespace tablespace_name|tablespace group name]

[quota size_clause|unlimited on tablespace_name]

[profile profile_name] #概要文件,只做了解,oracle建议使用 Database Resource Manager

[password expire]#密码立即失效

[account lock|unlock]

[enable editions]#应该是版本控制

[container=current|all]#CDB和PDB中使用

2.2修改用户

alter user 开头,后面的语句基本与create user相同。

2.3 删除用户

DROP USER user_name [ CASCADE ] ;

2.4 权限管理

oracle权限的分配与回收

1)权限分配官方文档:

http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9013.htm#SQLRF01603

2)权限回收官方文档:

http://docs.oracle.com/cd/E11882_01/server.112/e41084/statements_9020.htm#SQLRF01609

三、角色管理

3.1 角色的创建

create role role_name;

3.2 权限分配

grant role to user/role;

3.3 角色删除

drop role;

3.4 系统预定义的角色

connect:11.2中只有create session 的权限;

resource:具有创建数据对象和过程对象的权限,还包括unlimited tablespace的权限;

dba:处了启动和关闭数据库外几乎所有权限

select_catalog_role:只有查看数据字典的权限,但没有系统权限或针对用户数据的权限。

scheduler_admin:拥有用于管理调度服务的调度程序作业所需的系统权限。

四、配置文件

ORACLE 配置文件

五、审计

【读书笔记】数据库审计



本文出自 “三国冷笑话” 博客,请务必保留此出处http://myhwj.blog.51cto.com/9763975/1888728

数据库安全管理

标签:数据库安全   oracle   管理员   密码   操作系统   

原文地址:http://myhwj.blog.51cto.com/9763975/1888728

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!