Oracle数据库的用户和权限管理

上传人:飞*** 文档编号:54254897 上传时间:2018-09-10 格式:PPT 页数:53 大小:481.50KB
返回 下载 相关 举报
Oracle数据库的用户和权限管理_第1页
第1页 / 共53页
Oracle数据库的用户和权限管理_第2页
第2页 / 共53页
Oracle数据库的用户和权限管理_第3页
第3页 / 共53页
Oracle数据库的用户和权限管理_第4页
第4页 / 共53页
Oracle数据库的用户和权限管理_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《Oracle数据库的用户和权限管理》由会员分享,可在线阅读,更多相关《Oracle数据库的用户和权限管理(53页珍藏版)》请在金锄头文库上搜索。

1、Oracle的用户和权限管理,本章学习目标 数据库安全性问题一直是人们关注的焦点,数据库数据的丢失以及数据库被非法用户的侵入对于任何一个应用系统来说都是至关重要的问题。确保信息安全的重要基础在于数据库的安全性能。,第五章 Oracle的用户和权限管理,本章内容安排,5.1 用户管理,5.2 权限和角色,5.3 概要文件,5.1.2 创建用户,5.1.3 修改用户,5.1.4 删除用户,5.1.1 数据库的存取控制,5.1 用户管理,1用户鉴别,2用户的表空间设置和定额,5.1.1 数据库的存取控制,3用户资源限制和环境文件,4用户环境文件,用户鉴别 为了防止非授权的数据库用户的使用,Oracl

2、e提供三种确认方法: 操作系统确认、Oracle数据库确认网络服务确认。 由操作系统鉴定用户的优点是: 1)用户能更快,更方便地联入数据库。 2)通过操作系统对用户身份确认进行集中控制:如果操作系统与数据库用户信息一致,那么Oracle无须存储和管理用户名以及密码。 3)用户进入数据库和操作系统审计信息一致。,2用户的表空间设置和定额关于表空间的使用有几种设置选择: 用户的缺省表空间 用户的临时表空间 数据库表空间的空间使用定额,3. 用户资源限制和环境文件 用户可用的各种系统资源总量的限制是用户安全域的部分。利用显式地设置资源限制,安全管理员可防止用户无控制地消耗宝贵的系统资源。资源限制是由

3、环境文件管理。一个环境文件是命名的一组赋给用户的资源限制。另外Oracle为安全管理员在数据库提供是否对环境文件资源限制的选择。 Oracle可限制几种类型的系统资源的使用,每种资源可在会话级、调用级或两者上控制。,在会话级:每一次用户连接到一数据库,建立一会话。每一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进行限制。 在调用级:在SQL语句执行时,处理该语句有几步,为了防止过多地调用系统,Oracle在调用级可设置几种资源限制。,有下列资源限制: (1)为了防止无控制地使用CPU时间,Oracle可限制每次Oracle调用的CPU时间和在一次会话期间Oracle调用所使用的CPU

4、的时间,以0.01秒为单位。 (2)为了防止过多的I/O,Oracle可限制每次调用和每次会话的逻辑数据块读的数目。 (3)Oracle在会话级还提供其它几种资源限制。 每个用户的并行会话数的限制。 会话空闲时间的限制,如果一次会话的Oracle调用之间时间达到该空闲时间,当前事务被回滚,会话被中止,会话资源返回给系统。 每次会话可消逝时间的限制,如果一次会话期间超过可消逝时间的限制,当前事务被回滚,会话被删除,该会话的资源被释放。 每次会话的专用SGA空间量的限制。,4用户环境文件 用户环境文件是指定资源限制的命名集,可赋给Oracle数据库的有效的用户。利用用户环境文件可容易地管理资源限制

5、。 在许多情况中决定用户的环境文件的合适资源限制的最好的方法是收集每种资源使用的历史信息。,5.1.2 创建用户,使用CREATE USER语句可以创建一个新的数据库用户,执行该语句的用户必须具有CREATE USER系统权限。 在创建用户时必须指定用户的认证方式。一般会通过Oracle数据库对用户身份进行验证,即采用数据库认证方式。在这种情况下,创建用户时必须为新用户指定一个口令,口令以加密方式保存在数据库中。当用户连接数据库时,Oracle从数据库中提取口令来对用户的身份进行验证。,使用IDENTIFIED BY子句为用户设置口令,这时用户将通过数据库来进行身份认证。如果要通过操作系统来对

