数据库安全与恢复.ppt

上传人:小飞机 文档编号:6296432 上传时间:2023-10-14 格式:PPT 页数:62 大小:297KB
返回 下载 相关 举报
数据库安全与恢复.ppt_第1页
第1页 / 共62页
数据库安全与恢复.ppt_第2页
第2页 / 共62页
数据库安全与恢复.ppt_第3页
第3页 / 共62页
数据库安全与恢复.ppt_第4页
第4页 / 共62页
数据库安全与恢复.ppt_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《数据库安全与恢复.ppt》由会员分享,可在线阅读,更多相关《数据库安全与恢复.ppt(62页珍藏版)》请在三一办公上搜索。

1、数据库安全与恢复,安全性 完整性 并发控制 恢复 数据库复制与镜像,安全性,数据库的安全性是指保护数据库,防止因用户非法使用数据库造成数据泄露、更改或破坏。,计算机系统常用的安全模式:,SQL Server Security,Login AuthenticationDatabase User Accounts and RolesTypes of RolesPermission Validation,Login Authentication,AUTHENTICATIONSQL ServerVerifies Trusted Connection,SQL ServerVerifies Name an

2、d Password,Or,SQL Server,Windows 2000 Group or User,Windows 2000,SQL ServerLogin Account,Database User Accounts and Roles,SQL Server Assigns Logins to User Accounts and Roles,DatabaseUser,Database Role,Windows 2000Group User,SQL ServerLogin Account,SQL Server Verifies Trusted Connection,SQL ServerVe

3、rifies Name and Password,SQL Server,Windows 2000,OR,Types of Roles,Fixed Server RolesGroup administrative privileges at the server levelFixed Database RolesGroup administrative privileges at the database levelUser-defined Database RolesRepresent work defined by a group of employees within an organiz

4、ation,SQL ServerChecks Permissions,Permission Validation,Permissions OK;Performs Command,Permissions not OK;Returns Error,2,3,SELECT*FROM Members,Database UserExecutes Command,1,安全性术语:,数据库所有者(DBO)数据库对象所有者(DBOO)域(domain):一组计算机的集合。组(group):一组数据库用户的集合。登录标识ID(login ID):用户用于通知服务器的名字。许可(permissions):系统指定用

5、户被授予使用哪些SQL语句、对象的权力。系统管理员(SA)用户名(username),服务器登录概念,服务器登录:申请访问服务器。登录ID:是用户通知数据库服务器的名字。为访问数据库服务器必须分配用户一个有效的登录ID。登录ID必须符合标识规则的唯一名称。系统管理员创建一个登录ID,同时为ID分配用户名。缺省登录ID访问者登录ID:通用的登录ID。,操作系统安全性与数据库,操作系统安全性是分配给每个用户的。数据库安全配置成与操作系统安全性集成时,可以利用操作系统安全性功能。操作系统可以授权登录数据库系统。操作系统用户帐号可以映射到数据库的登录ID。这使得用户不用单独的登录ID和口令就可以连接和

6、登录数据库系统。使用集成安全性,用户可以为操作系统和数据库系统只保留一个登录ID和口令。,数据库安全性措施,用户标识和鉴定存取控制定义视图审计数据加密,方法:是由系统提供一定的方式让用户标识自己的名字或身份,系统内部记录这些数据,每次用户请求系统进行核对,以鉴定此用户是否有权访问。,用户标识和鉴定,标识参数:用户名(ID)口令(password),存取控制,对有权访问数据库的用户的进一步限制,定义每个数据库用户的各种操作权限。存取权限由数据对象和操作类型两要素构成。,实现方法:使用授权命令GRANT。存取权限:建立、修改、检索(模式);查找、插入、修改、删除(数据)。授权对象:表、属性列、行(

7、记录),定义视图为不同的用户定义不同的视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来.审计审计追踪使用的是一个专用文件或数据库,系统自动将用户对数据库的所有操作记录在上面,利用审计追中的信息,以找出非法存取数据的人.审计费时和费空间,因此为可选功能.数据加密对高度敏感数据,以密码形式存储和传输数据.数据加密和解密占用大量系统资源,此功能未可选项.,ORACLE数据库的安全性措施,用户标识和鉴定安全授权和检查机制包括规定用户权限、操作合法性检查;审计技术记录用户行为,查出不合法操作的用户。其他:使用触发器定义自己的安全性措施。,用户标识和鉴定,由数据库系统管理员DBA为用户建立标识号和

