




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.1基本概念,7.2数据库安全控制,第七章数据库的安全性与完整性,7.3数据库的完整性控制,7.4触发器,本章小结,第七章数据库的安全性与完整性,7.1基本概念数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。数据库的完整性是指数据的正确性、有效性和相容性。能适应网络环境下安全要求级别的数据库为安全数据库或可信数据库。可信计算基是指为实现数据库安全的所有实施策略和机制的集合。数据安全性标准:P.208表7.1,7.2数据库安全性控制,安全措施应该一级一级层层设置。计算机系统的安全模型P.207图7-1,DB数据密码存储,OS安全保护,DBMS存取控制,7.2数据库安全性控制,数据库安全控制方法一、用户标识与鉴别1.利用用户自身具备的各种自然特征标识自己和提供鉴别的依据。2.利用用户持有的证件。3.利用口令。口令保密可采用的一些方法:(1)扩大口令集和口令长度。(2)规定口令的生效时间,定期或不定期地更换口令。(3)设置多层口令系统。(4)设置动态口令。,7.2数据库安全性控制,二、存取控制1.存取控制方法DBMS的安全子系统主要包括两部分:定义用户权限,并将用户权限登记到数据字典中。合法权限检查,若用户的操作请求超出了定义的权限,系统将拒绝执行此操作。用户权限组成:数据对象和操作类型。在数据库系统中,定义存取权限称为授权。(1)自主存取控制(DAC)用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此自主存取控制非常灵活。,7.2数据库安全性控制,(2)强制存取控制(MAC)在强制存取控制(MAC)方法中,每一个数据对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取。强制存取控制因此相对比较严格。MAC适用于对数据有严格而固定密级分类的部门。主体是指数据库中数据访问者、(用户、DBA)进程、线程等,是系统中的活动实体。客体是指数据库中数据及其载体(表、视图、索引、存储过程等),是系统中的被动实体。,7.2数据库安全性控制,对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)。敏感度标记被分成若干级别,例如绝密、机密、可信、公开等。主体的敏感度标记称为许可证级别。客体的敏感度标记称为密级。,客体子集,主体子集,7.2数据库安全性控制,MAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。当某一主体以标记label注册入系统时,系统要求他对任何客体的存取必须遵循如下规则:仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;,仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体。这两种规则的共同点在于它们均禁止了拥有高许可证级别的主体更新低密级的数据对象,从而防止了敏感数据的泄漏。,7.2数据库安全性控制,2.存取控制的实现(1)用户分类和权限用户:系统用户(DBA)、数据对象属主(owner)、一般用户、公共用户(public)。权限:包括数据访问权限(读、插入、修改、删除等)和数据库模式修改权限(索引、资源、修改、撤消等)两类。,7.2数据库安全性控制,1、授权GRANT语句向用户授予操作权限一般格式为:GRANT,ONTO,.WITHGRANTOPTION语义为:将对指定操作对象的指定操作权限授予指定的用户。,可将此权限转授,对不同类型的操作对象有不同的操作权限。如P130表3.4所示。,7.2数据库安全性控制,例:把查询表SC和修改其学号的权限授给用户U2和U4。GRANTSELECT,UPDATE(Sno)ONTABLESCTOU2,U4;,例:把对表SC的INSERT权限授给用户U5,并允许将此权限再授予其他用户。GRANTINSERTONTABLESCTOU5WITHGRANTOPTION;U5还可以将此权限授予U6:GRANTINSERTONTABLESCTOU6;,PUBLIC;,全体。,U6能不能再传播此权限?,7.2数据库安全性控制,例:DBA把在数据库DB1中建立表的权限授予用户U1。GRANTCREATETABONDATABASEDB1TOU1;,GRANT语句可以:一次向一个用户授权;一次向多个用户授权;一次传播多个同类对象的权限;一次可以完成对基本表、视图和属性列这些不同对象的授权。2、收回权限级联:(但系统只收回直接或间接从某处获得的权限),UA,UB,UA回收,U1隐含权限?,7.2数据库安全性控制,三、视图机制通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。四.数据加密以密码形式存储和传输数据。五、审计审计是对选定的用户动作的监控和记录,以监测可能的不合法行为。审计常用于:(1)审查可疑的活动。(2)监视和收集关于数据库活动的数据。,7.2数据库安全性控制,六.统计数据库的安全性统计数据库:只允许用户查询聚集类型信息,不允许查询单个记录信息的数据库。在统计DB中存在着特殊的安全问题:即可能有隐蔽的信息通道,使合法的查询导出不合法的信息。如:P.348例1P.348例2方法:限定查询的记录量(查询至少涉及N个以上的记录)限定查询的次数(规定任意两个查询相交的数据项不能超过M个),7.3数据库的完整性控制,一、数据库的完整性数据库的完整性:是指数据的正确性、有效性和相容性。说明:完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。数据库完整性约束条件:加在数据库数据之上的语义约束条件。完整性检查:而DBMS中检查数据是否满足完整性条件的机制。,7.3数据库的完整性控制,DBMS的完整性控制机制应具有三个方面的功能:(1)定义功能:提供定义完整性约束条件的机制。(2)检查功能:检查用户发出的操作请求是否违背了完整性约束条件。(3)防范功能:如果发现用户的操作请求使数据违背了完整性约束条件,采取一定的动作来保证数据的完整性。,7.3数据库的完整性控制,完整性控制的规则:一条完整性规则可以用一个五元组(D,O,A,C,P)来表示:(1)D(Data)约束作用的数据对象;(2)O(Operation)触发完整性检查的数据库操作,即当用户发出什么操作请求时需要检查该完整性规则,是立即检查还是延迟检查;(3)A(Assertion)数据对象必须满足的断言或语义约束,这是规则的主体;(4)C(Condition)选择A作用的数据对象值的谓词;(5)P(Procedure)违反完整性规则时触发的过程。,7.3数据库的完整性控制,如:在“教授工资不得低于1000元”的约束中:D约束作用的对象为工资Sal属性O插入或修改职工元组时ASal不能小于1000C职称=教授(A仅作用于职称=教授的记录)P拒绝执行该操作,7.3数据库的完整性控制,完整性的语义约束和检查:(1)立即执行约束:检查是否违背完整性约束的时机通常是在一条语句执行完后立即检查。(2)延迟执行约束:完整性检查延迟到整个事务执行结束后再进行,检查正确方可提交。(3)在事务的某些特定检查点检查。(4)在一个维护操作请求之后且执行之前检查。(5)在DBA或审计员发出检查请求时。,7.3数据库的完整性控制,二、完整性约束条件作用的对象:关系、元组、列静态约束:是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束。动态约束:是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状态变迁的约束。,7.3数据库的完整性控制,1、静态列级约束是对一个列的取值域的说明:对数据类型、格式的约束;对取值范围或取值集合的约束;对空值的约束;其他约束,(例如关于列的排序说明,组合列等)。2、静态元组约束是规定元组的各个列之间的约束关系。3、静态关系约束在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。,常见的静态关系约束有:(1)实体完整性约束。(2)参照完整性约束。(3)函数依赖约束。(4)统计约束。4、动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:(1)修改列定义时的约束(2)修改列值时的约束,7.3数据库的完整性控制,5、动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。6、动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。,完整性约束条件分类,状态粒度列级元组级关系级,静态列级约束:列定义类型格式值域空值,静态动态,动态列级约束:改变列定义或列值,动态元组约束:元组新旧值之间应满足约束条件,动态关系约束:关系新旧状态间应满足的的约束条件,静态关系约束:实体完整性约束参照完整性约束函数依赖约束统计约束,静态元组约束:元组的列之间应满足的约束关系,7.3数据库的完整性控制,三、SQL中的完整性约束1、基本表的约束(1)主码约束PRIMARYKEY()(2)外码约束FOREIGNKEY()REFERENCE()ONDELETEONUPDATE:NOACTION、CASCADE、RESTRICT、SETNULL、SETDEFAULT,7.3数据库的完整性控制,实现参照完整性要考虑的问题:在被参照关系中删除元组这时主要有三种不同的策略:级联删除(CASCADE)受限删除(RESTRICT)置空值删除(SETNULL)修改被参照关系中主码若允许修改主码,主要有三种不同的策略:级联修改(CASCADE)受限修改(RESTRICT)置空值修改(SETNULL),7.3数据库的完整性控制,(3)检查约束CHECK()2、域约束CREATEDOMAINCHECK()例:8.133、断言注意:CHECK子句只对定义它的表起作用,对其它表不起作用。例:8.11所以:当约束条件涉及多个表、使用聚集操作时应使用断言。CREATEASSERTIONCHECK()例8.15、8.16,7.4触发器,触发器:当对相关表执行INSERT、UPDATE、DELETE语句时被隐式执行的过程。触发器与存储过程的区别:存储过程由用户或应用显示执行;触发器是为一激发语句发出时由DBMS隐式地触发。触发器的组成:(1)触发事件(2)触发条件(3)触发器动作触发器的作用:强制实现更复杂的完整性约束。触发器的类型:(1)AFTER(2)BEFORE例:8.18,7.4触发器,例:规定修改SC表的grade值时,修改后的值不能低于修改前的值。CREATETRIGGERTrig_gradeAFTERUPDATEOFgradeONSCREFERENCINGOLDASoldg,NEWASnewgFOREACHROWWHEN(oldg.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 涤纶业务培训课件
- 2024-2025学年北京市通州区八年级下学期期中数学试题
- 流转土地协议5篇
- 内蒙古赤峰市联盟学校2026届化学九年级第一学期期中教学质量检测试题含解析
- 2025年初中趣味试题及答案
- 信息竞赛初试题及答案
- 桑植数学竞赛试题及答案
- 简易方程竞赛试题及答案
- 火车站货场附属工程承包合同3篇
- 教师招聘之《小学教师招聘》强化训练带答案详解(突破训练)
- 2025年村级后备干部考试题库(含答案)
- 2025合同范本技术咨询合同
- 银行情绪与压力管理课件
- 2.2创新永无止境(课件) 2025-2026学年度道德与法治九年级上册 统编版
- 2025企业销售人员劳动合同
- 脚手架施工方案
- 第一单元 主题案例二 学习家庭园艺技巧-高中劳动与综合实践单元教学设计
- 2025年甘肃省工会系统招聘工会工作者183人考试参考试题及答案解析
- 2025年金华东阳市人民医院公开招聘编外人员6人考试参考试题及答案解析
- 2025贵州毕节黔西市面向社会招聘城市社区工作者33人2025-08-笔试模拟试题及答案解析
- 2025江苏宿迁沭阳县司法局招聘人民调解员1人备考试题及答案解析
评论
0/150
提交评论