预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共37页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第6章数据库保护 本章要点 1.掌握数据库的安全性的概念,理解数据库中权限和用户的分类,并掌握数据库中权限的授权和收权。 2.掌握数据库完整性的概念,理解完整性约束条件,深入理解安全性和完整性的区别。 3.掌握数据库当中的故障的种类,理解数据库恢复中经常使用的数据库转储和登记日志文件等技术,了解对故障的恢复策略。数据库保护指的是防止数据库中的数据被非法使用或非法修改,保证数据库中的数据正确、可靠,保证数据库中的数据不会丢失。因此,数据库保护包含三个方面的内容,第一是保证数据库中的数据不被破坏,这是通过数据库的安全机制实现的;第二是保证数据库中的世界与现实世界相符,这是通过数据库的完整性控制机制实现的;第三是保证当由于各种原因而造成数据损害时,数据不会丢失,这是通过数据库的备份和恢复机制实现的。本章我们介绍这三方面的内容。6.1数据库安全性 安全性对于一个数据库管理系统来说是至关重要的。数据库通过存储了大量的数据,这些数据可能包括了个人信息、客户清单或其他机密资料。如果有人未经授权非法侵入了数据库,并查看和修改了数据,那么将会造成极大的危害,特别是在银行、金融等系统中更是如此。 安全性问题并非是数据库系统所独有,实际上在许多系统上都存在同样的问题。数据的安全控制是指在数据库系统的不同层次提供安全防范措施,以免数据库系统遭到有意或无意的损坏。 在数据库中,可采用加密存、取数据的方法防止有意的非法活动;使用用户身份验证、限制操作权来控制有意的非法操作;采用提高系统的可靠性和数据备份来控制无意的破坏。数据库的安全性和完整性是两个不同的概念,完整性是指防止合法用户的无意操作而造成的数据错误。通俗的来说,安全性防范的是非法用户的有意破坏,完整性防范的是合法用户的无意破坏。 6.1.1安全控制模型 数据库中的数据被恶意破坏的形式有多种,可能是物理地破坏计算机设备,也可能是窃取信息、恶意修改和删除数据等,这些都会产生严重的后果。 数据库的安全涉及很多层面,除了数据库管理系统本身应该具备安全保护功能外,还需要从管理机制、人员行为等多方面采取措施。所以,数据库安全性应该从如下几个层次采取措施: ⑴物理层 ⑵人员层 ⑶操作系统层 ⑷数据库控制层在一般数据库应用系统中,安全措施是一级一级层层设置的。图6.1显示了从用户使用数据库应用程序开始一直到访问后台数据库数据经过的安全认证过程。 图6.1数据库应用系统的安全模型当用户访问数据库数据时,首先应该进入到数据库系统。用户进入到数据库系统通常是通过数据库应用程序实现的,这时用户要向数据库应用程序提供其身份,然后数据库应用程序将用户的身份要给数据库管理系统进行验证,只有合法的用户才能进入到下一步的操作。若是合法用户,当其要进行数据库操作时,DBMS还要验证此用户是否具有这种操作权。如果有操作权才能进行操作,否则拒绝执行用户的操作。在操作系统一级也有相应的保护措施,比如设置文件的访问权限等。对于存储在磁盘上的文件,还可以加密存储,这样即使数据被人窃取,窃取者也很难读懂数据。另外,还可以将数据库文件保存多份,这样当出现意外情况时(比如,磁盘坏了),不至于丢失数据。 这里,我们只讨论与数据有关的用户身份验证和用户权限管理等技术。6.1.2存取控制 数据库安全性所关心的主要是DBMS的存取控制机制。数据库安全最重要的一点就是确保只授权给有资格的用户访问数据库的权限,同时令所有未被授权的人员无法接近数据,者主要是通过数据库系统的存取控制机制实现的。 存取控制机制主要包括以下两部分: 1.定义用户权限,并将用户权限登记到数据字典中。 2.合法权限检查,每当用户发出存取数据的操作请求后,DBMS首先查看数据字典,根据安全规则进行合法权限检查。若用户的操作不在所定义的权限内,则系统将拒绝执行操作。 用户权限定义和合法权限检查机制一起构成了DBMS的安全子系统。存取控制方式主要分为两种:自主存取控制(DiscretionaryControl,DAC)和强制存取控制(MandataryControl,MAC)。 自主存取控制方式就是由用户(如数据库管理员)自主控制操作数据库对象的权限,哪些用户可以对哪些对象进行哪些操作,完全取决于用户之间的授权。任何用户只要需要,就有可能获得对任何对象的操作权限。这种存取控制方式非常灵活,但有时容易控制。目前大多数数据库管理系统都支持自主存取控制方式。 强制存取控制方式就是每一个数据对象被标以一定的密级,每一个用户也被授予一个许可证级别,对于任意一个对象,只有具有合法许可证的用户才可以存取。 强制存取控制本质上具有分层特点,通常具有静态的、严格的分层结构,与现实世界的层次管理相吻合。强制存取控制特别适合层次分明的军方和政府等的数据管理。6.1.3数据库权限的分