登陆注册
31848700000019

第19章 数据库的保护(3)

(3)对象权限的回收

使用REVOKE命令可以从一个用户或角色中回收对象权限,假如用户已经将此权限授予给其他用户,则用户都可以从其他用户身上回收此权限。回收对象权限的语法如下:

REVOKE{对象权限[,对象权限]……|ALL[PRIVILEGES]}

ON 对象名

FROM{用户名|角色|PUBLIC}[,{用户名|角色|PUBLIC}]……

其中:对象权限用于指定被授予的对象权限;ALL用于回收授予给用户的所有对象权限;ON用于指定将被回收对象权限的对象名;FROM用于指定将被回收权限的用户或角色。

注意:假如用户A被授予带WITH GRANT OPTION从句的对象权限,并且用户A又将此权限授予给了用户B,当用户A的权限被回收时,用户B的权限也被回收,并且用户A和B中与此权限有关的对象都变成无效。

例8-16 从JAMES身上回收对CUSTOMER表的更新权限。

SQL>REVOKE UPDATE ON CUSTOMER FROM JAMES

例8-17 scott用户从JAMES用户身上回收emp表上的所有权限。

SQL>REVOKE ALL ON emp FROM JAMES

(4)查询对象权限信息

对象权限可以从数据字典中获得。

8.1.2.3 角色的管理

1.角色的基本概念和特性

角色是一组相关权限的集合,角色可以被授予用户或其他的角色,使用角色使得权限的管理变得容易和好控制。角色拥有下列特性:

角色的授予和回收与系统权限的授予和回收有相同的命令;

角色可以授予任何用户或除了自己以外的角色;

角色必须授权后才是一组权限的集合,角色可以包含系统权限和对象权限;

角色不属于任何用户,角色的描述存储在数据字典中。

使用角色可以减少授权工作,也可以动态地管理权限。假如:与一个角色相关的权限被修改了,则所有被授予了此角色的用户自动获得修改后的权限。

2.角色的管理

(1)建立角色

使用CREATE ROLE命令可以建立角色,角色属于整个数据库,而不属于任何用户。当建立一个角色时,该角色没有相关的权限,系统管理员必须将合适的权限授予给角色。此时,角色才是一组权限的集合。建立角色的语法如下:

CREATE ROLE 角色名[NOT IDENTIFIED|IDENTIFIED{BY 口令}]

其中:NOT IDENTIFIED表示当角色生效时,不必验证口令,是默认值。IDENTIFIED BY 口令表示当角色生效时,必须指定口令。

例8-20 建立一个不带口令的角色HRCLERK。

SQL>CREATE ROLE HRCLERK

(2)角色的权限管理

建立完角色后需要给角色授权,授权后的角色是一组权限的集合。将角色授予给用户,与将系统权限授予给用户有相同的语法。将角色授予给用户的语法如下:

GRANT 角色名1[,角色名2]……

TO{用户名|角色|PUBLIC}[,{用户名|角色|PUBLIC}]……

[WITH ADMIN OPTION]

其中:角色名1、2表示被授予给用户或角色的角色名;用户名|角色表示接受角色的用户名或接受角色的角色名;PUBLIC表示将角色授予给所有用户;WITH ADMIN OPTION表示允许受权者又可以将此角色授予给其他用户。

例8-21 将emp表的SELECT和UPDATE权限授予给角色HRCLERK。

SQL>GRANT SELECT,UPDATE ON emp TO HRCLERK

从用户身上回收角色与从用户身上回收系统权限有相同的语法。从用户身上回收角色的语法如下:

REVOKE 角色1[,角色2]……

FROM{用户|角色|PUBLIC}[,{用户|角色|PUBLIC}]……

其中:角色1、2等表示从用户身上回收的角色名;用户|角色表示被回收系统权限用户名或角色名;PUBLIC表示从所有用户身上回收角色。

例8-22 从所有用户身上回收HRCLERK角色。

SQL>REVOKE HRCLERK FROM PUBLIC;

(3)修改和删除角色

