TP7 管理用户权限及角色_第1页
TP7 管理用户权限及角色_第2页
TP7 管理用户权限及角色_第3页
TP7 管理用户权限及角色_第4页
TP7 管理用户权限及角色_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十章,管理用户权限及角色,10.1 系统权限的授予与撤消,对于系统权限而言: 开发者具有创建和删除数据对象的权限: CLUSTER,PROCEDURE , ABLE ,VIEW,TRIGER,FUNCTION, PUBLIC SYNONYM ,DATABASE LINK ,PUBLIC SYNONYM,SEQUENCE ,SNAPSHOTP ,TYPE , LIBRARY DBA具有上述数据对象的any 权限,即在其他用户对象模式下,创建上述对象和删除上述对象的权限。此外,还具有对用户和角色的管理权限。 此外,DBA还具有对数据库的维护权限。 上述权限详见教材152-154页。,10.2 对

2、象权限的授权与撤消,一般情况下,我们先将对象的访问权授予某个角色,然后把角色授予用户 一般来说,如果系统并不复杂时常采用无角色的授权。 建议采用角色授权与用户授予角色的授权方式来管理系统。,10.2 对象权限的授予与撤消,GRANT system_privilege | role TO user | role | PUBLIC WITH ADMIN OPTION GRANT object_privilege | ALL column ON schema.object FROM user | role | PUBLIC WITH GRANT OPTION,10.2 对象权限的授予与撤消,obje

3、ct_privilege:对象的权限,可以是: ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE,10.2 对象权限的授予与撤消,例1: GRANT INSERT, UPDATE ON sales TO larry WITH GRANT OPTION; 例2 GRANT ALL TO PUBLIC;,10.2 对象权限的授予与撤消,例3: GRANT select ON dept TO stu10 , stu11 ; 例4: GRANT select , insert(empno , ename) , update(ename

4、) ON emp TO scott WITH GRANT OPTION ;,对象特权的回收: 例1: REVOKE select ON dept FROM stu10 , stu11 ; 例2: REVOKE all ON emp FROM scott ;,10.2 对象权限的授予与撤消,本章难点: 权限的级联授予 级联授权通过参数来实现,它们是: 系统权限:with admin option 对象权限:with grant option,GRANT,A,A,REVOKE,回收对象特权的连锁反映分析:,GRANT,A,A,?,REVOKE,回收系统特权的连锁反映分析:,10.2 对象权限的授予

5、与撤消,实践是检验真理的唯一标准 课堂实验: 对象级联授权的实验,行命令回收系统特权或角色: REVOKE FROM,系统特权名,角色名,用户名,角色名,public,回收对象特权的连锁反映分析:,A,C,B,RESULT,A,C,B,10.2 对象权限的授予与撤消,10.3 系统权限的授予与撤消,GRANT system_privilege | role TO user | role | PUBLIC WITH ADMIN OPTION,回收系统特权的连锁反映分析:,10.3 系统权限的授予与撤消,回收系统特权的连锁反映分析:,10.3 系统权限的授予与撤消,REVOKE,?,10.3 系统

6、权限的授予与撤消,实践是检验真理的唯一标准 课堂实验: 系统权限级联授权的实验,10.3 系统权限的授予与撤消,与特权有关的数据字典视图: DBA_SYS_PRIVS TABLE_PRIVILEGES COLUMN_PRIVILEGES ALL/USER_TAB_PRIVS ALL/USER_TAB_PRIVS_MADE ALL/USER_TAB_PRIVS_RECD ALL/USER_COL_PRIVS ALL/USER_COL_PRIVS_MADE ALL/USER_COL_PRIVS_RECD,10.4 权限的授予与撤消,10.5 角色与授权,角色是一个数据库实体,它包括一组权限。即角色

7、是包括一个或多个权限的集合。 它不被哪个用户拥有,它只能授予某些用户。 这些角色不要与用户名相同。 根据各个用户的情况(比如他们所担当的工作)来授予不同的角色。,10.5 角色与授权,无角色管理的授权示意图,10.5 角色与授权,10.5 角色与授权,对象权限列表:,10.5 角色与授权,常见的系统角色,10.5 角色与授权,1.CREATE ROLE语法 CREATE ROLE role NOT IDENTIFIED|IDENTIFIED BY password| EXTERNALLY|GLOBALLY ; role 角色名 IDENTIFIED BY password 角色口令 IDENT

8、IFIED BY EXETERNALLY 角色名在操作系统下验证。 IDENTIFIED GLOBALLY 用户是ORACLE 安全域中心服务器来验证,此角色有全局用户来使用。,10.5 角色与授权,示例: CREATE ROLE vendor IDENTIFIED GLOBALLY; CREATE ROLE teller IDENTIFIED BY cashflow;,10.5 角色与授权,2 给角色授权 一旦角色建立完成,就可以对角色进行授权。给角色授权用GRANT语句实现。如果系统管理员具有GRANT_ANY_PRIVILEGE权限,则可以对某个角色进行授权。 示例: GRANT CRE

