数据库安全保护.ppt

上传人:豆**** 文档编号:60175398 上传时间:2022-11-14 格式:PPT 页数:41 大小:566.50KB
返回 下载 相关 举报
数据库安全保护.ppt_第1页
第1页 / 共41页
数据库安全保护.ppt_第2页
第2页 / 共41页
点击查看更多>>
资源描述

《数据库安全保护.ppt》由会员分享,可在线阅读,更多相关《数据库安全保护.ppt(41页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)1Version No:1.0Version No:1.0数据库安全保护 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)2Version No:1.0Version No:

2、1.0数据库安全性数据库安全性数据库安全性基本概念 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。为保证数据库的安全性,需要采取一定的安全保护措施。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)3Version No:1.0Version No:1.0SQL Server2000的安全机制的安全机制操作系统的安全性SQL Server服务器的安全性数据库的安全性数据库对象的安全性Copyright2006Copyright2006College of ITSoft

3、(HZIEE)College of ITSoft(HZIEE)4Version No:1.0Version No:1.0SQL Server服务器的安全性服务器的安全性1.仅仅Windows 验证验证2.SQL Server和和Windows的混合验证的混合验证Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)5Version No:1.0Version No:1.0Windows身份验证的优势身份验证的优势1.Windows NT 4.0和Windows 2000安全系统提供更多的功能,如安全验

4、证和密码加密、审核、密码过期、最短密码长度,以及在多次登录请求无效后锁定帐户;2.允许用户快速访问SQL SERVER,而不必记忆其他的登录帐户和密码。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)6Version No:1.0Version No:1.0混合模式的优势混合模式的优势通过混合模式,特别是SQL SERVER身份验证机制,能够使得非Windows 2000客户端、Internet客户端和混合客户组连接到SQL SERVER,即支持更大范围的用户。一个应用程序可以使用单个的SQL

5、SERVER登录或口令。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)7Version No:1.0Version No:1.0问题问题1 赵老师当了赵老师当了g99402班的班主任,他要能查班的班主任,他要能查到全校的课程信息以及本班学生的选课到全校的课程信息以及本班学生的选课信息,如何让他有权查到这些信息。信息,如何让他有权查到这些信息。?Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)8V

6、ersion No:1.0Version No:1.0安全管理安全管理一个用户要对某一个数据库进行操作一个用户要对某一个数据库进行操作,必,必须同时满足两个条件:须同时满足两个条件:1)能连接到能连接到SQL Server服务器(连接权)服务器(连接权)2)有执行该操作的权限(访问权)有执行该操作的权限(访问权)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)9Version No:1.0Version No:1.0SQL Server登录帐户管理登录帐户管理必须有合法的登录账号才能建立与必须有

7、合法的登录账号才能建立与SQL Server的连接的连接 一、一、使用使用SQL语言创建语言创建SQL Server登录帐户登录帐户1、语法:、语法:sp_addlogin 用户名用户名,密码密码,登录用户使用的默认数据库登录用户使用的默认数据库【例例】创建一个登录帐户:名为创建一个登录帐户:名为logzhao,密码为密码为01,使用的默认数据库为使用的默认数据库为mydb1EXEC sp_addlogin logzhao,01,mydb1Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)10Ve

8、rsion No:1.0Version No:1.0数据库用户数据库用户如果用户想访问如果用户想访问SQL SERVER,首先必须要有一个适当的登录帐号和密码来登录到SQL SERVER。用户登录后,并不意味着就能自动访问由SQL SERVER 管理的数据库中的数据了,他还必须有一个适当的数据库用户帐号,才能访问SQL SERVER 的数据。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)11Version No:1.0Version No:1.0数据库用户数据库用户登录帐号存储在主数据库的系统

