racle11g数据库的角色管理

上传人:M****1 文档编号:473356030 上传时间:2023-10-11 格式:DOCX 页数:16 大小:257.82KB
返回 下载 相关 举报
racle11g数据库的角色管理_第1页
第1页 / 共16页
racle11g数据库的角色管理_第2页
第2页 / 共16页
racle11g数据库的角色管理_第3页
第3页 / 共16页
racle11g数据库的角色管理_第4页
第4页 / 共16页
racle11g数据库的角色管理_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《racle11g数据库的角色管理》由会员分享,可在线阅读,更多相关《racle11g数据库的角色管理(16页珍藏版)》请在金锄头文库上搜索。

1、z贵州大学实验报告学院: 专业: 班级:姓名学号实验组实验时间指导教师成绩实验项目名称racle 11g数据库的角色管理实验目的1.了解如何在Oracle 11g中通过SQL developer或SQL*Plus工作单进行用户角色的管理2.掌握Oracle 11g的角色管理及了解企业管理器的使用方法和技巧。通过该实验的学习3.深入了解角色的概念及其在访问控制中的重要作用4.用实践的方式加深对RBAC模型的理解,为今后对其他数据库的安全管理有很好的借鉴作用,能很快熟悉其他数据库的安全管理方法实验原理1.什么是角色?角色是具有名称的一组系统权限和对象权限的集合。2.使用角色的目的?1) 简化权限管

2、理2) 提高效率3.角色授予的对象?1) 某个用户组2) 单个用户3) 其他角色4.使用角色的优点1) 使用户授权任务变得简单 2) 将权限和账号有效、灵活的连接 Oracle之角色管理1.角色创建l 语法CREATE ROLE 角色名称 NOT IDENTIFIED|IDENTIFIED BY 密码|USING 模式. 包|EXTREMELY |GLOBALLY ; 注意:角色的名称不得与数据库已有的任何用户名相同,以免发生冲突。例如:创建一个名为testrole的角色,采用密码认证方式:CREATE ROLE testrole IDENTIFIED BY aaa参数说明l NOT IDEN

3、TIFIED:无需认证即可使用角色。l IDENTIFIED:用户必须在获得该角色制定的认证方法后才能获得该角色的使用权。l BY密码:通过输入正确的口令密码获得认证。l USING模式.包:创建的是应用程序角色,这种角色是指应用程序通过授权包获得认证的,如果不指定模式,系统则认为是当前用户模式。参数说明l EXTREMELY:创建的是外部角色,一个外部用户必须在通过某种外部的服务之后才能使用这个角色。l GLOBALLY:创建的是全局角色,一个全局用户必须通过企业目录服务后才可使用角色。 创建一个角色后,oracle自动把该角色及其管理权授予创建角色的用户。 角色归系统所有,而非角色的创建者

4、。2.给角色授予权限(1)给角色授予系统权限l 语法GRANT 系统权限1|已有角色1,系统权限2|已有角色2TO 角色1,角色2,WITH ADMIN OPTION例如:授予testrole角色创建会话和创建表的系统权限。GRANT CREATE SESSION, CREATE TABLE TO testrole(2)给角色授予对象权限l 语法GRANT 对象权限1 ,对象权限2|ALL PRIVILEGESON 模式名.数据库对象(列名1,列名2,)|DIRECTORY 目录名称WITH GRANT OPTION3.将角色授予用户或其他角色l 语法GRANT 角色1 ,角色2 TO 角色3

5、|用户1,用户2,|PUBLICWITH ADMIN OPTION4. 设置默认角色l 每个用户都有一个默认角色列表。默认角色是当用户登录数据库时由Oracle自动启用的一种角色。l 语法:ALTER USER 用户名DEFAULT ROLE角色1,角色2,|ALL EXCEPT 角色1,角色2|NONE;5. 启用和禁用角色l 通过角色的启用和禁用,Oracle可以实现对用户权限的动态控制。语法:SET ROLE角色1IDENTIFIED BY密码,角色2 1IDENTIFIED BY密码|ALL EXCEPT 角色1,角色2,|NONE;l 带有ALL选项的SET ROLE,将启用了用户被

6、授予的所有角色。l 带有NONE选项的SET ROLE,将禁用该用户被授予的所有角色。6. 从角色中撤销已授予的系统权限或角色l 语法:REVOKE 系统权限1,系统权限2, |ALL PRIVILEGES |角色1,角色2, FROM 角色1,角色2,;7. 从某个角色撤销已授予的对象权限l 语法:REVOKE 对象权限1 ,对象权限2, |ALL PRIVILEGESON 模式名.数据库对象(列名1,列名2,)|DIRECTORY 目录名称FROM 角色1,角色2,CASCADE CONSTRAINTS7. 删除角色l 语法:DROP ROLE 角色名;实验环境 硬件:CPU:2.4G 内