9、ATE SESSION,CREATE DATABASE LINK to Manager;,10.5 角色与授权,3 授予用户权限与角色 对用户进行授权,包括给用户授予系统预定义的权限,也包括自定义的角色。用GRANT命令来实现给用户的权限与角色的授予。 例1.下面语句将系统权限CREATE SESSION和ACCTS_PAY角色给JWARD用户: GRANT CREATE SESSION, accts_pay TO jward; 例2.下面语句将SELECT, INSERT和 DELETE 授给jfee, tsmith用户: GRANT SELECT, INSERT, DELETE ON em

10、p TO jfee, tsmith;,10.5 角色与授权,删除角色 只要具有相应权限,就可以用DROP ROLE命令删除角色。如: DROP ROLE Manager;,10.5 角色与授权,角色的查询 1.确定角色的权限 授予用户某个角色,则角色的权限也就授予了用户,管理员需了解角色被授予那些权限,以便知道哪些角色是够用,或者应撤消哪些权限。 ROLE_TAB_PRIVS 授予角色的对象权限 ROLE_ROLE_PRIVS 授予另一角色的角色 ROLE_SYS_PRIVS 授予角色的系统权限,10.5 角色与授权,2.确定用户所授予的权限 为了维护用户,必须知道哪写 ORACLE 帐户被授

11、予哪些权限,这些权限可能是直接授予,也可能是通过角色授予的。 DBA_TAB_PRIVS 包含直接授予用户帐户的对象权限 DBA_ROLE_PRIVS 包含授予用户帐户的角色 DBA_SYS_PRIVS 包含授予用户帐户的系统权限,10.6 有关的数据字典,与用户、角色权限有关的数据字典: DBA_USERS 实例中有效的用户及相应信息。 DBA_TS_QUOTAS 用户对表空间的使用限制信息。 USER_RESOURCE_LIMITS 用户资源的使用限制信息。 DBA_PROFILES 系统所有资源文件信息。 RESOURCE_COST 系统每个资源的代价。 V$SESSION 实例中会话的

12、信息。 V$SESSTAT 实例中会话的统计。 V$STATNAME 实例中会话的统计代码名字。 DBA_ROLES 实例中已经创建的角色的信息。 ROLE_TAB_PRIVS 授予角色的对象权限。 ROLE_ROLE_PRIVS 授予另一角色的角色。 ROLE_SYS_PRIVS 授予角色的系统权限。 DBA_ROLE_PRIVS 授予用户和角色的角色。 SESSION_ROLES 用户可用的角色的信息。,如何查看oracle用户权限 1.oracle用户查看自己的权限和角色 select*fromuser_tab_privs; select*fromuser_role_privs; 2.s

13、ys用户查看任一用户的权限和角色 select*fromdba_tab_privs; select*fromdba_role_privs;,oracle中查看用户权限 1.查看所有用户:select * from dba_user;select * from all_users;select * from user_users;2.查看用户系统权限:select * from dba_sys_privs;select * from all_sys_privs;select * from user_sys_privs;3.查看用户对象权限:select * from dba_tab_privs;

14、select * from all_tab_privs;select * from user_tab_privs;4.查看所有角色:select * from dba_roles;5.查看用户所拥有的角色:select * from dba_role_privs;select * from user_role_privs;,10.7 锁的定义及管理,掌握锁定的概念及其实现用法,10.7 锁的定义及管理,允许或拒绝资源访问的一种机制 资源可以是特定行或整个表 控制对数据的并发访问 防止在同时访问相同资源的用户之间出现破坏性的交互操作,锁定类型 行级锁 表级锁 行级锁 行被排他锁定 在某行的锁被释

15、放之前,其他用户不能修改此行 使用 commit 或 rollback 命令释放锁 Oracle 通过使用 INSERT、UPDATE 和 SELECTFOR UPDATE 语句自动获取行级锁,10.7 锁的定义及管理,SELECTFOR UPDATE 子句 在表的一行或多行上放置排他锁 用于防止其他用户更新该行 可以执行除更新之外的其他操作,10.7 锁的定义及管理,FOR UPDATE WAIT 子句 Oracle9i 中的新增功能 防止无限期地等待锁定的行 允许对锁的等待时间进行更多的控制 等待间隔必须指定为数值文字 等待间隔不能是表达式、赋值变量或 PL/SQL变量,10.7 锁的定义及管理,表级锁 保护表的数据 在多个用户同时访问数据时确保数据的完整性 可以设置为三种模式:共享、共享更新和排他 语法: Lock table in ;,10.7 锁的定义及管理,共享锁 锁定表 仅允许其他用户执行查询操作 不能插入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论