9、登录表中,而用户帐号存储在各个数据库的系统用户表中。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)12Version No:1.0Version No:1.0数据库用户数据库用户用户SQLSERVER登录帐号表user1user2user3user4数据库1用户表user1user3数据库2用户表user1user2user3数据库3用户表user1user4Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(

10、HZIEE)13Version No:1.0Version No:1.0数据库用户管理数据库用户管理一、数据库用户名和登录名的关系一、数据库用户名和登录名的关系1、登录名是访问、登录名是访问SQL Server的通行证,但并不能访问服的通行证,但并不能访问服务器中的数据库;务器中的数据库;2、要访问特定的数据库必须要有用户名,用户名的信、要访问特定的数据库必须要有用户名,用户名的信息存放在该数据库的息存放在该数据库的sysusers表中,用户名设有密码;表中,用户名设有密码;3、数据库用户名是一个登录帐户在某个数据库中的映数据库用户名是一个登录帐户在某个数据库中的映射;一个登录帐户可以同时与多

11、个数据库发生关联;射;一个登录帐户可以同时与多个数据库发生关联;4、只有登录名创建完成后,才能为其创建数据库用户、只有登录名创建完成后,才能为其创建数据库用户名。名。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)14Version No:1.0Version No:1.0数据库用户管理数据库用户管理二、使用二、使用SQL语句创建数据库用户语句创建数据库用户1、语法:、语法:sp_grantdbaccess 登录名登录名,用户名用户名【例】【例】在数据库中创建用户在数据库中创建用户dbuserz

12、hao,对应的登录帐号,对应的登录帐号是是logzhao。use mydb1 exec sp_grantdbaccess logzhao,dbuserzhao 2、说明:、说明:(1)在执行本存储过程前,登录名必须已经存在;)在执行本存储过程前,登录名必须已经存在;(2)一般情况下,登录名和用户名相同,所以第二个)一般情况下,登录名和用户名相同,所以第二个参数通常省略;参数通常省略;(3)在执行本存储过程前,首先确认当前使用的数据)在执行本存储过程前,首先确认当前使用的数据库是要增加用户的数据库;库是要增加用户的数据库;Copyright2006Copyright2006College of

13、ITSoft(HZIEE)College of ITSoft(HZIEE)15Version No:1.0Version No:1.0数据库对象的安全性数据库对象的安全性一、权限一、权限(Permission)类型类型:权限有三种类型:默认权限、对象权限和语句权限。权限有三种类型:默认权限、对象权限和语句权限。1、默认权限:也称为暗指权限。当数据库用户被分、默认权限:也称为暗指权限。当数据库用户被分配到某一角色后,这些数据库用户就获得了该角色的配到某一角色后,这些数据库用户就获得了该角色的默认权限。默认权限。2、对象权限:用户拥有对数据库对象的访问和操作、对象权限:用户拥有对数据库对象的访问和

14、操作权限。共分为权限。共分为5种:种:SELECT、INSERT、UPDATE、DELETE、EXECUTE作用于表、视图、存储过程、函数等对象作用于表、视图、存储过程、函数等对象Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)16Version No:1.0Version No:1.0数据库对象的安全性数据库对象的安全性3、语句权限:通常授予需要在数据库中创建或修改对、语句权限:通常授予需要在数据库中创建或修改对象、执行数据库和事务日志备份的用户。如果一个用象、执行数据库和事务日志备份的用户。

15、如果一个用户获得了某个语句的权限,该用户就具有了执行该语户获得了某个语句的权限,该用户就具有了执行该语句的权力。共包含句的权力。共包含9种权限:种权限:(1)BACKUP DATABASE:备份数据库;备份数据库;(2)BACKUP LOG:备份事务日志;备份事务日志;(3)CREATE DATABASE:创建新的数据库;创建新的数据库;(4)CREATE DEFAULT:创建缺省;创建缺省;(5)CREATE PROCEDURE:创建存储过程;创建存储过程;(6)CREATE FUNCTION:创建用户定义函数;创建用户定义函数;(7)CREATE RULE:创建规则;创建规则;(8)CRE

16、ATE TABLE:创建表;创建表;(9)CREATE VIEW:创建视图。创建视图。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)17Version No:1.0Version No:1.0数据库对象的安全性数据库对象的安全性二、权限的验证过程二、权限的验证过程:1、用户执行某项操作,相应的、用户执行某项操作,相应的SQL语句通过网络发送语句通过网络发送到到SQL Server服务器;服务器;2、SQL Server服务器收到服务器收到SQL语句,检查该用户是否语句,检查该用户是否具有对操作

