收藏 分享(赏)

第7章 数据库安全性与完整性.ppt

上传人:hwpkd79526 文档编号:10069237 上传时间:2019-10-04 格式:PPT 页数:19 大小:713.50KB
下载 相关 举报
第7章 数据库安全性与完整性.ppt_第1页
第1页 / 共19页
第7章 数据库安全性与完整性.ppt_第2页
第2页 / 共19页
第7章 数据库安全性与完整性.ppt_第3页
第3页 / 共19页
第7章 数据库安全性与完整性.ppt_第4页
第4页 / 共19页
第7章 数据库安全性与完整性.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、第7章 数据库安全性与完整性,7.1数据安全与保护概述,数据库的安全性:指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 数据库的完整性:指数据的正确性、有效性和相容性 安全数据库或可信数据库:能适应网络环境下安全要求级别的数据库。 。,7.2 数据库的安全性,安全措施应该一级一级层层设置。 计算机系统的安全模型:,DB 数据密 码存储,OS 安全保护,DBMS 存取控制,7.3 数据库安全性控制,一、用户标识与鉴别 1. 利用用户自身具备的各种自然特征标识自己和提供鉴别的依据。 2. 利用用户持有的证件。 3. 利用口令。口令保密可采用的一些方法:(1)扩大口令集和口令长度。(2

2、)规定口令的生效时间,定期或不定期地更换口令(3)设置多层口令系统。(4)设置动态口令。,二 、 存取控制1. 存取控制方法 DBMS的安全子系统主要包括两部分: 定义用户权限,并将用户权限登记到数据字典中。 合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。 用户权限组成:数据对象和操作类型。 在数据库系统中,定义存取权限称为授权。(1) 自主存取控制(DAC)用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此自主存取控制非常灵活。,(2)强制存取控制(MAC) 在强制存取控制(MAC)方法中,每

3、一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。 对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对比较严格。 MAC适用于对数据有严格而固定密级分类的部门。 主体:是指数据库中数据访问者、(用户、DBA)进程、线程等,是系统中的活动实体。 客体:是指数据库中数据及其载体(表、视图、索引、存储过程等),是系统中的被动实体。,对于主体和客体,DBMS为它们每个实例(值)指派一 个敏感度标记(Label)。 敏感度标记被分成若干级别,例如绝密、机密、可信、公开等。 主体的敏感度标记称为许可证级别。 客体的敏感度标记称为密级。,客体子集,主体子集,MAC机

4、制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。 当某一主体以标记label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则: 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;, 仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体这两种规则的共同点在于它们均禁止了拥有高许可证级别的主体更新低密级的数据对象,从而防止了敏感数据的泄漏。,如何实现存取控制?,(1) 用户分类分类与权限 一般分为四类: 系统用户(或DBA) 数据对象的属主 一般用户 公共用户,SQL Server,系统管理员,DBA,数据库对象用户,数据库

5、访问用户,(2)常有的几种权限 数据访问权限读、插入、修改、删除权限 数据库模式修改权限(数据库管理权限):索引权限、资源权限、修改权限、撤销权限(drop),(3) 授权GRANT语句向用户授予操作权限一般格式为:GRANT,ONTO,.WITH GRANT OPTION 语义为:将对指定操作对象的指定操作权限授予指定的用户。,可将此权限转授,对不同类型的操作对象有不同的操作权限:,例:把查询表SC和修改其学号的权限授给用户U2和U4 (或全体)。GRANT SELECT ,UPDATE(Sno)ON TABLE SC TO U2,U4;,例:把对表SC的INSERT权限授给用户U5,并允许

6、将此权限再授予其他用户。 GRANT INSERT ON TABLE SC TO U5WITH GRANT OPTION; U5还可以将此权限授予U6:GRANT INSERT ON TABLE SC TO U6;,或 :PUBLIC;,U6能不能再 传播此权限?,例: DBA把在数据库 DB1中建立表的权限授予用户U1。GRANT CREATETABON DATABASE DB1TO U1;,GRANT语句可以: 一次向一个用户授权; 一次向多个用户授权; 一次传播多个同类对象的权限; 一次可以完成对基本表、视图和属性列这些不同对象的授权。收回权限: 级联: (但系统只收回直接或间接从某处获

7、得的权限),UA,UB,UA回收,U1隐含权限?,三、视图机制 通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护四.数据加密以密码形式存储和传输数据。五、审计审计:是对选定的用户动作的监控和记录,以监测可能的不合法行为。审计常用于:(1)审查可疑的活动。(2)监视和收集关于数据库活动的数据。,7.4 SQLSERVER的安全性控制 1. SQL Server的安全机制 SQL Server采用4个等级的安全验证,分别是: (1)操作系统安全验证; (2)SQL Server安全验证; (3)SQL Server数据库安全验证; (4)SQL Serve

8、r数据库对象安全验证。 2.SQL SERVER 验证模式 (1)WINDOWS验证模式 (2)另一种是混合验证模式。,7.5 数据库的完整性控制,一、数据库的完整性 数据库的完整性:是指数据的正确性、有效性和相容性。说明:完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。 数据库完整性约束条件:加在数据库数据之上的语义约束条件。 完整性检查:而DBMS中检查数据是否满足完整性条件的机制。,二、完整性约束条件作用的对象: 关系、元组、列 静态约束:是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束。 动态约束:是指数据库从一种状态转变为另

9、一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。,DBMS的完整性控制机制应具有三个方面的功能:(1)定义功能:提供定义完整性约束条件的机制。(2)检查功能:检查用户发出的操作请求是否违背完整性约束条件(3)防范功能:如果发现用户的操作请求使数据违背了完整性约束条件,采取一定的动作来保证数据的完整性。,实现参照完整性要考虑的问题: 在被参照关系中删除元组 这时主要有三种不同的策略: 级联删除(CASCADE) 受限删除(RESTRICT) 置空值删除(SET NULL) 修改被参照关系中主码 若允许修改主码,主要有三种不同的策略: 级联修改(CASCADE) 受限修改

10、(RESTRICT) 置空值修改(SET NULL),7.6 SQL Server的数据完整性,数据完整性的实施方法 : 过程型数据完整性: 由缺省、规则和触发器实现。 声明型数据完整性: 作为数据库说明的一部分在语法中实现。实现方法是:在CREATE TABLE和ALTER TABLE定义中 使用sonstraint和default语句限制表中的值。在CREATE TABLE和ALTER TABLE语句中,约束子句有: 缺省约束(default sonstraint):当向表中插入数据时,如果用户没有明确给出某列的值 ,SQL SERVER自动为该列输入指定值。 检查约束(check sonstraint):限制插入列中的值。 唯一约束(unique sonstraint):保证指定列上的值唯一。 主码约束(Primary key sonstraint):保证主码列上值唯一,且没有空值。 参照约束(reference constraint)/外码约束(Foreign key sonstraint):要求指定的列 (外码)中正被插入或更新的新值,必须在被参照表(主表)的主码列中已经存在。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报