Oracle数据库安全管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章Oracle数据库安全管理
学习目标:
●了解Oracle的安全机制。
●掌握用户的概念和管理方法。
●掌握权限和角色的概念和管理方法。
●了解概要文件的概念和应用方法。
安全性对于任何一个数据库管理系统来说都是至关重要的。数据库中通常存有大量的数据,任何非法的访问和侵入都可能会造成无法挽救的损失。Oracle数据库提供了严格、可靠的安全性保护和使用效率,这是其他数据库无法相比的。
10.1 安全管理概述
数据共享是数据库的主要特点之一,特别是基于网络的数据库,保证数据安全则更加重要。Oracle数据库安全性可以分为以下几个层次:
系统安全性:系统级控制数据的存取和使用的机制,包括数据库用户和方案、存储设置、数据库审计、数据库系统跟踪等。
数据安全性:实体级控制数据库的存取和使用的机制,包括系统权限、对象权限、存期资源控制等。
网络安全性:Oracle数据库主要面向网络提供服务,网络软件的安全性和网络数据传输至关重要。它主要包括登录助手、目录管理等集成工具,并通过分发Wallet、数字证书、SSL 安全套接字和数字密钥来保证网络数据传输的安全。
在本章我们着重介绍系统安全性及数据安全性,主要涉及的内容有:用户管理、权限管理及角色管理等。
10.2 用户
为了使用Oracle,我们需要为自己的数据建立相应的用户账户,这是一项基础而重要的工作。在实际应用中,我们应该避免使用SYS 、SYSTEM 等管理账户。下面介绍如何创建和管理用户。
10.2.1 用户和方案
用户(User):也称为账户,是定义在数据库中的对象,是Oracle数据库的基本访问控制机制。当连接到Oracle数据库时,默认情况下必须要提供用户名和口令。只有输入了正确的用户名和口令,才能连接到数据库。
方案(Schema):是用户所拥有的数据库对象的集合。在Oracle数据库中对象是以用户来组织的,用户与方案时一一对应得关系,并且名称相同。例如:SYSTEM用户拥有SYSTEM 方案的所有对象,而SCOTT用户拥有SCOTT方案的所有对象。
当访问数据库对象时,注意以下几点:
●同一个方案中不能存在同名对象,但不同方案下可以有同名对象。
●用户可以直接访问其方案对象,如果要访问其他方案对象,要求必须有对象权限。
●用户访问其他方案对象,需添加方案名作前缀。
●SYS方案拥有数据库目录的基本表和视图,这些基本表和视图对Oracle数据库是至
关重要的。Oracle系统为保持数据字典的一致性,SYS方案的表不能被任何用户或管理员修改。
10.2.2 创建用户
1. 创建用户
创建用户操作一般由DBA用户来完成,如果以其他用户身份创建用户,要求该用户具有CREATE USER的系统权限。创建用户的基本语法如下:
CREATE USER
DEFAULT TABLESPACE
TEMPORARY TABLESPACE
QUOTA
PASSWORD EXPIRE;
其中:
●username:所创建用户名;
●INDENTIFIED BY:指定用户密码;
●DEFAULT TABLESPACE:指定用户默认的表空间;
●TEMPORARY TABLESPACE:指定用户临时表空间;
●QUOTA:指定表空间配额,用来设置用户对象在表空间上可占用的最大空间;
●PASSWORD EXPIRE:指定口令到期后,强制用户在登录时修改口令。
【例10.1】在Student数据库中创建名为“my_user1”的用户帐户。代码如下:
CONN SYSTEM/***
CREATE USER my_user1
IDENTIFIED BY aaa;
图10.1 创建用户“my_user1”
注意:
●初始创建的用户没有任何权限,不能执行任何数据库操作。
●如果不指定DEFAULT TABLESPACE,Oracle会将数据库默认表空间作为用户的默
认表空间。
●如果不指定TEMPORARY TABLESPACE,Oracle会将数据库默认临时表空间作为
用户的临时表空间。
●如果不指定QUOTA子句,用户的表空间配额为0,这样用户没有在相应表空间上
创建数据库对象的权限。
2. 用户授权
用户授权的详细介绍见后面权限一节。这里给my_user1用户分配CREATE SESSION 和CREATE TABLE权限。
【例10.2】为“my_user1”用户分配“CREA TE SESSION”,“CREATE TABLE”权限。代码如下:
GRANT CREATE SESSION ,CREATE TABLE TO my_user1;
图10.2 为用户“my_user1”授权
10.2.3 修改用户
由于工作需要,DBA在管理数据库时可能需要修改用户帐户,如:修改密码;锁定帐户或解除账户锁定;修改用户的默认表空间或临时表空间;修改表空间配额等。修改用户帐户使用ALTER USER命令。
3. 修改密码
任何用户都可以修改自己的帐户密码,系统管理员可以重置其它用户账户。
【例10.3】将用户帐户“my_user1”密码修改为“abc”。代码如下:
ALTER USER my_user1 IDENTIFIED BY abc;