Oracle Role Grant 数据库的用户和权限管理.ppt
《Oracle Role Grant 数据库的用户和权限管理.ppt》由会员分享,可在线阅读,更多相关《Oracle Role Grant 数据库的用户和权限管理.ppt(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、OracleOracle的的的的用户用户用户用户和权限和权限和权限和权限管理管理管理管理本章学习目标本章学习目标 数据库安全性问题一直是人们关注的焦点,数据库数据的丢失以及数据库被非法用户的侵入对于任何一个应用系统来说都是至关重要的问题。确保信息安全的重要基础在于数据库的安全性能。第五章第五章 Oracle的用户和权限管理的用户和权限管理本章内容安排本章内容安排本章内容安排本章内容安排 5.1 5.1 用户管理用户管理用户管理用户管理 5.2 5.2 权限和角色权限和角色权限和角色权限和角色 5.3 5.3 概要文件概要文件概要文件概要文件 5.1.2 5.1.2 创建用户创建用户创建用户创建
2、用户 5.1.3 5.1.3 修改用户修改用户修改用户修改用户 5.1.4 5.1.4 删除用户删除用户删除用户删除用户 5.1.1 5.1.1 数据库的存取控制数据库的存取控制数据库的存取控制数据库的存取控制 5.1 用户管理1 1用户鉴别用户鉴别2 2用户的表空间设置和定额用户的表空间设置和定额5.1.1 数据库的存取控制3 3用户资源限制和环境文件用户资源限制和环境文件4 4用户环境文件用户环境文件1.用户鉴别用户鉴别为了防止非授权的数据库用户的使用,Oracle提供三种确认方法:操作系统确认、Oracle数据库确认网络服务确认。由操作系统鉴定用户的优点是:1)用户能更快,更方便地联入数
3、据库。2)通过操作系统对用户身份确认进行集中控制:如果操作系统与数据库用户信息一致,那么Oracle无须存储和管理用户名以及密码。3)用户进入数据库和操作系统审计信息一致。2 2用户的表空间设置和定额用户的表空间设置和定额 关于表空间的使用有几种设置选择:用户的缺省表空间用户的临时表空间数据库表空间的空间使用定额3.用户资源限制和环境文件用户资源限制和环境文件用户可用的各种系统资源总量的限制是用户安全域的部分。利用显式地设置资源限制,安全管理员可防止用户无控制地消耗宝贵的系统资源。资源限制是由环境文件管理。一个环境文件是命名的一组赋给用户的资源限制。另外Oracle为安全管理员在数据库提供是否
4、对环境文件资源限制的选择。Oracle可限制几种类型的系统资源的使用,每种资源可在会话级、调用级或两者上控制。在会话级:每一次用户连接到一数据库,建立一会话。每一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进行限制。在调用级:在SQL语句执行时,处理该语句有几步,为了防止过多地调用系统,Oracle在调用级可设置几种资源限制。有下列资源限制:(1)为了防止无控制地使用CPU时间,Oracle可限制每次Oracle调用的CPU时间和在一次会话期间Oracle调用所使用的CPU的时间,以0.01秒为单位。(2)为了防止过多的I/O,Oracle可限制每次调用和每次会话的逻辑数据块读的数目
5、。(3)Oracle在会话级还提供其它几种资源限制。每个用户的并行会话数的限制。会话空闲时间的限制,如果一次会话的Oracle调用之间时间达到该空闲时间,当前事务被回滚,会话被中止,会话资源返回给系统。每次会话可消逝时间的限制,如果一次会话期间超过可消逝时间的限制,当前事务被回滚,会话被删除,该会话的资源被释放。每次会话的专用SGA空间量的限制。4用户环境文件用户环境文件用户环境文件是指定资源限制的命名集,可赋给Oracle数据库的有效的用户。利用用户环境文件可容易地管理资源限制。在许多情况中决定用户的环境文件的合适资源限制的最好的方法是收集每种资源使用的历史信息。5.1.2 创建用户使用CR
6、EATE USER语句可以创建一个新的数据库用户,执行该语句的用户必须具有CREATE USER系统权限。在创建用户时必须指定用户的认证方式。一般会通过Oracle数据库对用户身份进行验证,即采用数据库认证方式。在这种情况下,创建用户时必须为新用户指定一个口令,口令以加密方式保存在数据库中。当用户连接数据库时,Oracle从数据库中提取口令来对用户的身份进行验证。使用IDENTIFIED BY子句为用户设置口令,这时用户将通过数据库来进行身份认证。如果要通过操作系统来对用户进行身份认证,则必须使用IDENTIFIED EXTERNAL BY子句。使用DEFAULT TABLESPACE子句为用
7、户指定默认表空间。如果没有指定默认表空间,Oracle会把SYSTEM表空间作为用户的默认表空间。为用户指定了默认表空间之后,还必须使用QUOTA子句来为用户在默认表空间中分配的空间配额。此外,常用的一些子句有:TEMPORARY TABLESPACE子句:为用户指定临时表空间。PROFILE子句:为用户指定一个概要文件。如果没有为用户显式地指定概要文件,Oracle将自动为他指定DEFAULT概要文件。DEFAULT ROLE子句:为用户指定默认的角色。PASSWORD EXPIRE子句:设置用户口令的初始状态为过期。ACCOUNT LOCK子句:设置用户账户的初始状态为锁定,缺省为:ACC
8、OUNT UNLOCK。在建立新用户之后,通常会需要使用GRANT语句为他授予CREATE SESSION系统权限,使他具有连接到数据库中的能力。或为新用户直接授予Oracle中预定义的CONNECT角色。5.1.3 修改用户在创建用户之后,可以使用ALTER USER语句对用户进行修改,执行该语句的用户必须具有ALTER USER系统权限。例如:利用下面的语句可以修改用户chenjie的认证方式、默认表空间、空间配额:ALTER USER chenjieIDENTIFIED BY chenjie_pwQUATA 10M ON mbl_tbs;ALTER USER语句最常用的情况是用来修改用户
9、自己 的 口 令,任 何 用 户 都 可 以 使 用 ALTER USERIDENTIFIED BY语句来修改自己的口令,而不需要具有任何其他权限。但是如果要修改其他用户的口令,则必须具有ALTER USER系统权限。DBA还会经常使用ALTER USER语句锁定或解锁用户账户。例如:ALTER USER chenjie ACCOUNT LOCK;ALTER USER chenjie ACCOUNT UNLOCK;5.1.4 删除用户使用DROP USER语句可以删除已有的用户,执行该语句的用户必须具有DROP USER系统权限。如果用户当前正连接到数据库中,则不能删除这个用户。要删除已连接的
10、用户,首先必须使用ALTER SYSTEMKILL SESSION语句终止他的会话,然后再使用DROP USER语句将其删除。如果要删除的用户模式中包含有模式对象,必须在DROP USER子句中指定CASCADE关键字,否则Oracle将返回错误信息。例如:利用下面的语句将删除用户chenjie,并且同时删除他所拥有的所有表、索引等模式对象:DROP USER chenjie CASCADE;5.2.2 5.2.2 创建角色创建角色创建角色创建角色 5.2.3 5.2.3 授予权限或角色授予权限或角色授予权限或角色授予权限或角色 5.2.4 5.2.4 回收权限或角色回收权限或角色回收权限或角
11、色回收权限或角色 5.2.1 5.2.1 基本概念基本概念基本概念基本概念 5.2 权限和角色 5.2.5 5.2.5 激活和禁用角色激活和禁用角色激活和禁用角色激活和禁用角色 1 1权限权限2 2角色角色5.2.1 基本概念1.权限权限 权限是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有两类权限:系统权限和对象权限。1)系统权限:是执行一处特殊动作或者在对象类型上执行一种特殊动作的权利。系统权限可授权给用户或角色,一般,系统权限只授予管理人员和应用开发人员,终端用户不需要这些相关功能。2)对象权限:在指定的表、视图、序列、过程、函数或包上执行特殊动作的权利。2.角色角色为相关权
12、限的命名组,可授权给用户和角色。数据库角色包含下列功能:(1)一个角色可授予系统权限或对象权限。(2)一个角色可授权给其它角色,但不能循环授权。(3)任何角色可授权给任何数据库用户。(4)授权给用户的每一角色可以是可用的或者不可用的。一个用户的安全域仅包含当前对该用户可用的全部角色的权限。(5)一个间接授权角色对用户可显式地使其可用或不可用。在一个数据库中,每一个角色名必须唯一。角色名与用户不同,角色不包含在任何模式中,所以建立角色的用户被删除时不影响该角色。一般,建立角色服务有两个目的:为数据库应用管理权限和为用户组管理权限。相应的角色称为应用角色和用户角色。应用角色是授予的运行数据库应用所
13、需的全部权限。用户角色是为具有公开权限需求的一组数据库用户而建立的。用户权限管理是受应用角色或权限授权给用户角色所控制,然后将用户角色授权给相应的用户。ORACEL利用角色更容易地进行权限管理。有下列优点:(1)减少权限管理,不要显式地将同一权限组授权给几个用户,只需将这权限组授给角色,然后将角色授权给每一用户。(2)动态权限管理,如果一组权限需要改变,只需修改角色的权限,所有授给该角色的全部用户的安全域将自动地反映对角色所作的修改。(3)权限的选择可用性,授权给用户的角色可选择地使其可用或不可用。(4)应用可知性,当用户经用户名执行应用时,该数据库应用可查询字典,将自动地选择使角色可用或不可
14、用。(5)应用安全性,角色使用可由口令保护,应用可提供正确的口令使用角色,如不知其口令,不能使用角色。使用CREATE ROLE语句可以创建一个新的角色,执行该语句的用户必须具有CREATE ROLE系统权限。在角色刚刚创建时,它并不具有任何权限,这时的角色是没有用处的。因此,在创建角色之后,通常会立即为它授予权限。例如:利用下面的语句创建了一个名为OPT_ROLE的角色,并且为它授予了一些对象权限和系统权限:CREATE ROLE OPT_ROLE;GRANT SELECT ON sal_history TO OPT_ROLE;GRANT INSERT,UPDATE ON mount_ent
15、ry TO OPT_ROLE;GRANT CREATE VIEW TO OPT_ROLE;5.2.2 创建角色在创建角色时必须为角色命名,新建角色的名称不能与任何数据库用户或其他角色的名称相同。与用户类似,角色也需要进行认证。在执行CREATE ROLE语句创建角色时,默认地将使用NOT IDENTIFIED子句,即在激活和禁用角色时不需要进行认证。如果需要确保角色的安全性,可以在创建角色时使用IDENTIFIED子句来设置角色的认证方式。与用户类似,角色也可以使用两种方式进行认证。使用ALTER ROLE语句可以改变角色的口令或认证方式。例如:利用下面的语句来修改OPT_ROLE角色的口令(
16、假设角色使用的是数据库认证方式):ALTER ROLE OPT_ROLE IDENTIFIED BY accts*new;1 1授予系统权限授予系统权限2 2授予对象权限授予对象权限5.2.3 授予权限或角色3 3授予角色授予角色1.授予系统权限授予系统权限在GRANT关键字之后指定系统权限的名称,然后在TO关键字之后指定接受权限的用户名,即可将系统权限授予指定的用户。例如:利用下面的语句可以相关权限授予用户chenjie:GRANT CREATE USER,ALTER USER,DROP USER TO chenjieWITH ADMIN OPTION;2授予对象权限授予对象权限 Oracl
17、e对象权限指用户在指定的表上进行特殊操作的权利。在GRANT关键字之后指定对象权限的名称,然后在ON关键字后指定对象名称,最后在TO关键字之后指定接受权限的用户名,即可将指定对象的对象权限授予指定的用户。使用一条GRANT语句可以同时授予用户多个对象权限,各个权限名称之间用逗号分隔。有三类对象权限可以授予表或视图中的字段,它们是分别是INSERT,UPDATE和REFERENCES对象权限。例如:利用下面的语句可以将CUSTOMER表的SELECT和INSERT,UPDATE对象权限授予用户chenqian:GRANT SELECT,INSERT(CUSTOMER_ID,CUSTOMER_na
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle Role Grant 数据库的用户和权限管理 数据库 用户 权限 管理
限制150内