7、存:1G 硬盘:80G 软件:Windows 2003、win XP及以上操作系统 ,Oracle 11g数据库实验内容和步骤及实验数据一角色管理1.在system用户模式下创建一个名为manager的角色,采用密码认证方式编写语句如下:运行结果如下:并将系统权限create session、create table 以及create view授予该角色,并使该系统权限能够被级联的传递授予下去。在SQL developer 或SQL*Plus工作单中执行相应命令并截图:运行语句后,结果如下:2.将角色manager授予用户名为自己名字全拼的用户。(例如zhouyujie)创建用户:liuxia

8、ngyun连接数据库,出现如下错误:现在将角色manager授予给用户liuxiangyun运行结果如下:再次用liuxiangyun用户,连接数据库:连接成功:3.向角色manager授予STU表的DELETE权限和SELECT权限;在SQL developer 或SQL*Plus工作单中执行相应命令并截图。创建STU表STU表的DELETE权限和SELECT权限授予角色manager4. 将对HR用户EMPLOYEES表的select权限授予PUBLIC,请验证权限授予前后“自己名称全拼”的用户是否可以对该表进行查询;然后收回授予PUBLIC的对象权限。在system用户下查询有哪些用户在

9、system用户下有HR用户,所以你不用创建,只需修改他的登陆密码修改如下:用HR用户连接数据库,并在查询HR用户下有哪些表:可是看到HR下是有表EMPLOYEES的,所以我们不用再创建表,现在验证“liuxiangyun”的用户是否可以对EMPLOYEES表进行查询现在将HR用户EMPLOYEES表的select权限授予PUBLIC:现在再次验证“liuxiangyun”的用户是否可以对EMPLOYEES表进行查询输入语句:现在收回授予PUBLIC的对象权限:此时liuxiangyun用户对EMPLOYEES表也就没了select权限了5. 在system用户模式下创建角色:hr_manag

10、er, product_manager。并将这两个角色授予角色manager。将这两个角色授予角色manager。6. system用户将角色hr_manager 授予用户HR;HR再将角色hr_manager授予用户TOM.7. 撤销角色manager的对于表STU的DELETE权限8. 删除角色product_manager9.请做实验验证用户被授予的系统权限和对象权限级联收回的差异。解:给用户授予系统权限:收回系统权限:级联给对象manager授权:回收权限:分析:系统权限当用户A赋予一个系统权限给B,B再授予C.然后A将该权限从B回收. 此后,C仍然有该权限.对象权限: 用户A赋予一个

11、对象权限给B,B再授予C.然后A将该权限从B回收. 此后,C也失去了该权限.也就是说系统权限不能能级联收回,对象权限能被级联收回。思考题思考题:1、新建用户须有哪些系统权限和角色才可建表? 解:在oracle数据库的权限系统分为系统权限和对象权限。系统权限可以让用户执行特定的命令集。当用户获得create table权限时。此时允许用户创建表,对象权限可以让用户能够对各个对象进行某些操作。当某用户将delete权限赋给某个用户时,该用户被允许删除表或视图的行,当某用户获得select权限时,该用户可以通过select从表、视图、序列(sequences)或快照(snapshots)中查询信息。

12、2、如何查询每个角色所被授予的系统权限? 解:输入如下语句就可以查看某个角色被授予的系统权限: SQLselect Privilege from ROLE_SYS_PRIVS where ROLE=&Role3、如何查询当前用户所被授予的系统权限、对象权限和角色? 解:查询前用户所被授予的系统权限,输入如下语句: SQL Select * from user_sys_privs; 查询当前用户所被授予的对象权限,输入如下语句: SQLselect * from user_tab_privs 查询当前用户所被授予的角色,输入如下语句: SQLSelect * from SESSION_ROLES

13、 order by ROLE 4、如何查询每个角色所被授予的角色? 解:输入如下语句,就可以查询每个角色所被授予的角色: SQL Select GRANTED_ROLE from ROLE_ROLE_PRIVS where ROLE=&ROLE5.简述profile文件的作用和自己的认识。 解:profile文件文件时Oracle 主要配置文文件之一,系统级的环境变量一般在/etc/profile文件中定义,在CAMS系统与数据库中,相关的环境变量就定义在/etc/profile 文件中,我觉得Proflie即是一个口令限制,也就是一个资源限制的命名集合.当我们建立oracle数据库时,ora

14、cle会自动建立名为DEFAULT的PROFILE,初始化的DEFAULT没有进行任何口令和资源限制。6.什么是数据字典?谈谈你所理解的oracle中的数据字典。解:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明,它是一种用户可以访问的记录数据库和应用程序源数据的目录。Oracle中的数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的,当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息7.seesion_privs是什么?解seesion_privs用来查看当前用户被授予的权限实验总结总结:通过本次试验,基本了解如何在Oracle 11g中通过SQL developer工作单,对里面的用户角色进行合理有效的管理,同时学会了使用

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

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