8、口令。允许用户标识重复3次,如果3次未通过,系统自动退出。,安全授权和检查机制,1)系统权限 创建会话、创建表、创建视图、创建用户等。ORACLE中的角色:一组系统权限的集合。预定义的角色:CONNECT(允许用户登录数据库并执行数据查询和操纵)、RESOURCE(允许用户建表同时拥有对该表的任何权限)、DBA(允许用户执行授权、建表、操纵)。例:GRANT CONNECT TO U12 GRANT RESOURCE TO U13,ORACLE权限包括系统权限和数据库对象权限,2)数据库对象权限,ORACLE中可授权的数据库对象包括:基本表、视图、序列、同义词、存储过程、函数等。,对基本表OR

9、ACLE支持三个级别的安全性:表级、行级和列级,表级权限:ALTER、DELETE、INDEX、INSERT、SELECT、UPDATE、ALL,行级权限由视图实现。,例1:表级授权GRANT SELECT ON SC TO U12例2:行级授权CREAT VIEW S_ISASSELECT Sno,Sname,Ssex,Sage,SdeptFROM StudentWHERE Sdept=ISGRANT SELECT ON S_IS TO U12例3:列级安全性GRANT UPDATE(Sno,Cno)ON SC TO U12,ORACLE审计技术,审计分为用户级审计和系统级审计。用户级审计:

10、为用户设置,主要是用户针对自己创建的数据库表或视图进行审计。系统级审计:由DBA进行,监测所有对数据库的操作,审计命令:AUDIT,NOAUDIT,例:AUDIT ALTER,UPDATE ON SC NOAUDIT ALL ON SC,用户定义的安全性措施,CREATE OR REPLACE TRIGGER secure_studentBERORE INSERT OR UPDATE OR DELETE ON studentBEGINIF(TO_CHAR(sysdate,DY)IN(SAT,SUN)OR(TO_NUMBER(sysdate,HH24)NOT BETWEEN 8 AND 17)T

11、HENRAISE_APPLICATION_ERROR(-20506,You may only change data during normal business hours.)ENDIF;END,只能在工作时间内更新Student,SQLServer数据库安全的概念,安全性用于保护服务器和存储在服务器中的数据。SQL安全性决定可以登录到服务器的用户,用户可以操作的管理任务,用户可以访问的数据库、数据库对象和数据库及其它方面的一些管理任务。SQL Server安全性:登录、数据库用户、对象和语句许可等等。,SQL Server安全性包括:,可以登录到SQL Server的用户;可以访问SQL

12、Server数据库的用户;每个用户可以访问或修改的数据库对象;允许用户在其访问的数据库上使用的Transact_SQL语句。,安全性与数据库许可,使用许可能够加强数据库的安全性。许可被设置在数据库用户或组上。许可分类许可层次,(1)许可分类:对象许可和语句许可,对象许可对象许可规定了某些语句在某些数据库对象上的使用许可。它们由数据库对象的所有者授予和取消。,语句许可语句许可不是对于特定对象的。它们只可以由SA或数据库所有者授予。语句许可用于以下语句:CREATE DATABASECREATE DEFAULTCREATE PROCEDURECREATE TABLECREATE VIEWDUMP

13、DATABASE,(2)许可层次,SQL Server的许可系统可以识别4类用户:SA、DBO、DBOO和其它用户。许可存在优先级:,系统管理员,数据库所有者,数据库对象所有者,其它用户,SQL SERVER数据库用户管理技术,登录到SQL SERVER授予特权在数据库中添加一个组在数据库中添加一个用户管理组成员,登录到SQL SERVER步骤:从Microsoft SQL Server程序组启动SQL Security Manager,出现Connect Server对话框。在对话框中输入服务器名字、登录ID 和口令。选择Connect按钮。,Server,Login Id,Password

14、,Connect Server,Connect,List Servers,Cancel,Help,授予特权:授予用户特权或SA特权授予用户特权菜单ViewUser PrivilegeSecurity Grant New添加用户到一个数据库中。SA特权菜单ViewSA PrivilegeSecurity Grant New Grant按钮,在数据库中添加一个组数据库的组是一组数据库用户的集合,使用组可以简化大量数据库用户的管理。新用户缺省时属于Public组。在加入用户到数据库前先创建组。创建组的步骤:在Server Manager窗口选择服务器。选择一个数据库,再从Manage选择Groups

15、。在Group框中输入组名字。按Add按钮。,在数据库中添加一个用户在一个用户可以加入到数据库前,必须为那个用户设置ID和用户名,用户在数据库中所能进行的操作依赖于授予用户名的许可。添加用户的步骤:在Server Manager窗口选择服务器。选择一个数据库,再从Manage选择Users。在Manage Users框中输入用户名字、ID和组名。按Add按钮,用户加到数据库中。,管理组成员在Server Manager窗口选择服务器,并打开一个服务器的Database文件夹。选择一个数据库并打开数据库的Groups/Users文件夹。会列出这个数据库的组和用户双击一个组,出现Manage Gr

16、oups对话框。从Users列表选择要加入的用户名,再按Add按钮。用户名移到Group列表的Users中。从Group列表的Users中选择要移出的用户名,再按Remove按钮。用户名移到Users列表中。按Modify按钮。,Dbo(public)France(public)royce(public),QuestJan,Group,Database Users,Users:,User in Group:,Remove,Add,Help,Manage Groups-TERRIEPUBS,Modify,Drop,Close,对象和语句许可管理,SQL有两个命令允许对数据库对象和语句许可进行管理

17、:GRANT和REVOKEGRANT命令语法:GRANT privilege1,privilege2ON objectTO usernameWITH GRANT OPTION,例如:GRANT SELECT ON EMPLOYEE_TBL TO USER1 WITH GRANT OPTION,具有此参数的授予命令表示被授权用户可以将此特权转授其它对象,REVOKE命令用于收回已授予数据库用户的特权。语法:REVOKE privilege1,privilege2GRANT OPTION FORON objectFROM USERRESTRICT|CASCADERESTRICT选项,只有当其他用户

18、都不再拥有REVOKE命令中要收回的特权衍生特权时,REVOKE才可以成功的执行。CASCADE选项可以收回任何用户所拥有的这项特权。,完整性,完整性约束条件完整性控制ORACLE的完整性,完整性约束条件,完整性约束条件作用的对象可以有列级、元组级和关系级。列级约束:取值类型、范围、精度、排序等。元组级约束:对记录中各个字段间的联系的约束。关系级约束:关系间联系的约束,按对象状态可分为静态和动态约束。静态约束:反映数据库状态合理性约束。动态约束:反映数据库状态变迁的约束。,粒度状态 列级 元组级 关系级,静态,动态,列定义类型格式值域空值,改变列定义或列值,元组值应满足的条件,元组新旧值之间应

19、满足的约束条件,实体完整性约束参照完整性约束函数依赖约束统计约束,关系新旧状态之间应满足的约束条件,六类完整性约束条件,DBMS的完整性控制具有三方面功能:定义功能:提供定义完整性约束条件机制;检查功能:检查用户操作是否符合约束条件;保证数据完整性动作。最重要的完整性约束是实体完整性和参照完整性。实体完整性由DBMS定义功能实现,参照完整性则由主、外码关系实现。,完整性控制,实现参照完整性需注意的方面:,外码是否可接受空值删除被参照关系的元组时处理方法:1)级联删除:将参照关系中对应的元组一起删除。2)受限删除:仅对无参照对应关系的元组。3)置空值删除:删除被参照关系的元组,同时将参照关系中相

