数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护

上传人:w****i 文档编号:94495950 上传时间:2019-08-07 格式:PPT 页数:53 大小:870.50KB
返回 下载 相关 举报
数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护_第1页
第1页 / 共53页
数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护_第2页
第2页 / 共53页
数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护_第3页
第3页 / 共53页
数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护_第4页
第4页 / 共53页
数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护》由会员分享,可在线阅读,更多相关《数据库原理及应用教程 第3版 十二五 普通高等教育本科国家级规划教材 教学课件 ppt 作者 陈志泊 2_ 第5章 数据库安全保护(53页珍藏版)》请在金锄头文库上搜索。

1、第5章 数据库安全保护,北京林业大学 软件教研室,2,5.1 数据库的安全性 5.2 完整性控制 5.3 并发控制与封锁 5.4 数据库的恢复,北京林业大学 软件教研室,3,5.1 数据库的安全性,5.1.1 数据库安全性的含义 数据库的安全性是指保护数据库以防止非法使用所造成的数据泄露、更改或破坏。 安全性问题有许多方面 : (1)法律、社会和伦理方面时问题。 (2)物理控制方面的问题。 (3)政策方面的问题。 (4)运行方面的问题。 (5)硬件控制方面的问题。 (6)操作系统安全性方面的问题。 (7)数据库系统本身的安全性方面的问题。,北京林业大学 软件教研室,4,5.1.2 安全性控制的

2、一般方法,安全性控制是指要尽可能地杜绝所有可能的数据库非法访问。,图5-1 安全控制模型,北京林业大学 软件教研室,5,安全性控制的一般方法 用户标识和鉴定 用户存取权限控制 定义视图 数据加密 审计(Audit),北京林业大学 软件教研室,6,用户标识和鉴定 用户标识和鉴定是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供机器的使用权。 用户标识和鉴定的方法 用一个用户名或用户标识符来标明用户的身份,系统以此来鉴别用户的合法性。 用户标识符是用户公开的标识,它不足以成为鉴别用户身份的凭证。 通过用户名和

3、口令来鉴定用户的方法简单易行,但该方法在使用时,由于用户名和口令的产生和使用比较简单,也容易被窃取,因此还可采用更复杂的方法。,北京林业大学 软件教研室,7,授权表,用户标识,数据对象,操作类型,用户存取权限控制 用户存取权限指的是不同的用户对于不同的数据对 象允许执行的操作权限。 在数据库系统中,定义用户存取权限称为授权 。 这些授权定义经过编译后以一张授权表的形式存放 在数据字典中。,北京林业大学 软件教研室,8,关系系统中的存取权限,北京林业大学 软件教研室,9,对于授权表,衡量授权机制的一个重要指标就是授权粒度,即可以定义的数据对象的范围,在关系数据库中,授权粒度包括关系、记录或属性。

4、 授权粒度越细,授权子系统就越灵活,能够提供的安全性就越完善。,北京林业大学 软件教研室,10,数据加密 加密的基本思想是根据一定的算法将原始数据(术语为明文)加密成为不可直接识别的格式(术语为密文),数据以密文的形式存储和传输。 加密方法: 替换方法,该方法使用密钥将明文中的每一个字符转换为密文中的字符。 转换方法,该方法将明文中的字符按不同的顺序重新排列。 通常将这两种方法结合起来使用,就可以达到相当高的安全程度。,北京林业大学 软件教研室,11,审计 审计功能是一种监视措施,它跟踪记录有关数据的访问活动。 使用审计功能把用户对数据库的所有操作自动记录下来,存放在一个特殊文件中,即审计日志

5、中。 记录的内容一般包括:操作类型(如修改、查询等),操作终端标识与操作者标识,操作日期和时间,操作所涉及到的相关数据(如基本表、视图、记录、属性等),数据的前象和后象等。,北京林业大学 软件教研室,12,5.1.3 SQL Server2008的数据安全性机制,第一层安全性是SQL Server服务器级别的安全性,即必须具有正确的服务器登录账号和密码才能连接到SQL Server服务器。 第二层安全性是数据库级别的安全性,即是否具有访问某个数据库的权利。 第三层安全性是数据库对象级别的安全性,即用户想要访问数据库里的对象时,必须事先被赋予相应的访问权限,否则系统将拒绝访问。,SQL Serv

