登陆注册
18254100000017

第17章 数据库的保护(1)

8.1 数据库的安全性管理

数据库的保护就是要排除和防止各种对数据库的干扰和破坏,确保数据安全、可靠及在数据库遭到破坏后尽快恢复正常。对数据库的保护主要通过安全性控制、完整性控制、并发控制和数据库恢复技术四个方面实现的。本章首先介绍实现这四种保护措施的原理和方法,然后介绍Oracle系统是如何实现这四种保护措施的。

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改和破坏。

安全性问题是所有计算机系统都有的问题,只是在数据库系统中由于大量数据集中存放,而且是多用户共享,使安全性问题更为突出。因此,系统安全保护措施是否有效是数据库系统主要的性能指标之一。

8.1.1 安全性管理的方法和原理

在计算机系统中,一般安全措施是分级设置的。

在用户进入计算机系统时,首先由操作系统一级实施保护,必须对进入操作系统的操作系统用户进行身份鉴定,只有合法的操作系统用户才准许进入操作系统。对进入操作系统的用户,希望操作数据库数据时,DBMS还要进行数据库用户的身份鉴定,只有合法的数据库用户才准许进入数据库系统。然后还需要对数据库用户进行存取权限的控制,检查数据库用户是否拥有存取权限,只允许数据库用户执行权限范围内的合法操作。最后数据存储到数据库中还可以采用加密存储。

安全性控制的一般方法有:用户标识和鉴别、存取权限控制、审计、数据加密和视图等几种。

8.1.1.1 用户标识和鉴别

用户标识和鉴别是系统提供的最外层安全保护措施。其方法是由系统提供让用户标识自己的名字或身份的方法。每次用户要进入系统时,系统对用户身份进行核实,经过鉴定后才提供操作系统和数据库的使用权。

(1)提供用户名和口令

常用的用户标识和鉴别方法是使用用户名和口令。为保密起见,用户在终端上输入的口令不显示在屏幕上。当用户登录操作系统时,系统要求用户提供操作系统的用户名和口令,若正确,则可进入操作系统;若不正确,则不能进入操作系统。当进入操作系统后,使用数据库的工具登录数据库时,数据库系统要求用户提供数据库的用户名和口令,若正确,则登录数据库;若不正确,则拒绝登录数据库。

以上的方法简单易行,但用户名和口令容易被人窃取,因此还可以用更复杂的方法。

(2)系统提供一个随机数

系统提供了一个随机数,用户根据预先约定好的某一过程或者函数进行计算,系统根据用户计算结果是否正确进一步鉴定用户身份。

用户标识和鉴别可以重复多次。

8.1.1.2 存取权限控制

在数据库系统中,安全最重要的一点是确保只授权给有资格的用户访问数据库的权限,令所有未被授权的用户无法接近数据,这主要通过数据库系统的存取控制机制实现的。

存取控制机制主要包括两部分:定义用户权限和检查用户权限。

(1)定义用户权限

用户权限是指不同的用户对不同的数据对象允许执行的操作权限。定义用户权限时必须指定两个内容:一是要存取的数据对象,二是对此对象进行的操作,保证用户只能存取他有权存取的数据。在数据库系统中对存取权限的定义称为“授权”(Authorization),这些授权的定义经过编译后存放在数据库的数据字典中,被称作安全规则。

关系数据库系统中,DBA可以把建立和修改基本表的权限授予用户,用户可利用这种权限来建立和修改基本表、索引、视图等对象。数据对象的创建者自动获得对该数据对象的所有操作权限。

SQL除了数据定义和数据操作功能以外,还提供了数据控制功能,授权和回收就是通过其提供的GRANT和REVOKE语句来实现的。

例8-1 student表的创建者将该表上的查询权限和插入权限授予给用户user1,并允许user1用户又将student表的查询和插入权限授予别人。

SQL>GRANT select,insert

ON student

TO user1

WITH GRANT OPTION

例8-2 student表的创建者将该表上的查询权限和插入权限从用户user1身上回收。

SQL>REVOKE select,insert

ON student

FROM user1

(2)合法权限检查

每当用户发出存取数据库的操作请求时,DBMS查询数据字典,根据事先定义好的存取权限进行合法权限检查。若用户的操作超过了定义的权限,系统拒绝执行此操作。