6、用户进行身份认证,则必须使用IDENTIFIED EXTERNAL BY子句。 使用DEFAULT TABLESPACE子句为用户指定默认表空间。如果没有指定默认表空间,Oracle会把SYSTEM表空间作为用户的默认表空间。为用户指定了默认表空间之后,还必须使用QUOTA子句来为用户在默认表空间中分配的空间配额。,此外,常用的一些子句有: TEMPORARY TABLESPACE子句:为用户指定临时表空间。 PROFILE子句:为用户指定一个概要文件。如果没有为用户显式地指定概要文件,Oracle将自动为他指定DEFAULT概要文件。 DEFAULT ROLE子句:为用户指定默认的角色。 P

7、ASSWORD EXPIRE子句:设置用户口令的初始状态为过期。 ACCOUNT LOCK子句:设置用户账户的初始状态为锁定,缺省为:ACCOUNT UNLOCK。 在建立新用户之后,通常会需要使用GRANT语句为他授予CREATE SESSION系统权限,使他具有连接到数据库中的能力。或为新用户直接授予Oracle中预定义的CONNECT角色。,5.1.3 修改用户,在创建用户之后,可以使用ALTER USER语句对用户进行修改,执行该语句的用户必须具有ALTER USER系统权限。 例如:利用下面的语句可以修改用户chenjie的认证方式、默认表空间、空间配额: ALTER USER ch

8、enjie IDENTIFIED BY chenjie_pw QUATA 10M ON mbl_tbs;,ALTER USER语句最常用的情况是用来修改用户自己的口令,任何用户都可以使用ALTER USERIDENTIFIED BY语句来修改自己的口令,而不需要具有任何其他权限。但是如果要修改其他用户的口令,则必须具有ALTER USER系统权限。,DBA还会经常使用ALTER USER语句锁定或解锁用户账户。例如: ALTER USER chenjie ACCOUNT LOCK; ALTER USER chenjie ACCOUNT UNLOCK;,5.1.4 删除用户,使用DROP USE

9、R语句可以删除已有的用户,执行该语句的用户必须具有DROP USER系统权限。 如果用户当前正连接到数据库中,则不能删除这个用户。要删除已连接的用户,首先必须使用ALTER SYSTEMKILL SESSION语句终止他的会话,然后再使用DROP USER语句将其删除。,如果要删除的用户模式中包含有模式对象,必须在DROP USER子句中指定CASCADE关键字,否则Oracle将返回错误信息。例如:利用下面的语句将删除用户chenjie,并且同时删除他所拥有的所有表、索引等模式对象: DROP USER chenjie CASCADE;,5.2.2 创建角色,5.2.3 授予权限或角色,5.

10、2.4 回收权限或角色,5.2.1 基本概念,5.2 权限和角色,5.2.5 激活和禁用角色,1权限,2角色,5.2.1 基本概念,1.权限权限是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有两类权限:系统权限和对象权限。 1)系统权限:是执行一处特殊动作或者在对象类型上执行一种特殊动作的权利。系统权限可授权给用户或角色,一般,系统权限只授予管理人员和应用开发人员,终端用户不需要这些相关功能。 2)对象权限:在指定的表、视图、序列、过程、函数或包上执行特殊动作的权利。,2.角色 为相关权限的命名组,可授权给用户和角色。数据库角色包含下列功能: (1)一个角色可授予系统权限或对象权限

11、。 (2)一个角色可授权给其它角色,但不能循环授权。 (3)任何角色可授权给任何数据库用户。 (4)授权给用户的每一角色可以是可用的或者不可用的。一个用户的安全域仅包含当前对该用户可用的全部角色的权限。 (5)一个间接授权角色对用户可显式地使其可用或不可用。 在一个数据库中,每一个角色名必须唯一。角色名与用户不同,角色不包含在任何模式中,所以建立角色的用户被删除时不影响该角色。,一般,建立角色服务有两个目的:为数据库应用管理权限和为用户组管理权限。相应的角色称为应用角色和用户角色。 应用角色是授予的运行数据库应用所需的全部权限。 用户角色是为具有公开权限需求的一组数据库用户而建立的。用户权限管