使用ALTER ROLE命令可以修改角色的口令,但不能修改角色名。修改角色的语法如下:

ALTER ROLE 角色名{NOT IDENTIFIED|IDENTIFIED{BY 口令}}

其中:

NOT IDENTIFIED,IDENTIFIED,BY 口令的说明与建立角色时的说明一样。

例8-23 修改HRCLERK角色,设置一个口令。

SQL>ALTER ROLE HRCLERK IDENTIFIED BY COMMISION

使用DROP ROLE命令可以删除角色。即使此角色已经被授予给一个用户或其他角色,Oracle也允许用户删除该角色。删除角色的语法如下:

DROP ROLE 角色名;

当删除一个角色时,Oracle服务器从所有已经被授予了该角色的用户和角色身上回收该角色,并且从数据库字典中删除该角色。

删除角色的用户必须拥有DROP ANY ROLE系统权限,否则不允许删除该角色。

例8-24 删除HRCLERK角色。

SQL>DROP ROLE HRCLERK;

(4)查询角色信息

许多数据字典视图包含了授予用户和角色的权限信息,查询这些视图可以了解当前数据库中已经建立的角色,以及这些角色所拥有的系统权限和对象权限。

3.系统预定义的角色

当建立数据库时,Oracle自动定义了多个角色。这些角色定义在SQL.BSQ脚本文件中,当运行CREATE DATABASE命令时执行该脚本文件。

8.1.2.4 数据库审计

1.审计的类型

为了保证数据库安全性,可以使用审计记录数据库活动的信息,监视数据库有疑问的活动。审计可以分成:数据库审计和应用的审计。

(1)数据库审计

数据库审计监视和记录所选用户的数据库动作。审计信息存储在审计表中,使用审计表可以查看有疑问的活动。例如:数据库管理员可以对数据库中所有连接后所做的成功删除和不成功删除操作进行审计。可以收集正在被更新的表的统计信息,被执行的逻辑读的个数以及高峰时期并发用户的个数。

数据库审计需要通过设置参数AUDITTRIAL及执行审计命令进行审计。

(2)应用的审计

数据库审计不能记录列一级值的变化,假如数据库列的修改需要被跟踪并且每次修改的列的值需要被存储,可以使用应用审计。

值一级或应用审计由开发人员编写触发器或存储过程来实现。

例8-28 下列数据库触发器进行值一级审计。任何时候对雇员表做插入、修改、删除操作,触发器将列的修改前和修改后的值、正在做修改的用户名及时间日期等信息存储到一个用户定义的审计表中。

应用审计必须由开发人员编写触发器或程序来完成。只有数据库审计可以通过设置参数及执行审计命令进行审计。所以在这里重点介绍数据库审计的设置,和审计命令的语法,以及如何查询审计结果。

2.数据库审计的类型

当建立数据库时,Oracle建立SYS.AUD$审计表,用于存储审计记录。Oracle有三种类型的审计:语句审计、权限审计和对象审计。

(1)语句审计:审计所使用的SQL语句。

例8-29 审计由scott用户执行的所有SELECT 语句。

SQL>AUDIT SELECT BY scott;

(2)权限审计:审计所使用的权限。

例8-30 审计所有运用CREATE TRIGGER权限的用户。

SQL>AUDIT CREATE TRIGGER;

(3)对象审计:审计一个特定对象的使用情况。

例8-31 审计在CUSTOMER表上执行的SELECT语句。

SQL>AUDIT SELECT ON CUSTOMER;

3.数据库审计的步骤

执行数据库审计的步骤如下。

(1)首先设置初始化参数文件中的AUDITTRAIL参数,使得数据库的审计生效。该参数的值可以是下列三个值之一。

DB(或TRUE):审计生效,将审计记录插入到数据库审计表(SYS.AUD$)中。

OS:审计生效,将审计记录插入到操作系统审计文件中(假如操作系统允许审计的话),而不是将它们插入到SYS.AUD$审计表中。

NONE(或FALSE):审计失效(这是默认值)。

