《数据库保护》PPT课件.ppt
《《数据库保护》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《数据库保护》PPT课件.ppt(55页珍藏版)》请在三一办公上搜索。
1、SQL Server 2000,第8章 数据库保护,数据库的保护功能:数据的安全性、数据的完整性、数据的并发控制、数据库的备份与恢复,SQL Server 2000,8.1 数据库的安全性8.2 数据库的完整性8.3 数据库的并发控制8.4 数据库恢复技术,第8章 数据库保护,SQL Server 2000,8.1 数据库的安全性,数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄露、更改或破坏。不合法的使用是指不具有数据操作权的用户进行了越权的数据操作。,SQL Server 2000,一、数据库安全措施,数据库安全必须在如下几个层次上采取措施:1、物理层2、人员层3、网络层4、操
2、作系统层5、数据库系统层:有完善的访问控制机制,8.1 数据库的安全性,SQL Server 2000,二、存取控制,DBMS的存取控制机制是数据安全的一个重要保证,它确保具有数据库使用权的用户访问数据库,即保证用户只能存取他有权存取的数据。,8.1 数据库的安全性,SQL Server 2000,权限检查,每当用户发出存取数据库的操作请求后,DBMS查找数据字典,根据用户权限进行合法权检查,若用户的操作请求超出了定义的权限,系统拒绝执行此操作。,(1)存取控制机制的组成 定义用户权限,称为授权,即规定各用户的数据操作的权限。授权可以采用数据控制语言DCL或者DBMS的可视化操作工具来进行授权
3、。授权必须由具有授权资格的用户来进行,如超级用户或者数据库拥有者等,具有授权资格的用户也可以使其他用户拥有授权资格。,8.1 数据库的安全性,SQL Server 2000,(2)存取控制机制的类别,强制存取控制(MAC):每个数据对象被标以一定的密级,每个用户确定一个许可级别,对于任意一个对象,只有具有合法许可证的用户可以存取,强制存取控制比较严格。,自主存取控制(DAC):用户自主控制对数据库对象的操作权限,哪些用户可以对哪些对象进行操作,完全决定取决于用户之间的授权。自主存取控制比较灵活,但有时容易失控。,8.1 数据库的安全性,SQL Server 2000,(3)存取权限 存取权限是
4、由两个要素组成:数据对象和操作类型。即每个用户能对哪些数据进行操作和进行什么样的操作。,8.1 数据库的安全性,SQL Server 2000,(4)授权粒度 衡量授权机制是否灵活的一个重要指标是授权粒度,即可以定义的数据对象的范围。粒度越细,即可以定义的数据对象的范围越小,授权系统就越灵活。但系统定义和检查权限的开销也越大。,8.1 数据库的安全性,SQL Server 2000,三、其它数据库安全性手段,定义视图 DBMS通过视图可以将与其无关的数据隐藏起来,从而提供一定程度的安全保护。但视图主要还是为了提供数据独立性,其安全保护功能不太精细。,审计 审计就是将所有用户的所有操作内容和操作
5、时间记录在一个专门的数据库(称为审计日志)中。这样一旦发生非法存取,就可以利用审计来找出非法存取数据的人、时间、操作内容等信息。,数据加密 防止数据库中的数据在存储和传输中失密的有效手段。,8.1 数据库的安全性,SQL Server 2000,四、SQL SERVER的安全体系结构,(1)WINDOWSNT操作系统的安全,(2)SQL SERVER运行的安全防线,(3)SQL SERVER数据库的安全防线,(4)SQL SERVER数据库对象的安全防线,OS USERLOGINDATABASE USER授权或定义角色,8.1 数据库的安全性,SQL Server 2000,五、SQL SER
6、VER的安全认证模式 安全认证是用来确认登录SQL Server的用户的登录帐号和密码的正确性,由此来验证其是否具有连接SQL Server的权限。SQL Server 2000提供了两种确认用户的认证模式:,(1)WINDOWSNT安全认证模式,SQL服务器通过 Windows 身份验证连接到 SQL Server,它允许一个用户登录到一个SQL服务器上时不必再提供一个单独的登录帐号和口令。,(2)混合安全认证模式,指定用户可以使用 SQL Server 身份验证或 Windows 身份验证连接到 SQL Server。这种验证为混合模式身份验证。,8.1 数据库的安全性,SQL Serve
7、r 2000,六、SQL SERVER 的用户、权限管理,1、用户的种类 在SQL SERVER中,用户分为登录用户(login)和数据库操作用户。登录用户是用于进入SQL SERVER的用户。数据库用户是操作数据库的用户。login用户只有成为数据库用户后才能访问数据库。SQL Server有两个login用户:sa和BULTIN/administrators,sa是系统管理员的简称,BULTIN/administrators是WindowsNT的系统管理员,它们都是超级用户,对数据库拥有一切权限。SQL Server有一缺省数据库用户:dbo(数据库拥有者),拥有一切数据库操作权限。,8.
8、1 数据库的安全性,SQL Server 2000,2、权限管理 权限用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。在SQL Server中包括二种类型的权限:即对象权限、语句权限。这两种权限可以通过两种方式来管理:(1)使用SQL Server 企业管理器管理,(2)可用SQL 语句的grant、revoke和deny三种命令来实现管理。,8.1 数据库的安全性,SQL Server 2000,3、角色 角色:具有一定权限的用户组合。利用角色,SQL Server管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可以实现对该类用户的所有用户权限
9、的设置,大大减少了管理员的工作量。,8.1 数据库的安全性,SQL Server 2000,4、SQL权限控制功能 1)授予权限 格式1:grant 对象特权组 on 对象 to 用户组|public with grant option对象特权:select、insert、update和delete或all privileges对象:表、列(字段)、行(元组)视图、with grant option:可以授权给其它用户 格式2:grant 语句特权组 to 用户组|public with grant option对象特权和语句特权:参见P225,8.1 数据库的安全性,SQL Server 2
10、000,2)收回权限 格式:revoke 权限组 on 对象 from 用户组|public 权限组:对象权限或语句权限 对象:表、列(字段)、视图、,3)拒绝访问权限 格式:deny 权限组 on 对象 to 用户组|public 权限组:对象权限或语句权限 对象:表、列(字段)、视图、,8.1 数据库的安全性,SQL Server 2000,例1:将学生表的查询和插入权赋给用户dyh,grant select,insert on 学生 to dyh,例2:将学生表的查询和插入权赋给用户dyh 1,并且dyh 1可以授权给其它用户,例3:收回用户dyh 2对学生表的查询和插入权限,revok
11、e select,insert on 学生 from dyh 2,例4:把对选课表的全部权限授予用户dyh 1和dyh 2,grant all privileges on 选课 to dyh 1,dyh 2,grant select,insert on 学生 to dyh 1 with grant option,8.1 数据库的安全性,SQL Server 2000,例7:把建立新表的权限授予用户dyh 1,grant create table to dyh 1,例8:收回用户dyh 1建立新表的权限,revoke create table from dyh 1,例5:把查询学生表和修改学生姓
12、名的权限授予用户dyh 3,grant select,update(姓名)on 学生 to dyh 3,例6:把对课程表的查询权限授予所有用户,grant select on 课程 to public,8.1 数据库的安全性,SQL Server 2000,8.2.1 完整性约束条件及完整性控制一、数据库的完整性,数据库的完整性是指数据的正确性和相容性。正确性指数据库中的数据本身是正确的。如:学生的年龄必须是整数,取值范围为6,性别只以是男、女。相容性指数据之间的关系是正确的,如:学号必须唯一,学生所选的课必须是已经开设的课等等。,数据的完整性和安全性是数据库保护的两个不同的方面。安全性是防止
13、用户非法使用数据库,完整性是防止合法用户使用数据库时向数据库中加入不合语义的数据。也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据,8.2 数据库的完整性,SQL Server 2000,为维护数据库的完整性,分以下两步进行:(1)首先在定义模式时就要定义好加在数据之上的语义约束条件(数据的要求),这种语义约束条件称为数据库完整性约束条件,它们作为模式的一部分存入数据库中。(2)用户对数据库进行日常操作时,DBMS能自动根据完整性约束条件来判断这些操作是否满足完整性条件,称为完整性检查。,8.2 数据库的完整性,SQL Server 2000,二、完整性
14、约束条件,完整性约束条件作用的对象可以有列、元组和关系三种粒度。其中对列的约束有取值类型、范围、精度、排序等几种;对元组的约束指元组中各字段间的联系约束;对表的约束指若干元组间、关系中以及关系之间的联系的约束。,完整性约束条件涉及的三类对象,其状态可以是静态的,也可以是动态的。静态指数据无论在什么时候都应满足的条件 动态指数据变化时新旧数据之间应满足的条件。,8.2 数据库的完整性,SQL Server 2000,综合上述两方面,可以将完整性约束条件分为如下六类:,完整性约束条件,静态列级约束条件,静态元组级约束条件,静态表级约束条件,动态列级约束条件,动态元组级约束条件,动态表级约束条件,静
15、态,动态,8.2 数据库的完整性,SQL Server 2000,1、静态列级约束主要有这么几方面:(1)列的数据类型,包括类型、长度、精度等如姓名的类型是字符串,长度为10;年龄的类型是整型;(2)列的数据格式如日期格式、电子邮件格式,身份证号格式(3)值的范围如考试的成绩的范围在0100,性别的范围是男、女(4)空值约束如学号不能为空值,成绩可以为空值。定义为主属性的列自动不能为空值。其它列也可以规定是不是允许为空,如年龄。,8.2 数据库的完整性,SQL Server 2000,2、静态元组约束 规定一个元组中各个列之间的约束关系。例如,一个订货关系有发货量和订货量等列,可以规定发货量不
16、得超过订货量。又例如职工的应发工资=总收入-总支出。,3、静态关系约束 涉及多个元组多个列甚至是多个关系的数据联系和约束。常见的静态关系约束有以下四种:(1)实体完整性约束(2)参照完整性约束(3)函数依赖约束(4)统计约束,8.2 数据库的完整性,SQL Server 2000,一般情况下,函数依赖关系都是隐含在关系模式中,如定义了主键后,对主键值的唯一性要求,自然就确定了函数依赖的关系。但有时为了使信息不过于分离,常常不过分追求规范化,在这种情况下,另外的函数依赖关系需要显式地表示出来。如AB,就要求B不同时,A不能相同。,统计约束是指某个属性值与另外一个关系多个元组的统计值之间的约束关系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库保护 数据库 保护 PPT 课件
链接地址:https://www.31ppt.com/p-5584091.html