17、对象的权限权限及执行这些语句的权限;具有对操作对象的权限权限及执行这些语句的权限;3、如果、如果SQL Server服务器权限验证通过,服务器权限验证通过,SQL Server系统执行相应的操作,否则,系统返回出错信息。系统执行相应的操作,否则,系统返回出错信息。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)18Version No:1.0Version No:1.0数据库对象的安全性数据库对象的安全性三、管理权限:三、管理权限:1、管理权限的用户:、管理权限的用户:系统管理员、数据库属主、对

18、象的属主、数据库用户系统管理员、数据库属主、对象的属主、数据库用户 2、权限的状态:、权限的状态:(1)授予权限:授予允许用户帐户执行某些操作的语)授予权限:授予允许用户帐户执行某些操作的语句权限和对象权限;句权限和对象权限;(2)禁止权限:禁止某些用户或角色的权限。)禁止权限:禁止某些用户或角色的权限。(3)撤消权限:废除以前授予或禁止的权限。)撤消权限:废除以前授予或禁止的权限。授予、禁止和撤消权限只能在当前数据库中进行。授予、禁止和撤消权限只能在当前数据库中进行。Copyright2006Copyright2006College of ITSoft(HZIEE)College of IT

19、Soft(HZIEE)19Version No:1.0Version No:1.0问题问题1的解决方法的解决方法解决赵老师能查询本班学生的选课信息解决赵老师能查询本班学生的选课信息Create view g99402xk asSelect sname,cno,gradefrom student,scWhere student.sno=sc.sno and student.clno=g99402步骤步骤1.创建创建g99402班的选课信息视图班的选课信息视图Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZ

20、IEE)20Version No:1.0Version No:1.0问题问题1的解决方法的解决方法步骤步骤2.把访问该视图的权限授予赵老师把访问该视图的权限授予赵老师步骤步骤3.验证赵老师能否访问视图(以验证赵老师能否访问视图(以logzhao登录)登录)grant select on g99402xk to dbuserzhaoSelect*from g99402xkCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)21Version No:1.0Version No:1.0角色角色一、角色一、

21、角色 SQL Server 2000中,通过对相同权限的用户进行分中,通过对相同权限的用户进行分组,然后再对组进行授权的方式来管理用户的权限。而组,然后再对组进行授权的方式来管理用户的权限。而组是通过角色来实现的。角色分为:服务器角色和数据组是通过角色来实现的。角色分为:服务器角色和数据库角色。库角色。1、服务器角色:是服务器级的对象,只能包含登录名。、服务器角色:是服务器级的对象,只能包含登录名。2、数据库角色:是数据库级的对象,只能包含用户名。、数据库角色:是数据库级的对象,只能包含用户名。Copyright2006Copyright2006College of ITSoft(HZIEE)

22、College of ITSoft(HZIEE)22Version No:1.0Version No:1.0角色角色二、固定服务器角色二、固定服务器角色 1、固定服务器角色及功能(、固定服务器角色及功能(sp_helpsrvrole可浏览固定服务器角色)可浏览固定服务器角色)角色功能sysadmin能够执行任何任务securityadmin负责系统的安全管理,能够管理和审核服务器登录名serveradmin能够配置服务器的设置setupadmin能够安装、修复processadmin能够管理SQLServer系统的进程diskadmin能够管理磁盘文件dbcreator能够创建和修改数据库bu

23、lkadmin能够执行大容量数据的插入数据操作Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)23Version No:1.0Version No:1.0角色角色三、数据库角色三、数据库角色1、固定数据库角色及功能、固定数据库角色及功能角色功能db_owner数据库属主,在特定数据库内具有全部权限db_accessadmin能够添加、删除数据库用户和角色db_securityadmin可以管理全部权限、对象所有权、角色和角色成员资格db_ddladmin能够添加、删除和修改数据库对象db_bac

