【文档说明】第05章数据库安全性.pptx,共(57)页,126.614 KB,由精品优选上传
转载请保留链接:https://www.ichengzhen.cn/view-288249.html
以下为本文档部分文字说明:
数据库系统简明教程第五章数据库安全性数据库安全性◼问题的提出◼数据库的一大特点是数据可以共享◼但数据共享必然带来数据库的安全性问题◼数据库系统中的数据共享不能是无条件的共享例:军事秘密、国家机密、新产品实验数据、市场需求分析
、市场营销策略、销售计划、客户档案、医疗档案、银行储蓄数据数据库安全性(续)◼数据库中数据的共享是在DBMS统一的严格的控制之下的共享,即只允许有合法使用权限的用户访问允许他存取的数据◼数据库系统的安全保护措
施是否有效是数据库系统主要的性能指标之一数据库安全性(续)◼什么是数据库的安全性◼数据库的安全性是指保护数据库,以防止不合法的使用所造成的数据泄露、更改或破坏。◼什么是数据的保密◼数据保密是指用户合法地访问到机密数据
后能否对这些数据保密。◼通过制订法律道德准则和政策法规来保证。计算机系统的三类安全性问题◼什么是计算机系统安全性◼为计算机系统建立和采取的各种安全保护措施,以保护计算机系统中的硬件、软件及数据,防止其因
偶然或恶意的原因使系统遭到破坏,数据遭到更改或泄露等。计算机系统的三类安全性问题(续)◼计算机安全涉及问题◼计算机系统本身的技术问题◼计算机安全理论与策略◼计算机安全技术◼管理问题◼安全管理◼安全评价◼安
全产品计算机系统的三类安全性问题(续)◼计算机安全涉及问题(续)◼法学◼计算机安全法律◼犯罪学◼计算机犯罪与侦察◼安全监察◼心理学计算机系统的三类安全性问题(续)◼三类计算机系统安全性问题◼技术安全类◼管理安全类◼政策法律类计算
机系统的三类安全性问题(续)◼技术安全◼指计算机系统中采用具有一定安全性的硬件、软件来实现对计算机系统及其所存数据的安全保护,当计算机系统受到无意或恶意的攻击时仍能保证系统正常运行,保证系统内的数据不增加、不丢失、不泄露。计算机系统的三类安全性问题(续)◼管理安全◼软
硬件意外故障、场地的意外事故、管理不善导致的计算机设备和数据介质的物理破坏、丢失等安全问题计算机系统的三类安全性问题(续)◼政策法律类◼政府部门建立的有关计算机犯罪、数据安全保密的法律道德准则和政策法规、法令计算机系统中的安全模型应用DBMSOSDB低高安全性控制层次方法:用户标识和鉴别存取控制
审计视图操作系统安全保护数据密码存储数据库安全性控制概述(续)◼数据库安全性控制的常用方法◼用户标识和鉴别◼存取控制◼视图◼审计◼密码存储用户标识与鉴别◼用户标识与鉴别(Identification&Authentication)◼系统提供的最外层安全保护措施用户标识与鉴别基本方法◼系统
提供一定的方式让用户标识自己的名字或身份;◼系统内部记录着所有合法用户的标识;◼每次用户要求进入系统时,由系统核对用户提供的身份标识;◼通过鉴定后才提供机器使用权。◼用户标识和鉴定可以重复多次用户标识自己的名字或身份◼用户名/口令◼简单易行,容易被人窃取◼每个用户预先约定好一个计
算过程或者函数◼系统提供一个随机数◼用户根据自己预先约定的计算过程或者函数进行计算◼系统根据用户计算结果是否正确鉴定用户身份存取控制◼存取控制机制的功能◼存取控制机制的组成◼定义存取权限◼检查存取权限用户权限定义和合法权检查机制一起
组成了DBMS的安全子系统存取控制(续)◼定义存取权限◼在数据库系统中,为了保证用户只能访问他有权存取的数据,必须预先对每个用户定义存取权限。◼检查存取权限◼对于通过鉴定获得上机权的用户(即合法用户),系统根据他的存取权限定义对他的各种操作请求进行控制,确保他只执
行合法操作。存取控制(续)◼常用存取控制方法◼自主存取控制(DiscretionaryAccessControl,简称DAC)◼灵活◼强制存取控制(MandatoryAccessControl,简称MAC)◼严格自主存取控制方法◼同一用户对于不同的数据对象有不同
的存取权限◼不同的用户对同一对象也有不同的权限◼用户还可将其拥有的存取权限转授给其他用户强制存取控制方法◼每一个数据对象被标以一定的密级◼每一个用户也被授予某一个级别的许可证◼对于任意一个对象,只有具有合法许可证的用户才可以存取数据库存取控制方法◼关系系统中的存取权限◼定义方法◼GRAN
T/REVOKE数据库存取控制方法(续)◼关系系统中的存取权限(续)◼例:一张授权表用户名数据对象名允许的操作类型王平关系StudentSELECT张明霞关系StudentUPDATE张明霞关系CourseALL张明霞SC.Grade
UPDATE张明霞SC.SnoSELECT张明霞SC.CnoSELECT数据库存取控制方法(续)◼检查存取权限◼对于获得上机权后又进一步发出存取数据库操作的用户◼DBMS查找数据字典,根据其存取权限对操作的合法性进行检查◼若用户的操作请求超出了定义的权限,系统将拒绝执
行此操作数据库存取控制方法(续)◼授权粒度◼授权粒度是指可以定义的数据对象的范围◼它是衡量授权机制是否灵活的一个重要指标。◼授权定义中数据对象的粒度越细,即可以定义的数据对象的范围越小,授权子系统就越灵活。数据库存取控制方法(续)◼关系数据库中授权的数据对象粒度◼数据库◼表◼
属性列◼行◼能否提供与数据值有关的授权反映了授权子系统精巧程度数据库存取控制方法(续)◼实现与数据值有关的授权◼利用存取谓词◼存取谓词可以很复杂◼可以引用系统变量,如终端设备号,系统时钟等,实现与时间地点有关的存取权限,这样用户只能在某段时间内,某台终端上存取有关数据例:规
定“教师只能在每年1月份和7月份星期一至星期五上午8点到下午5点处理学生成绩数据”。数据库存取控制方法(续)例:扩充后的授权表用户名数据对象名允许的操作类型存取谓词王平关系StudentSELECTS
dept=CS张明霞关系StudentUPDATESname=张明霞张明霞关系CourseALL空SQLServer的安全性管理SQLServer的安全性管理包括以下几个方面:1.数据库登录管理2.数
据库用户管理3.数据库角色管理4.数据库权限的管理。SQLServer数据库安全性管理与控制1.数据库登录管理(1)创建服务器登录帐号使用企业管理器创建登录帐号的步骤如下:a.选择【开始】|【程序】|MicrosoftSQLServer|【企业管理器】,打开企业管理器
窗口,找到要登录的服务器,展开【安全性】文件夹,右击【登录】,弹出快捷菜单SQLServer数据库安全性管理与控制b.在快捷菜单中选择【新建登录】命令,将会弹出【登录属性】对话框。在【企业管理器】窗口,可以选择【操作】|【新建登录】命令,也可以打开【新建登录】对话框。
(2)查看修改登录帐号(3)删除登录帐号SQLServer数据库安全性管理与控制2.用户的管理(1)使用系统存储过程sp_grantdbaccess创建用户帐号语法形式如下:sp_grantdbaccess’login’,’name_in_db’(2)使用系统存储过程sp_revoke
dbaccess删除用户帐号SQLServer数据库安全性管理与控制(2)使用系统存储过程sp_revokedbaccess删除用户帐号语法形式如下:sp_revokedbaccess’name’SQLServe
r数据库安全性管理与控制3.角色的管理(1)固定服务器角色(2)语法形式如下:(3)sp_addsrvrolemember’login’,’role’(2)固定数据库角色(3)语法形式如下:sp_addrolememberr
ole,security_accountSQLServer数据库安全性管理与控制(3)用户自定义角色语法形式如下:sp_addrolerole,owner(4)标准角色语法形式如下:sp_addrolememberrole,security_accountSQ
LServer数据库安全性管理与控制(5)应用程序角色它的语法形式如下:sp_addapprolerole,passwordSQLServer的安全体系结构和安全认证1.SQLServer的安全体系结构2.安全认证3.安全认证
的基本概念(1)Windows认证模式(2)混合认证模式SQLServer的安全体系结构和安全认证认证模式的设置(1)选择【开始】|【程序】|MicrosoftSQLServer|【企业管理器】,打开企业管理器窗口,右击要进行认证模式
设置的服务器,在弹出的快捷菜单中选择【属性】命令,弹出【属性】|【安全性】对话框SQLServer的安全体系结构和安全认证(2)在该对话框中打开【安全性】选项卡,它分为两部分,【安全性】选项组和【启动服务
帐户】选项组。在【安全性】选项组中,对于【身份验证】:选择要设置的认证模式;【审核级别】:设置用户登录信息,用来决定追踪记录用户登录时的信息,如登录成功或失败的信息。在【启动服务帐户】选项组中设置启动SQLServer时默认
的帐户。填好上述信息后,单击【确定】按钮SQLServer的权限管理1.权限的种类对象权限:用户对数据库对象进行操作的权限,具体包括:a.针对表和视图的操作:SELECT、INSERT、UPDATE和DELETE语句。b.针对表和视图的行的操作:INSERT和DELETE语句。c.针对表和视图的
列的操作:SELECT和UPDATE语句。d.针对存储过程和用户定义的函数的操作:EXECUTE语句。SQLServer的权限管理语句权限:指用户是否具有权限来执行某一语句。这些语句包括:CREATEDATABASECREATED
EFAULTCREATEFUNCTIONCREATEPROCEDURECREATERULECREATETABLECREATEVIEWBACKUPDATABASEBACKUPLOGSQLServer的权限管理暗示性权限:指系统预定义的固定服务器角色成员、数据库拥
有者(dbo)和数据库对象拥有者(dboo)所拥有的权限。SQLServer的权限管理2.权限的设置权限设置包括三个内容:授予权限(Grant)、撤消权限(Revoke)、和拒绝访问(Deny)。有两种方法可以设置权限,一是使用
企业管理器,二是使用Transact-SQL语句。SQLServer的权限管理(1)使用企业管理器(2)面向单一用户的权限设置SQLServer的安全体系结构和安全认证(2)使用Transact-SQL
语句◼GRANT◼DENY◼REVOKE数据库存取控制方法(续)◼自主存取控制小结◼定义存取权限◼用户◼检查存取权限◼DBMS数据库存取控制方法(续)◼自主存取控制小结(续)◼授权粒度◼数据对象粒度:数据库、表、属性列、行◼数据值粒度:存取谓词◼授权粒度越细,授权子系统就越灵活,能够提供的安全性就
越完善。但另一方面,因数据字典变大变复杂,系统定义与检查权限的开销也会相应地增大。自主存取控制方法(续)◼自主存取控制小结(续)◼优点◼能够通过授权机制有效地控制其他用户对敏感数据的存取自主存取控制方法
(续)◼自主存取控制小结(续)◼缺点◼可能存在数据的“无意泄露”◼原因:这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记。◼解决:对系统控制下的所有主客体实施强制存取控制策略视图机制◼视图机制把要保密的数据对无权存取这些数据的用户隐藏起来,◼视图机制更主要的功能在于提供数
据独立性,其安全保护功能太不精细,往往远不能达到应用系统的要求。视图机制(续)◼视图机制与授权机制配合使用:◼首先用视图机制屏蔽掉一部分保密数据◼视图上面再进一步定义存取权限◼间接实现了支持存取谓词的用户权限定义视
图机制(续)例:王平只能检索计算机系学生的信息先建立计算机系学生的视图CS_StudentCREATEVIEWCS_StudentASSELECTFROMStudentWHERESdept='CS';视图机制(续)在视图上进一步定义
存取权限GRANTSELECTONCS_StudentTO王平;审计◼什么是审计◼启用一个专用的审计日志(AuditLog)将用户对数据库的所有操作记录在上面◼DBA可以利用审计日志中的追踪信息找出非法存取数据的人◼C2以上安全级别的DBMS必须具有审
计功能审计(续)◼审计功能的可选性◼审计很费时间和空间◼DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能。小结◼随着计算机网络的发展,数据的共享日益加强,数据的安全保密越来越重要◼DBMS是管
理数据的核心,因而其自身必须具有一整套完整而有效的安全性机制。小结(续)◼实现数据库系统安全性的技术和方法有多种,最重要的是存取控制技术、视图技术和审计技术。◼自主存取控制功能一般是通过SQL的GRANT语句和REVOKE语句来实现的