数据库安全性课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《数据库安全性课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全性 课件
- 资源描述:
-
1、并发控制并发控制1、并发操作可能出现的问题、并发操作可能出现的问题2、并发控制方法、并发控制方法封锁技术封锁技术(1)锁的类型)锁的类型(2)封锁粒度)封锁粒度(3)活锁和死锁)活锁和死锁3、SQL Server的封锁机制的封锁机制 7.5 7.5 数据库安全性数据库安全性教学要求:教学要求:了解数据库系统安全性所涉及的内容,了解数据库系统安全性所涉及的内容,掌握数据库安全性控制的常用方法以及掌握数据库安全性控制的常用方法以及SQL Server中安全性控制机制和控制策略。中安全性控制机制和控制策略。教学重点:教学重点:数据库中维护安全性的机制数据库中维护安全性的机制7.5.1 问题的提出问题
2、的提出7.5.2 数据库安全性控制概述数据库安全性控制概述7.5.3 SQL ServerSQL Server的安全性机制的安全性机制7.5.4 SQL Server7.5.4 SQL Server访问控制策略访问控制策略7.5.5 统计数据库的安全性统计数据库的安全性 7.5.1 问题的提出问题的提出数据库的一大特点是数据可以共享数据库的一大特点是数据可以共享数据不能是无条件的共享数据不能是无条件的共享 例:例:教学管理教学管理、银行储蓄数据、军事秘密、银行储蓄数据、军事秘密、国家机密、新产品实验数据、市场营销策略、销国家机密、新产品实验数据、市场营销策略、销售计划等。售计划等。数据共享给数
3、据库带来的问题数据共享给数据库带来的问题安全性问题安全性问题数据库的安全性:数据库的安全性:防止不合法访问数据库造成数据泄防止不合法访问数据库造成数据泄露、更改或破坏露、更改或破坏7.5.2 数据库安全性控制概述数据库安全性控制概述一、数据库系统安全性涉及到哪些方面?一、数据库系统安全性涉及到哪些方面?计算机系统计算机系统三类安全性问题:技术安全类、管理三类安全性问题:技术安全类、管理安全类、政策法律类安全类、政策法律类数据库系统数据库系统引进了数据库的计算机系统引进了数据库的计算机系统,安全性,安全性涉及到计算机的涉及到计算机的物理层、使用人员、操作系统物理层、使用人员、操作系统、网网络层以
4、及数据库管理系统本身等多个方面。络层以及数据库管理系统本身等多个方面。物理层:物理层:防止入侵者强行进入或暗中潜入破坏物理文件防止入侵者强行进入或暗中潜入破坏物理文件人员层:人员层:严格控制用户的授权。严格控制用户的授权。操作系统层:操作系统层:OS安全对数据库存在着很大的威胁。安全对数据库存在着很大的威胁。网络层:网络层:为数据库系统的安全提供一个保障为数据库系统的安全提供一个保障DBMS层:层:DBMS有完善的访问控制机制。有完善的访问控制机制。1、用户标识和鉴定、用户标识和鉴定 系统提供的最外层安全保护措施。其方法是由系统提供的最外层安全保护措施。其方法是由系统提供一定的方式让用户标识自
5、己的身份。每次系统提供一定的方式让用户标识自己的身份。每次用户要求进入系统时,由系统进行身份核对,通过用户要求进入系统时,由系统进行身份核对,通过鉴定后才有使用权。鉴定后才有使用权。缺点:缺点:用户名和口令易被窃取用户名和口令易被窃取。二、数据库安全性控制的常用方法二、数据库安全性控制的常用方法 分为自主存取控制和强制存取控制方法分为自主存取控制和强制存取控制方法1)自主存取控制方法()自主存取控制方法(DAC)由用户由用户自主决定自主决定对数据库对象的操作权限,用对数据库对象的操作权限,用户可以对哪些对象进行操作,完全取决于用户之间户可以对哪些对象进行操作,完全取决于用户之间的的授权授权(通
6、过通过 GRANT 和和 REVOKE 语句实现)。语句实现)。SQL Server存取控制属于自主存取控制方法。存取控制属于自主存取控制方法。例:将成绩表例:将成绩表SC的查询权限授予给的查询权限授予给student用户用户 grant select on sc to student2、存取控制存取控制2)强制存取控制方法()强制存取控制方法(MAC)为每一个数据库对象标以一定的密级,对每一为每一个数据库对象标以一定的密级,对每一个用户确定一个许可级别,不同级别的用户拥有的个用户确定一个许可级别,不同级别的用户拥有的数据库的操作权限不同。数据库的操作权限不同。优点:用户不能直接感知或进行权限
7、控制,保证了优点:用户不能直接感知或进行权限控制,保证了更高程度的安全性。更高程度的安全性。适用于对数据有严格而固定密级分类的部门,适用于对数据有严格而固定密级分类的部门,如:如:军事部门、政府部门等。军事部门、政府部门等。3、数据库角色、数据库角色角色:角色:被命名的一组与数据库操作相关的权限。被命名的一组与数据库操作相关的权限。可以为一组具有相同权限的用户创建一个角色。可以为一组具有相同权限的用户创建一个角色。简化授权的过程。简化授权的过程。例:例:T_role角色具有对成绩表的查询、修改和删除权限。角色具有对成绩表的查询、修改和删除权限。如果某教师如果某教师(用户用户)希望得到对成绩表的
8、查询、修改和删除希望得到对成绩表的查询、修改和删除权限,则可直接将权限,则可直接将T_role授予给该某教师。授予给该某教师。注意:不同的注意:不同的DBMS对角色操作的对角色操作的SQL语句略有不同语句略有不同 4、视图机制、视图机制目的:目的:把要保密的数据对无权存取这些数据的用户隐把要保密的数据对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护。藏起来,对数据提供一定程度的安全保护。主要功能是提供数据独立性。主要功能是提供数据独立性。间接实现了用户权限定义。间接实现了用户权限定义。例例 建立计算机系学生的视图,把该视图的查询权限授于建立计算机系学生的视图,把该视图的查询权限授
9、于S。CREATE VIEW CS_Student AS SELECT *FROM Student WHERE deptno=CS;GRANT SELECT ON CS_Student TO S;5、审计、审计审计:审计:DBMS提供的提供的一种可以记录下对数据库的所有一种可以记录下对数据库的所有操作活动和轨迹的操作活动和轨迹的可选可选功能。功能。将用户对数据库的所有操作记录在审计日志上。将用户对数据库的所有操作记录在审计日志上。DBA利用审计日志找出非法存取数据的人、时间利用审计日志找出非法存取数据的人、时间和内容和内容用户级审计和系统级审计用户级审计和系统级审计用户级审计:用户级审计:用户
10、针对自己创建的数据库表或视图用户针对自己创建的数据库表或视图进行审计进行审计。记录所有用户对这些表或视图的一。记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型切成功和(或)不成功的访问要求以及各种类型的的SQL操作。操作。系统级审计系统级审计:DBA设置。监测成功或失败的登录设置。监测成功或失败的登录要求要求,监测,监测GRANT和和REVOKE操作以及其他数操作以及其他数据库级权限下的操作。据库级权限下的操作。6、用户自定义安全性、用户自定义安全性 可以通过触发器或存储过程实现自定义安全性。可以通过触发器或存储过程实现自定义安全性。例:假设在例:假设在MIS系统中,对
11、工资表的修改必须是在上系统中,对工资表的修改必须是在上班时间(星期一到星期五的班时间(星期一到星期五的9:00-17:00),其余时间其余时间的插入和修改均库无效。的插入和修改均库无效。可以用如下的触器可以用如下的触器create trigger secur_zgon 职工职工 for insert,update,delete asif datename(weekday,getdate()=星期六星期六 or datename(weekday,getdate()=星期日星期日 or(convert(int,datename(hour,getdate()not between 9 and 17)
12、begin raiserror(只允许在工作时间操作数据只允许在工作时间操作数据!,16,1)rollback transactionend例:例:某企业的数据库应用系统中用户类型如下:某企业的数据库应用系统中用户类型如下:管理员:管理员:对数据库的所有数据进行操作和维护。对数据库的所有数据进行操作和维护。生产部门用户:生产部门用户:对生产数据有查询、修改、插入和删除对生产数据有查询、修改、插入和删除权限。权限。销售部门用户:销售部门用户:对订单数据有查询、修改和删除权限。对订单数据有查询、修改和删除权限。劳资用户:劳资用户:对人事、工资数据有查询、修改、插入和删对人事、工资数据有查询、修改、
13、插入和删除权限。除权限。普通职工:普通职工:对自己的工资、产品信息具有查询权。对自己的工资、产品信息具有查询权。如何实现该系统的安全性?如何实现该系统的安全性?可以按以下策略设计可以按以下策略设计:1)建立登录用户,并授予为数据库用户建立登录用户,并授予为数据库用户.2)对用户进行分类授权:对用户进行分类授权:可直接对各类用户授以相应可直接对各类用户授以相应的权限,的权限,也也可以用角色授权,即,首先创建多个角可以用角色授权,即,首先创建多个角色,将各类用户色,将各类用户拥有的拥有的权限授予不同角色,再将角权限授予不同角色,再将角色授予给相应的用户。色授予给相应的用户。3)对于职工,可以用视图
14、或存储过程实现权限管理。)对于职工,可以用视图或存储过程实现权限管理。4)可以用触发器,也可以用审计功能实现对数据操作)可以用触发器,也可以用审计功能实现对数据操作的监控,以防渎职现象的发生。的监控,以防渎职现象的发生。7.5.3 SQL Server7.5.3 SQL Server的安全性机制的安全性机制SQL ServerSQL Server的安全性机制可分为下图所示的安全性机制可分为下图所示4 4个等级:个等级:数据库数据库用户用户客户机客户机SQL Server服务器服务器客户操作系客户操作系统安全性统安全性SQL Server登录安全性登录安全性数据库的数据库的使用安全性使用安全性数
15、据库对象的数据库对象的使用安全性使用安全性 数据库对象数据库对象用户首先要登录到客户端用户首先要登录到客户端的操作系统中的操作系统中提供口令和密码才能登录到提供口令和密码才能登录到SQL Server服务器服务器具有访问数据库的权限具有访问数据库的权限具有访问数据库对象的具有访问数据库对象的权限权限7.5.4 SQL Server7.5.4 SQL Server访问控制策略访问控制策略 SQL Server的用户通过授权获得对数据的访问权的用户通过授权获得对数据的访问权限。限。其访问控制分为如下两阶段:其访问控制分为如下两阶段:安全帐户认证安全帐户认证:判定用户是否有权连接到服务器:判定用户是
16、否有权连接到服务器并向服务器发送并向服务器发送SQL命令。命令。访问许可确认访问许可确认:判定是否有对数据库的访问权限判定是否有对数据库的访问权限1 1、SQL ServerSQL Server的的安全帐户认证安全帐户认证方式及认证模式方式及认证模式1)1)身份验证方式身份验证方式用户必须通过用户必须通过身份验证身份验证才能连接才能连接到到SQL Server中。中。SQL Server有两种身份验证方式有两种身份验证方式:集成验证方式(集成验证方式(Windows身份认证方式):身份认证方式):用户通过用户通过windows的身份验证后,不必提供的身份验证后,不必提供SQL Server的的
17、Login账号和口令就自动进行账号和口令就自动进行SQL Server身份验证。身份验证。标准身份验证方式(标准身份验证方式(SQL Server身份验证方式):身份验证方式):由数由数据库管理系统独立来管理自己的数据库安全。登录时,据库管理系统独立来管理自己的数据库安全。登录时,必须提供必须提供SQL Server自己的登录账号和口令自己的登录账号和口令 2)SQL Server2)SQL Server的身份认证模式的身份认证模式Windows身份验证模式:用身份验证模式:用Windows身份验证方身份验证方式登录;式登录;混合模式混合模式:可以用:可以用Windows 身份验证方式身份验证
18、方式,也可,也可以用以用 SQL Server 身份验证方式身份验证方式注意:如果在注意:如果在win 98下安装的桌面版下安装的桌面版SQL Server,只能用只能用SQL Server 身份验证方式登录。身份验证方式登录。3)3)安全帐户管理安全帐户管理可用可用T-SQL语句语句和和企业管理器企业管理器管理数据库帐户管理数据库帐户(服务服务器登录标识器登录标识)特殊帐户特殊帐户sa:SQL Server完成安装以后,建立了完成安装以后,建立了sa。sa帐户拥有最高的管理权限,可以执行服务帐户拥有最高的管理权限,可以执行服务器范围内的所有操作。器范围内的所有操作。(1(1)windows
19、windows 安全模式用户管理安全模式用户管理:sp_grantlogin sp_grantlogin:授予授予Windows NTWindows NT用户或组连接用户或组连接SQL SQL ServerServer服务器服务器sp_denyloginsp_denylogin:禁止用户或组连接到禁止用户或组连接到SQL ServerSQL Server服务器服务器例:例:sp_grantlogin jxgluserssp_grantlogin jxglusers 注意:注意:对于没有建立对于没有建立Windows NTWindows NT帐户的用户,只能使用帐户的用户,只能使用SQL SQL
20、 ServerServer登录标识来管理用户连接。或首先建立登录标识来管理用户连接。或首先建立Windows NTWindows NT帐帐户户,再用再用sp_grantloginsp_grantlogin授予其连接授予其连接SQL ServerSQL Server服务器的权限服务器的权限SQL ServerSQL Server中用于用户管理的中用于用户管理的SQLSQL语句语句(2)SQL Server身份验证模式身份验证模式sp_addlogin:创建登录用户创建登录用户sp_password:改变用户的口令改变用户的口令sp_grantdbaccess:授权某个登录用户为数据库用户授权某个
21、登录用户为数据库用户例:例:sp_addlogin users,users 2 2 访问许可确认访问许可确认访问许可确认:访问许可确认:用户连接到用户连接到SQL Server服务器后,系统判断服务器后,系统判断其是否拥有对数据库的访问许可权。其是否拥有对数据库的访问许可权。授予授予用户的权限决定其对数据库所能执行的操作。用户的权限决定其对数据库所能执行的操作。安全帐户认证和访问许可确认的区别:安全帐户认证和访问许可确认的区别:安全帐户认证决定用户能否向安全帐户认证决定用户能否向SQL Server服务器发送服务器发送SQL命令命令;访问许可确认决定用户能在数据库中执行哪些访问许可确认决定用户
展开阅读全文