24、kupoperator能够备份和恢复数据库db_datareader能够从任意表中读出数据db_datawriter能够对任意表插入、修改和删除数据db_denydatareader不允许从表中读数据db_denydatawriter不允许改变表中的数据Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)24Version No:1.0Version No:1.05.3 并发控制与封锁并发控制与封锁 5.3.1 数据库并发性的含义 为了充分利用数据库资源,很多时候数据库用户都是对数据库系统并行存取数

25、据,这样就会发生多个用户并发存取同一数据块的情况,如果对并发操作不加控制可能会产生不正确的数据,破坏数据的完整性。并发控制就是解决这类问题,以保持数据库中数据的一致性,即在任何一个时刻数据库都将以相同的形式给用户提供数据。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)25Version No:1.0Version No:1.0事务介绍事务介绍事务事务确保多个数据修改作为一个整体加以处理,这称为原子性原子性原子性原子性事务在遇到 COMMIT TRANSACTION 之前,不会对数据库造成永久性

26、的改变。并且,事务在遇到 ROLLBACK TRANSACTION 语句时,可以撤销它所作的改变每个事务都记录在事务日志中,以维护数据库一致性,并在恢复时提供帮助Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)26Version No:1.0Version No:1.0事务模式事务模式三种事务模式显式事务用户定义事务 每个事务均以 BEGIN TRANSACTION 语句显式开始,以 COMMIT 或 ROLLBACK 语句显式结束。隐式事务 在前一个事务完成时新事务隐式启动,但每个事务仍以 C

27、OMMIT 或 ROLLBACK 语句显式完成。自动提交事务 每条单独的语句都是一个事务。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)27Version No:1.0Version No:1.0显式事务示例显式事务示例 Use Pubs GO select*from discounts begin transactionbegin transaction demo insert discounts values(test1,null,null,null,20.0)if error 0 rol

28、lbackrollback transaction else commit commit transaction demo select*from discounts事务的开始事务的开始 事务的提交事务的提交 事务的回滚事务的回滚 Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)28Version No:1.0Version No:1.0事务恢复事务恢复事务恢复SQL Server 可以在掉电、系统软件发生故障、客户端出现问题或收到事务取消请求时利用事务日志自动恢复数据SQL Server 保证

29、在发生故障时,所有已提交的事务都反映在数据库中。它使用事务日志前滚所有已提交的事务,回滚任何未提交的事务Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)29Version No:1.0Version No:1.0事务恢复事务恢复事务恢复事务恢复需要的动作需要的动作无检查点检查点系统故障系统故障1 12 23 34 45 5前滚回滚前滚回滚Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)30Vers

30、ion No:1.0Version No:1.05.3.3 并发操作与数据的不一致性并发操作与数据的不一致性 例5-22 并发取款操作。假设存款余额R=1000元,甲事务T1取走存款100元,乙事务T2取走存款200元,如果正常操作,即甲事务T1执行完毕再执行乙事务T2,存款余额更新后应该是700元。但是如果按照如下顺序操作,则会有不同的结果:(1)甲事务T1读取存款余额R=1000元;(2)乙事务T2读取存款余额R=1000元;(3)甲事务T1取走存款100元,修改存款余额R=R-100=900,把R=900写回到数据库;(4)乙事务T2取走存款200元,修改存款余额R=R-200=800,

31、把R=800写回到数据库;结果两个事务共取走存款300元,而数据库中的存款却只少了200元。得到这种错误的结果是由甲乙两个事务并发操作引起的。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)31Version No:1.0Version No:1.0数据库的并发操作导致的数据库不一致性主要有以下三种:丢失更新(Lost Update)当两个事务T1和T2读入同一数据,并发执行修改操作时,T2把T1或T1把T2的修改结果覆盖掉,造成了数据的丢失更新问题,导致数据的不一致。污读(Dirty Read

32、 )事务T1更新了数据R,事务T2读取了更新后的数据R,事务T1由于某种原因被撤销,修改无效,数据R恢复原值。事务T2得到的数据与数据库的内容不一致,这种情况称为“污读”。不可重读(Unrepeatable Read)事务T1读取了数据R,事务T2读取并更新了数据R,当事务T1再读取数据R以进行核对时,得到的两次读取值不一致,这种情况称为“不可重读”。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)32Version No:1.0Version No:1.0锁介绍锁介绍锁锁防止更新冲突,用户不能

