Oracle数据库安全管理

  • 格式:doc
  • 大小:1.29 MB
  • 文档页数:31

下载文档原格式

  / 31
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 IDENTIFIED BY

DEFAULT TABLESPACE

TEMPORARY TABLESPACE

QUOTA MB ON

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;