(2)用AUDIT命令指定需要审计的语句、对象或权限。

(3)用户执行PL/SQL和SQL语句时,服务器决定正在执行的语句是否应该产生一条审计记录。

(4)生成和插入一条审计记录到审计表中。

(5)通过查看审计记录,观察和监视有疑问的活动。

同类推荐
  • 数据库原理及Oracle应用

    数据库原理及Oracle应用

    进入21世纪,随着国家信息化步伐的加快及各行业信息化进程的不断加速,社会对专业(非计算机专业)人才的信息技术能力要求越来越高。为了适应社会对专业人才的要求,全国各高校在重视专业知识培养的同时也非常注重计算机应用能力的训练,即信息技术能力的培养。计算机应用水平已成为衡量高校毕业生综合素质的突出标志之一。
  • 信息革命

    信息革命

    随着经济社会的快速发展,电子产品走进了千家万户,与电子产品相伴的信息技术也已渗透到人们生产生活的方方面面。加强信息技术普及,已成为业内人士的共识。鉴于此,在有关部门的大力支持下,经过认真筹划,我们编辑出版了《信息革命》一书。该书以时间为经,在记述信息技术发展历程的同时,深入浅出地介绍了信息技术的相关知识,对人们更好地利用现代信息技术服务经济社会建设和个人生产生活必将产生积极作用。本书由李大东主编。
  • 网络知识

    网络知识

    一般地说,将分散的多台计算机、终端和外部设备用通信线路互联起来,彼此间实现互相通信,并且计算机的硬件、软件和数据资源大家都可以共同使用,实现资源共享的整个系统就是计算机网络。
  • 云计算、网络安全和网络盗窃:网络世界防盗初学指南

    云计算、网络安全和网络盗窃:网络世界防盗初学指南

    网络犯罪层出不穷,保护自己的安全,防止受到攻击,似乎是一个艰巨的任务。幸运的是,有一些人人都能采取的措施,可以降低成为网络袭击对象的风险。保证基于云计算程序的安全和降低被袭击的风险,关键在于理解云安全的共同责任。云提供商需要全力确保实施尽可能严格的安全策略。
  • 无人机:知道这些就够了

    无人机:知道这些就够了

    不久的将来无人机将像智能手机一样司空见惯,而你对无人机的了解有多少?你知道无人机有哪些用途吗?无人机对你和你的家庭又会产生什么样的影响呢?知道这些就够了。