33、读取或修改其他用户正在进行修改的数据使用锁可以解决并发问题。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)33Version No:1.0Version No:1.0锁的类型锁的类型SQL Server 主要有两种类型的锁:基本锁和特殊情况锁基本锁:包括共享锁和排它锁总的来说,读操作获得共享锁,写操作获得排它锁共享锁(S):用于不更改或不更新数据的操作(只读操作),如 SELECT 语句排它锁(X):用于数据修改操作,例如 INSERT、UPDATE 或 DELETECopyright2006

34、Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)34Version No:1.0Version No:1.0锁的类型(续)锁的类型(续)特殊情况锁意向锁意向锁(IS、IX、SIX):SQL Server 内部使用意向锁,以使锁定冲突减至最少更新锁更新锁(U):用于可更新的资源中,防止当多个会话在读取、锁定及随后可能进行的资源更新时发生常见形式的死锁架构锁架构锁:在执行依赖于表架构的操作时使用,确保表或索引在被另外的会话引用时不被删除或更改架构。架构锁包括架构稳定性(Sch-S)锁和架构修改(Sch-M)锁大容量更新锁大容

35、量更新锁(BU):向表中大容量复制数据并指定了 TABLOCK 提示时使用可使用 sp_lock 命令查看锁的信息Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)35Version No:1.0Version No:1.0死锁显示锁定信息管理锁管理锁Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)36Version No:1.0Version No:1.0死锁死锁死锁若两个事务各自拥有不同对象上的

36、锁,每个事务都向对方所拥有的对象发出锁请求,每个事务都在等待对方释放锁,则发生死锁如果没有外部干涉,死锁中的进程都无法继续。当死锁发生时,SQL Server 自动干涉,以结束死锁在 SQL Server 中,有两种类型的死锁:循环死锁和转换死锁Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)37Version No:1.0Version No:1.0死锁(续)死锁(续)SQL Server 如何结束死锁:自动中止死锁中的一个事务SQL Server 回滚作为死锁牺牲品的事务在应用程序中通过捕获

37、1205号错误,对发生的死锁现象作后续处理将死锁减至最少按同一顺序访问对象避免事务中的用户交互尽量减少事务中的步骤,以缩短事务Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)38Version No:1.0Version No:1.0显示锁定信息显示锁定信息当前活动窗口使用企业管理器的当前活动窗口显示当前锁定行为的信息系统存储过程 sp_lock语法:EXECUTE sp_lockSQL 事件探查器事件探查器是监视服务器行为的工具Windows 2000 系统监视器使用系统监视器查看 SQLSe

38、rver:lockmanager和SQLServer:locks 对象的信息额外信息查询 syslockinfo、sysprocesses、sysobjects、systables 和 syslogins 系统表以及执行 sp_who 过程Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)39Version No:1.0Version No:1.05.4 数据库的恢复数据库的恢复故障的种类 转储和恢复 Copyright2006Copyright2006College of ITSoft(HZIE

39、E)College of ITSoft(HZIEE)40Version No:1.0Version No:1.0故障的种类故障的种类数据库系统中可能发生的故障主要可以分为以下几类:1.事务故障 2.系统故障 3.介质故障 4.病毒Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)41Version No:1.0Version No:1.0备份和恢复备份和恢复转储是数据库恢复中采用的基本技术。转储是数据库管理员定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程,也称备份。这些备用的冗余数据称为后备副本或后援副本。恢复即是当数据库遭到破坏后,利用后备副本把数据库恢复到正常状态,但恢复数据库时,只能恢复到后备副本产生时的状态,从那个转储点以后的所有事务必须重新运行才能恢复到故障时的状态。由于数据库的备份比较费时间和资源,所以DBA应根据数据库的使用情况确定合适的备份计划。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com