20、应的元组置为空。修改被参照关系中主码时处理方法:1)级联修改:修改被参照关系中主码值的同时,修改参照关系中相应的外码值。2)受限修改:对有参照关系的码拒绝修改。3)置空修改:修改被参照关系中主码值,同时将参照关系中相应的外码值置为空。,ORACLE的完整性,ORACLE的实体完整性:,例:定义Student表Sno为住属性CREATE TABLE Student(SnoNUMBER(8),Sname VARCHAR(20),SageNUMBER(20),CONSTRAINT PK_SNO PRIMARY KEY(Sno);,CREATE TABLE SC(SnoNUMBER(8),CnoNUM

21、BER(2),Grade NUMBER(2),CONSTRAINT PK_SC PRIMARY KEY(Sno,Cno);,例:定义表SC,(Sno,Cno)为主码。,为表EMP的Deptno字段建立外键.CREATE TABLE EMP(Empno NUMBER(4)Ename VARCHAR(10)Job NUMBER(4)Deptno NUMBER(2)CONSTRAIN FK_DEPTNOFOREIGN KEY(Deptno)REFERENCES DEPT(Deptno);,ORACLE的参照完整性:,CREATE TABLE Student(SnoNUMBER(8)CONSTRAIN

22、 C1 CHECK(Sno BETWEEN 90000 AND 999999),Sname VARCHAR(20)CONSTRAIN C2 NOT NULL,SageNUMBER(20)CONSTRAIN C3 CHECK(Sage29),Ssex VARCHAR()2CONSTRAINT C4 CHECK(Ssex IN(男,女););,ORACLE的用户定义完整性:1)列值非空2)列值唯一3)检查列值是否满足布尔表达式,例:建立学生Student,要求学号在900000至999999之间,年龄29,性别只能是男或女,姓名非空。,并发控制,并发控制概述并发操作的调度封锁死锁合活锁ORACLE

23、的并发控制,并发控制概述,事务是数据库的逻辑工作单位,是用户定义的一组操作序列.事务是并发控制的单位,定义事务的语句:BEGIN TRANSACTION COMMIT ROLLBACK,事务的属性:原子性一致性隔离性持续性,不可分性,事务必须从一个以执行状态变到另一个一致状态,一个事物的执行不能被其他事务干扰,一个事物一旦提交,它对数据的改变是永久性的.,并发操作与数据的不一致性,飞机订票系统中的订票操作:1)甲售票员读出某航班的机票余额A,设 A=16;2)乙售票员读出同一航班的机票余额A,也为16;3)甲售票点卖出一张机票,修改机票余额A为A=15,把A写回数据库;4)乙售票点也卖出一张机