用户的权限定义和合法权限检查机制一起组成了DBMS的安全子系统。

8.1.1.3 审计

任何系统的安全性措施不可能是完美无缺的,企图盗窃、破坏数据者总是想方设法逃避控制。所以,对敏感的数据、重要的操作,可以通过审计来进行跟踪检查。

审计功能把用户对数据库的所有操作自动记录下来放入审计日志(audit log)中。DBA利用审计日志,就能重现导致数据库现有状况的一系列事件,以找出非法存取数据的人、时间和内容。

审计通常是很费时间和空间的,所以DBMS往往将其作为可选特征,允许DBA根据应用对安全性的要求,灵活地打开或关闭审计功能。审计功能一般用于安全性要求较高的部门。

8.1.1.4 数据加密

另一种安全性方法是使用加密。把数据用密码形式存储在磁盘上,这样企图通过不正常途径,例如不通过DBMS,而是通过自己编写的程序来存取数据者,只能看到一些无法辨认的二进制数。用户要检索数据时,首先要提供密码钥匙,由系统进行译码。

不少数据库产品均提供了这种数据加密的功能。但数据加密和解密操作比较费时,又占大量的系统资源,所以一般DBMS将数据加密功能作为一个可选特征,可根据用户的要求对数据实行加密或不加密存储。

8.1.1.5 视图机制

可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内。可以通过视图将要保密的数据对无权存取这些数据的用户隐藏起来,这样自动地提供了对数据的安全保护。

例8-3 有基本表student、course和sc,其中student表包含了学生的基本信息,包括:学号、姓名、性别、年龄等信息。course表包含了课程的基本信息,包括:课程号、课程名称、学分、任课教师的名字等信息。sc表包含了每个同学的选课记录,包括:学号、课程号、成绩等信息。在这三张表的基础上建立一个视图sgrade,该视图包含学生的姓名、课程名及该课程的成绩。

SQL>CREATE VIEW sgrade

AS SELECT sname,name,grade

FROM student s,course c,sc

WHERE s.snosc.sno and c.cnosc.cno;

将SGRADE视图的查询权限授予user1用户。

SQL>GRANT select

ON sgrade

TO user1;

此时user1用户可以查询sgrade视图,即可以查询三张表中的学生姓名、课程名称、成绩数据。但除了这三个数据外,其他信息user1都无权查询,也看不到。

SELECT*FROM sgrade;

从上述例子可以看到,通过视图隐藏用户无权访问的数据加强安全性,隐藏表之间的联结操作简化用户操作。

8.1.2 Oracle系统的安全措施

Oracle系统的安全措施就是上述保证系统安全性的几种方法的具体体现。但是Oracle系统中的用户可以进行账号锁定和口令过期等设置。权限又分系统权限和对象权限,分别有不同的管理方法,另外引入角色简化权限的管理。审计又可以分为数据库审计和应用审计等。

8.1.2.1 用户的管理

对Oracle进行访问的用户必须是Oracle中建立的一个有效的用户。当安装和建立Oracle数据库时,系统自动建立SYS和SYSTEM用户,其中SYS用户拥有数据字典。在数据库中一个用户可以拥有的对象有表、视图、索引、约束条件、序列生成器、同义词、存储过程、函数、包、数据库触发器、数据库链路、快照等。

1.建立新用户

使用CREATE USER命令可以建立用户,建立后在数据字典中记录了该用户的信息。在建立用户时应该为其指定一个口令,该口令加密后存储在数据库数据字典中。当用户与数据库建立连接时,Oracle验证用户提供的口令与存储在数据字典中的口令是否一致。

建立用户的语法如下:

CREATE USER 用户名

IDENTIFIED BY 口令

[DEFAULT TABLESPACE 表空间名]

[TEMPORARY TABLESPACE 表空间名]

[PASSWORD EXPIRE]

[ACCOUNT{LOCK|UNLOCK}]

其中:只有口令必须指定,其他几项都是可选的。

BY口令用于指定该用户存储在数据字典中的口令,口令不区分大小写。