12、理是受应用角色或权限授权给用户角色所控制,然后将用户角色授权给相应的用户。,ORACEL利用角色更容易地进行权限管理。有下列优点: (1)减少权限管理,不要显式地将同一权限组授权给几个用户,只需将这权限组授给角色,然后将角色授权给每一用户。 (2)动态权限管理,如果一组权限需要改变,只需修改角色的权限,所有授给该角色的全部用户的安全域将自动地反映对角色所作的修改。 (3)权限的选择可用性,授权给用户的角色可选择地使其可用或不可用。 (4)应用可知性,当用户经用户名执行应用时,该数据库应用可查询字典,将自动地选择使角色可用或不可用。 (5)应用安全性,角色使用可由口令保护,应用可提供正确的口令使

13、用角色,如不知其口令,不能使用角色。,使用CREATE ROLE语句可以创建一个新的角色,执行该语句的用户必须具有CREATE ROLE系统权限。 在角色刚刚创建时,它并不具有任何权限,这时的角色是没有用处的。因此,在创建角色之后,通常会立即为它授予权限。例如:利用下面的语句创建了一个名为OPT_ROLE的角色,并且为它授予了一些对象权限和系统权限: CREATE ROLE OPT_ROLE; GRANT SELECT ON sal_history TO OPT_ROLE; GRANT INSERT,UPDATE ON mount_entry TO OPT_ROLE; GRANT CREATE

14、 VIEW TO OPT_ROLE;,5.2.2 创建角色,在创建角色时必须为角色命名,新建角色的名称不能与任何数据库用户或其他角色的名称相同。 与用户类似,角色也需要进行认证。在执行CREATE ROLE语句创建角色时,默认地将使用NOT IDENTIFIED子句,即在激活和禁用角色时不需要进行认证。如果需要确保角色的安全性,可以在创建角色时使用IDENTIFIED子句来设置角色的认证方式。与用户类似,角色也可以使用两种方式进行认证。 使用ALTER ROLE语句可以改变角色的口令或认证方式。例如:利用下面的语句来修改OPT_ROLE角色的口令(假设角色使用的是数据库认证方式): ALTER

15、 ROLE OPT_ROLE IDENTIFIED BY accts*new;,1授予系统权限,2授予对象权限,5.2.3 授予权限或角色,3授予角色,1.授予系统权限 在GRANT关键字之后指定系统权限的名称,然后在TO关键字之后指定接受权限的用户名,即可将系统权限授予指定的用户。 例如:利用下面的语句可以相关权限授予用户chenjie: GRANT CREATE USER,ALTER USER,DROP USER TO chenjie WITH ADMIN OPTION;,2授予对象权限Oracle对象权限指用户在指定的表上进行特殊操作的权利。在GRANT关键字之后指定对象权限的名称,然后

16、在ON关键字后指定对象名称,最后在TO关键字之后指定接受权限的用户名,即可将指定对象的对象权限授予指定的用户。使用一条GRANT语句可以同时授予用户多个对象权限,各个权限名称之间用逗号分隔。有三类对象权限可以授予表或视图中的字段,它们是分别是INSERT,UPDATE和REFERENCES对象权限。,例如:利用下面的语句可以将CUSTOMER表的SELECT和INSERT,UPDATE对象权限授予用户chenqian: GRANT SELECT,INSERT(CUSTOMER_ID,CUSTOMER_name), UPDATE(desc) ON CUSTOMER TO chenqian WIT

17、H ADMIN OPTION;在授予对象权限时,可以使用一次关键字ALL或ALL PRIVILEGES将某个对象的所有对象权限全部授予指定的用户。,3授予角色在GRANT关键字之后指定角色的名称,然后在TO关键字之后指定用户名,即可将角色授予指定的用户。Oracle数据库系统预先定义了CONNECT、RESOURCE、DBA、 EXP_FULL_DATABASE、IMP_FULL_DATABASE五个角色。CONNECT具有创建表、视图、序列等权限;RESOURCE具有创建过程、触发器、表、序列等权限、DBA具有全部系统权限;EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出与装入数据库的权限。通过查询sys.dba_sys_privs可以了解每种角色拥有的权限。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号