6、er 2008的安全模型分为三层结构,分别 为服务器安全管理、数据库安全管理和数据库对象的 访问权限管理。,北京林业大学 软件教研室,13,5.1.4 SQL Server2008的身份验证模式,Windows身份验证模式 在该验证模式下,SQL Server 2008使用Windows操作系统来对登录的账号进行身份验证,支持Windows操作系统的密码策略和锁写策略,账号和密码保存在Windows操作系统的账户数据库中,是一个系统文件。 Windows验证模式下主要有以下优点: (1)数据库管理员的工作可以集中在管理数据库方面,而不是管理用户账户。 (2)Windows有着更强的用户账户管理

7、工具。可以设置账户锁定、密码期限等。 (3)Windows的组策略支持多个用户同时被授权访问SQL Server。 如果网络中有多个SQL Server服务器,就可以选择通过Windows身份验证机制来完成。,北京林业大学 软件教研室,14,TCP/IP Sockets,命名管道,SQL Server身份验证模式,Windows身份验证模式,混合身份验证模式 混合身份验证模式允许以SQL Server身份验证模式或者Windows身份验证模式来进行验证。 混合验证模式具有以下优点: (1)创建了Windows之上的另外一个安全层次。 (2)支持更大范围的用户,如非Windows客户、Novel

8、l网用户等。 (3)一个应用程序可以使用单个的SQL Server登录账号和口令。,北京林业大学 软件教研室,15,5.1.5 SQL Server2008的登录账号和服务器角色,在SQL Server中,账号有两种:一种是登录服务器的登录账号(Login Name),另外一种是使用数据库的用户账号(User Name)。,创建登录账号 (1)在【对象资源管理器】中,展开【安全性】结点,然后右 键单击【登录名】,在弹出的快捷菜单中选择【新建登录名】。 (2)在“登录名-新建”对话框中,选择“常规”页。 (3)在“登录名”文本框中输入要创建的登录账号的名称,单击“SQL Server身份验证”单

9、选钮,并输入密码,然后在“默认数据库” 选项组中,选择数据库下拉列表中的某个数据库,表示该登录账号默 认登录到这个数据库中。,北京林业大学 软件教研室,16,(4)在“登录名-新建”对话框中,选择“服务器角色”页,这里 可以选择将该登录账号添加到某个服务器角色中成为其成员,并自 动具有该服务器角色的权限。其中,public角色自动选中,并且不 能删除。 (5)设置完所有需要设置的选项之后,单击【确定】按钮即 可创建登录账号。 修改登陆账号 修改登录账号的过程和创建登录账号的过程类似,在【对象资 源管理器】中,展开【安全性】结点下面的【登录名】结点, 然后右键单击要修改的登录名,在弹出的快捷菜单

10、中选择【属 性】菜单,即可打开【登录属性】对话框,接下来就可以对该 登录账号进行修改。,北京林业大学 软件教研室,17,SQL Server的服务器角色 角色(Role)是对权限集中管理的一种机制,将不同的权限组合在一起就形成了一种角色。 服务器角色是执行服务器级管理操作的用户权限的集合。,删除登录账号 在【对象资源管理器】中,展开【安全性】结点下面 的【登录名】结点,然后右键单击要删除的登录名,在弹 出的快捷菜单中选择【删除】,在出现的“删除登录”对话 框中单击【确定】按钮即可删除该登录账号。,北京林业大学 软件教研室,18,5.1.6 SQL Server2008的数据库用户账号和数据库角

11、色,数据库的用户账号 数据库用户在特定的数据库内创建,必须和某个登录名相关联 一个登录账户可以与服务器上的所有数据库进行关联,而数据库用户是一个登录账户在某数据库中的映射,也即一个登录账户可以映射到不同的数据库,产生多个数据库用户(但一个登录账户在一个数据库至多只能映射一个数据库用户),一个数据库用户只能映射到一个登录账户。,北京林业大学 软件教研室,19,创建数据库的用户账号 利用对象资源管理器创建数据库用户 利用T-SQL语句创建。下面将分别进行介绍 查看或修改数据库的用户账号 删除数据库用户账号 注意:不能删除 guest 用户,但可在除 master 或 tempdb 之外的任何数据库