热门推荐
  • 豪门陷阱:你早已是我老婆

    豪门陷阱:你早已是我老婆

    一场无意的错误,她怀了他的孩子。三年后,她的婚礼上,那个男人突然而至,傲然浅笑:“你早已是我老婆,带上儿子跟我回家。”她执意和新郎交换戒指,结果引起了争执,他们都受了伤。最后,他终于答应不再纠缠她。可是,三天后,她的儿子被确诊患了白血病,只有同胞的脐带血才可能救活。这,多么戏剧性……她,憎恨豪门的她,该如何?
  • 半生浮华不及光阴一寸

    半生浮华不及光阴一寸

    满地猩红,流火暗涌。“东方!倘若这世间万物,皆负我而去!倘若这天地法则,也容我不得!倘若这三生石畔,宿命轮回……悲欢笑泪,是否会将我心中的你遗忘?”不!宁沉睡,不轮回!若众生的怒火承载于你,我必屠尽天下,颠覆苍生!变强!变强!我要这天,再遮不住我眼;要这地,再埋不了我心;要这苍生,都明白我意;要将所有,都践踏在脚下!而你,纵然山无棱角,天地归一,你不会有机会逃离!纵然折断羽翼,禁锢于林,也休想离我而去!岁月里,遗留的痕迹,举剑苍茫红尘俱寂……你说,在那世界之巅伫立,还有没有人生若只如初见,宁负年华不负君?
  • 沫之路

    沫之路

    李小沫毕业后来到一个陌生的城市打工。本来只是打算在这个城市长长经验跟见识,没想到在这个城市一待就是很多年;尝尽了酸甜苦辣,经历了人情冷暖,感悟了世间百态。
  • 诸神天棺

    诸神天棺

    这是一个弱肉强食,等级森严的修真大世,这里不仅有绚烂的道法,诡异的秘术,神奇的宝物,更有着人人羡慕的长生不老。这里宗门林立,王朝遍布,为了各自不同的目标与信念,他们常年战争,流血漂橹,尸骨成山,这既是璀璨的大世,也是不堪的乱世。身处大世之中,你可以卑微如狗,命若草菅,也可以扶摇直上,平步青云;你可以荣华富贵,腰缠万贯,也可以衣不蔽体,腹不裹食;你可以权势滔天,执掌天下;也可以浑浑噩噩,蹉跎年华……这里是你想不到的另一世界,光怪陆离,精彩绝伦。且看我们的主角莫笑尘,如何从一个快要斩首的阶下之囚,成为主宰万界的不世至尊。一切精彩故事尽在本书《诸神天棺》。
  • 肥喵修夫

    肥喵修夫

    宋妙儿拒绝了一只猫送给她的礼物而被报复穿到了异世的一只猫的身上,结果还惹上了一只花妖。猫:老子千辛万苦的去打猎自己都饿着肚子你居然给扔进了垃圾桶?宋:非常感谢,但是我不吃死老鼠啊!花:嗯?猫不吃老鼠吗?宋:..........
  • 斗罗大陆之唐门幻梦

    斗罗大陆之唐门幻梦

    继一代天骄灵冰斗罗霍雨浩与妻子龙蝶斗罗唐舞桐成神以后。圣灵教再度崛起,九宝琉璃宗的废柴宁欣儿被赶出宗门后,意外的下星斗大森林遇见了传说中的百万年魂兽天灵舞凤,并将她收为魂灵,获得了第二武魂。从此,少女废柴走上了一条属于她的成神之路!
  • 一份无畏的勇气

    一份无畏的勇气

    额,带着一份勇气,不易,却也弥足珍贵。嗯就这样
  • 黄泉路444号

    黄泉路444号

    柳三千作为一个宅女,浑噩度日。某一天,突然被告知自己继承了一家奇怪的旅馆。旅馆位于“黄泉路444号”。她拦下一辆的士,“师傅,我想去黄泉路。”“有病。”师傅吐出两字,疾驰而走。终于找到旅馆。只见旅馆里鬼魅当道,千妖伏聚。魑魅魍魉,百鬼夜行。等等,怎么来这里住的都是些美人鱼、吸血鬼、白骨精啊啊啊啊!确定不是角色扮演吗?还有还有,怎么这里的美人老板不吃不喝却执意要睡我呢!柳三千,出生之日天降冷雨三千,世人皆说她命犯孤星,此生注定孤煞无缘。柳父轻叹:“给你取名三千,只盼你看尽三千繁华世界。”洛寒轻轻一笑,“三千啊,三千,弱水三千,我只取你一瓢。”
  • 十万末日

    十万末日

    末世三年,行尸走肉。人类与丧尸僵持,道德与生存抉择。打怪是日常所需,抢夺是人类本能。有人打着打着怪就被怪打死了,有人见怪就躲还活到最后。有人面对未来无比惶恐,有人意志坚定坦然踏入黑幕。有少年一路成长,有英雄不断陨落。是谁无意中踏入强者之途,是谁谋划终生却始终无果。搞笑不是初衷,阴谋不是主流,打怪纯属娱乐,热血实属雷同。
  • 我家妹子是主角

    我家妹子是主角

    一觉醒来,慕千月发现自己穿越了,还带着河图洛书和混沌青莲?“哈哈,原来我就是传说中的主角!”“但是,我周围这些拥有主角模板的妹子是什么鬼?”“我看看:潜龙蛰渊?凤在九天?至尊命格?帝星临世!?”“莫非,我不是主角?”“你当然………不是!你只是主角杀妹证道的那个妹!”——by作者“mmp,我不玩了,裁判,我要举报,她们开挂!”