DEFAULT|TEMPORARY TABLESPACE用于为用户指定默认的表空间和临时表空间。假如没有指定默认表空间,则将SYSTEM表空间作为该用户的默认表空间。假如没有指定临时表空间,则将TEMP表空间作为该用户的临时表空间。

PASSWORD EXPIRE表示刚建立用户的口令已到期。当用户使用SQL*Plus第一次登录到数据库时,强制用户重置口令。

ACCOUNT LOCK|UNLOCK用于显式地锁住用户账号,或不锁住用户账号。当一个账号被锁定并且用户试图连接到数据库时,会显示错误信息。没有指定ACCOUNT从句时,默认是不锁住用户账号。

例8-4 建立一个JOHN用户。该用户的口令没有到期,账号也没有被锁住。

SQL>CREATE USER JOHN

IDENTIFIED BY TIGER

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

当建立用户后,必须给用户授权,用户才能连接到数据库,并对数据库中的对象进行操作。只有拥有CREATE SESSION权限的用户才能连接到数据库。可用下列语句给JOHN用户授权。关于给用户授予和回收权限的语法在后面讨论。

SQL>GRANT CREATE SESSION TO JOHN

2.修改用户

建立用户时指定的所有特性都可以使用ALTER USER命令加以修改。使用此命令可以修改用户的默认表空间、临时表空间、修改用户的口令和口令期限、可以锁住或解锁用户账号等。修改用户的语法如下:

ALTER USER 用户名

IDENTIFIED BY 口令

[DEFAULT TABLESPACE 表空间名]

[TEMPORARY TABLESPACE 表空间名]

[PASSWORD EXPIRE]

[ACCOUNT{LOCK|UNLOCK}]

注意:该命令中任何没有修改的选项仍然保留原来的值。

同类推荐
  • 悟道:一位IT高管20年的职场心经

    悟道:一位IT高管20年的职场心经

    本书是一位有20多年职场经验的IT企业高管撰写的一系列有关职场悟道的短文集成,讲述的是在企业里如何修炼自己,如何摆平自己的心态,怎样做到“世事洞明”和“人情练达”,如何“搞定老板”,怎样做到工作和生活平衡等诸多话题,涉及到跳槽、转行、升迁、环境、沟通、老板、下属、老外等等。每一篇都以作者的亲身经历或者身边的故事说明道理,语言简洁流畅,妙趣横生,更有不少经典片段和发人深省的职场警句,读起来就像是一个睿智幽默的老朋友坐在你面前娓娓道来。
  • 条形码技术与应用

    条形码技术与应用

    条形码是一种可供电子仪器自动识别的标准符号,是由一组黑白相间、粗细不同的条、空符号按一定编码规则排列组成的标记,用以表示一定的信息,确认某个物体或规定它的移动,能正确快速地为产、供、销各环节在采集、处理和交换信息时提供标识。
  • 三维动画审美谈

    三维动画审美谈

    数字时代,美的标准充满更多的不确定性。而三维动画以数字图像形式成为这个图时代的代表。三维动画及三维图像不仅仅是由于应用了仿真数字图像技术而带来的虚拟空间,还有更多的是由三维图像技术所引发或引导的被扩展的图像技术,这些技术无不应用在现代视觉设计领域的各个方面,并且,由此引起社会的追热,引起审美观念的改变。这些改变是在进行中的,变化中的,也是在发展中的。对于未知的美,我们做的只是追寻和记录,我们不知道以后的美将会是什么样,尽管我们苦苦追寻,孜孜探讨,同时也在默默审视。我们在追寻中享受美,在探讨中认知美,在审视中体验美……
  • 体感交互技术

    体感交互技术

    本书提出了体感计算的研究,探讨了基于体验性认知的个性化电子学习方式,并且分析了面向儿童的艺术创造体验,在体感虚拟化身的帮助下,用户可以通过身体运动,促进情感心智的全面发展,
  • 中国移动智能手机的秘密

    中国移动智能手机的秘密

    《中国移动智能手机的秘密》是一本关于移动终端和移动互联网的科普书。作者将这18年通信行业中的学习、思考、实践积累成《中国移动智能手机的秘密》与大家分享。书本系统总结了手机的发展历史、TD产业界“从2G向3G演进”的移动终端产业分化重组进程、智能手机的使用方法用方法和应用指南,以及对移动互联网发展独特思考。