24、票,修改机票余额A为A=15,把A写回数据库;结果卖出两张机票,但数据库中的机票余额只减少1.,并发操作带来的影响:丢失修,不可重复读和读“张”数据,A,丢失修改,原因:并发操作破坏事务的隔离性,不可重复读,原因:并发操作破坏事务的隔离性,事务1,事务2,更新 读C=100 CC*2 写回C=200 回滚 ROLLBACK C恢复为100,t1,t3,检索 读C=200,t2,时间,t1,t2,t3,C,读“脏”数据,原因:并发操作破坏事务的隔离性,并发操作的调度,并行事物正确性的唯一准则是可串行性.可串行化:几个事物的并行执行时是正确的,当且仅当其结果与按某一次串行地执行它们时的结果相同.,

25、例如,现有两个事务,分别包含下列操作:事务1:读B;A=B+1;写回A;事务2:读A;B=A+1;写回A;,串行调度1,串行调度2,可串行化,不可串行化,封锁,封锁就是事务T在对某个数据对象操作之前,先向系统发出请求,对其加锁.加锁后事务T就对该数据对象有了一定的控制,在事务T释放它的锁之前,其它事务不能更新此数据对象.封锁类型:排它锁(X锁或写锁)和共享锁(S锁或读锁).封锁粒度:封锁对象的大小.封锁对象的越小,并发度越大;封锁对象的越大,并发度越小.封锁协议:对一定粒度的数据对象加锁时须遵循的规则.,活锁,Lock RUnlock,事务T1,Lock R等待Lock R,事务T4,Lock

26、 R 等待Lock RUnlock,事务T3,Lock R 等待等待等待等待,事务T2,R,R,R,出现某个事务无限等待情况,采用排队策略,先来先服务.,死锁,Lock ALock B等待等待,事务T1,Lock BLock A等待,事务T2,B,T1和T2两事务永远等待下去,死锁的预防方法:一次封锁法顺序封锁法死锁的诊断与解除:使用一个事务等待图,动态反映事务等待情况,及时发现死锁.撤消代价小的事务使事务运行下去.,恢 复,恢复原理恢复的实现技术,恢复就是将因故障对数据库中数据造成的影响,还原成事故前的状态.数据库运行中的主要故障:事务故障,系统故障和介质故障.,事务故障:事务在运行过程中由

27、于某种原因中途夭折。使用ROLLBACK取消事务。系统故障:操作系统的错误造成的故障。需重新启动系统撤消未完成的事务,重做所有已提交的事务。介质故障:硬件故障,如磁盘损坏等。这时须使用备份重做所有事务。,恢复的实现技术,数据转储:是指DBA将整个数据库复制到磁带或另一个磁盘上保存起来的过程,登记日志文件:日志文件在恢复数据库中起重要作用.,恢复策略:事务故障的恢复:反向扫描日志文件,恢复终止的事务.系统故障的恢复:1)扫描日志文件;2)处理撤消队列中的事务;3)完成重做队列中的事务.介质故障的恢复:1)装入后被数据库副本;2)装入有关日志文件,重做已完成的事务.,数据库复制与数据库镜象,数据库复制是使数据库更具容错性的方法,主要用在分布式数据库中,它在多个场地保留多个数据库备份。数据库镜象DBMS自动把整个数据库或其中的关键数据复制到另一个磁盘上,每当主数据库更新时,DBMS会自动把更新后的数据复制过去,即DBMS自动保障镜象数据与主数据的一致性。,结点2,主数据库,备份数据库,当主数据库出现故障,备份数据库自动启用。,数据库复制方式:对等复制;主/从复制级联复制,数据库复制,数据库镜象,出现故障,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号