12、中执行 REVOKE CONNECT FROM GUEST来撤销它的 CONNECT 权限,从而禁用 guest 用户。 数据库角色 数据库角色是对数据库对象操作的权限的集合。 数据库角色可分为两种: 固定的标准数据库角色(系统创建的) 应用程序角色 当我们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存取数据库数据时,就应该考虑使用应用程序角色。,北京林业大学 软件教研室,20,北京林业大学 软件教研室,21,创建新的数据库角色 sp_addrole 角色名, 拥有者 删除数据库角色 sp_droprole 角色名 应用程序角色 应用程序角色是一个数据库主体,它使应

13、用程序能够用其自身的、类似用户的特权来运行。 用户和角色的权限问题 用户权限继承角色的权限 用户分属不同角色,北京林业大学 软件教研室,22,5.2 完整性控制,5.2.1 数据库完整性的含义 数据库的完整性是指保护数据库中数据的正确性、有效性和相容性,防止错误的数据进入数据库造成无效操作。 数据库的完整性是指防止合法用户使用数据库时向数据库中加入不符合语义的数据。 完整性措施的防范对象是不合语义的数据。,北京林业大学 软件教研室,23,5.2.2 完整性规则的组成,完整性规则主要由以下三部分构成。 (1)触发条件:规定系统什么时候使用规则来检查数据。 (2)约束条件:规定系统检查用户发出的操

14、作请求违背了什么样的完整性约束条件。 (3)违约响应:规定系统如果发现用户发出的操作请求违背了完整性约束条件,应该采取一定的动作来保证数据的完整性,即违约时要做的事情。 完整性规则从执行时间上可分为立即执行约束(Immediate Constraints)和延迟执行约束(Deferred Constraints)。,北京林业大学 软件教研室,24,一条完整性规则可以用一个五元组(D,O,A,C,P)来形式化地表示 D(Data):代表约束作用的数据对象,可以是关系、元组和列三种对象; O(Operation):代表触发完整性检查的数据库操作,即当用户发出什么操作请求时需要检查该完整性规则,是立

15、即执行还是延迟执行; A(Assertion):代表数据对象必须满足的语义约束,这是规则的主体; C(Condition):代表选择A作用的数据对象值的谓词; P(Procedure):代表违反完整性规则时触发执行的操作过程。,北京林业大学 软件教研室,25,完整性约束条件是完整性控制机制的核心。,例如,对于“学号(SNo)不能为空”的这条完整性约束中,D、O、A、C、P的含义分别如下: D:代表约束作用的数据对象为SNo属性; O:当用户插入或修改数据时需要检查该完整性规则; A:SNo不能为空; C:A可作用于所有记录的SNo属性; P:拒绝执行用户请求。,北京林业大学 软件教研室,26,

16、5.2.3 完整性约束条件的分类,从约束条件使用的对象分,值的约束和结构的约束 值的约束即对数据类型、数据格式、取值范围和空值等进行规定。 (1)对数据类型的约束,包括数据的类型、长度、单位和精度等。 (2)对数据格式的约束。 (3)对取值范围的约束。 (4)对空值的约束。 结构的约束即对数据之间联系的约束。 (1)函数依赖约束。 (2)实体完整性约束。 (3)参照完整性约束。 (4)统计约束。,北京林业大学 软件教研室,27,从约束对象的状态分,静态约束和动态约束 静态约束 静态约束是指对数据库每一个确定状态所应满足的约束条件,是反映数据库状态合理性的约束,这是最重要的一类完整性约束。上面介绍的值的约束和结构的约束均属于静态约束。 动态约束 动态约束是指数据库从一种状态转变为另一种状态时,新旧值之间所应满足的约束条件,动态约束反映的是数据库状态变迁的约束。 例如,学生年龄在更改时只能增长,职工工资在调整时不得低于其原来的工资。,北京林业大学 软件教研室,28,5.2.4 数据完整性的实施

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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