热门推荐
  • 百变娇女

    百变娇女

    玄阳子等人捉回一位擅百变易容术的拈花僧,恰炼丹房发生爆炸,玄阳子把拈花僧救出房外,却惊吓的发现,拈花僧长出一头顺滑黑发……“她”还是拈花僧吗?【情节虚构,请勿模仿】
  • 相近相远

    相近相远

    天上掉下来个男子,还是个古代人!这穿越来的“太子”居然被导演相中,转眼变成了影视巨星!顿时身边莺燕环绕!
  • 漆岛夜少

    漆岛夜少

    所谓“漆”即使纯黑之色,肮脏阴暗,排除于世界之外。在北大西洋的公海一片不为人知的海域,在那里有一个岛群。被繁星般的小岛所拱卫着,最中央的那座大岛宛如王者般的俯览公海。岛名曰——漆。
  • 清太祖努尔哈赤(世界伟人传记丛书)

    清太祖努尔哈赤(世界伟人传记丛书)

    本书介绍了一个足踏北斗天赐神勇的传奇英雄——太祖努尔哈赤。本书在尊重基本史实的基础之上,通过合理的艺术创作,在广阔深邃的时代背景上生动地描绘了这一伟大英雄及其相关的各种人物,勾勒出一幅幅波澜壮阔的战争图画、各具性情的人物图画、绘场绘色的风俗图画及柔情蜜意的感情图画。书中人物栩栩如生,故事情节跌宕起伏,充斥着野心、杀戮、权谋、奇情。从血染黄沙的征战搏杀,到春意躁动的闺中逸闻;从皇亲贵胄的权力斗争,到市井小民的野趣俗情;从女真部落的繁衍兴盛,到明廷的腐败没落,均有力透纸背的笔墨渲染,如果说朝代是证明历史兴衰的元素,那么一代皇帝的传奇人生则为元素的波澜起伏寄予了无穷的韵味。
  • EXO之待我长发及腰

    EXO之待我长发及腰

    沫雪菲因为有着一张精致的脸而出名,在韩国S.M公司当艺人。在此之间,认识了可爱.萌的敏赫,帅气.聪明的容和。有一天,权志荣问她:“如果让你选择,你会选择.......
  • 公务员职业道德学习读本

    公务员职业道德学习读本

    道德往往代表着社会的正面价值取向,为判断行为正当与否的作用。道德一词,在汉语中可追溯先秦思想家老子所著《道德经》一书。在西方古代文化中,“道德”(Morality)一词起源于拉丁语的“Mores”,意为风俗和习惯。道德由一定社会的经济基础所决定,并为一定的社会经济基础服务。人类的道德观念是受到后天一定的生产关系和社会舆论的影响而逐渐形成的。不同的时代,不同的阶级往往具有不同的道德观念。不同的文化中,所重视的道德元素及其优先性、所持的道德标准也常常有所差异。
  • 妖孽暴君的盛世绝宠:倾城萌妃

    妖孽暴君的盛世绝宠:倾城萌妃

    一朝穿越·,穿成了高高在上的大将军的独女。。。。可惜好日子还没有过够,一道圣旨,将洛雪轰了个外焦里嫩。没关系,看我不玩死那皇帝。。。。看逗比大小姐怎么玩转在后宫之中,收获真爱。
  • CS计划

    CS计划

    在现实世界,突然有一天,位面之门突然打开,异界气息进入现在世界,隐藏在现代世界的异能者纷纷现身……
  • 你拿什么改变世界:比尔·盖茨送给年轻人的管理礼物

    你拿什么改变世界:比尔·盖茨送给年轻人的管理礼物

    本书以独特的视角从微软公司成功运作的过程中,提炼出比尔·盖茨成功的管理思维,并列举了微软公司众多的成功案例。相信无论是创业者、管理者还是渴望成功的人都会从本书中找到能给予自己帮助的经验和策略。同时,为追求事业发展的个人和企业,带来一定得启发和借鉴。
  • 韩娱之戏子

    韩娱之戏子

    想要成为一个演员很简单,想要成为一个被认同的演员却很难。而我,不过是一个为了生存不断成为各种人的戏子而已。裙:342。586.088