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