SQLServer教程第4章数据库安全性教学案例

上传人:yulij****0329 文档编号:141464211 上传时间:2020-08-08 格式:PPT 页数:76 大小:1.10MB
返回 下载 相关 举报
SQLServer教程第4章数据库安全性教学案例_第1页
第1页 / 共76页
SQLServer教程第4章数据库安全性教学案例_第2页
第2页 / 共76页
SQLServer教程第4章数据库安全性教学案例_第3页
第3页 / 共76页
SQLServer教程第4章数据库安全性教学案例_第4页
第4页 / 共76页
SQLServer教程第4章数据库安全性教学案例_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《SQLServer教程第4章数据库安全性教学案例》由会员分享,可在线阅读,更多相关《SQLServer教程第4章数据库安全性教学案例(76页珍藏版)》请在金锄头文库上搜索。

1、第四章 数据库安全性,数据库系统概论 An Introduction to Database System,数据库安全性,问题的提出 数据库的一大特点是数据可以共享 数据共享必然带来数据库的安全性问题 例: 军事秘密、国家机密、新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、医疗档案、银行储蓄数据,数据库数据库保护,数据库安全性保护 数据库完整性保护,目的要求 了解安全标准; 理解数据库安全性控制技术; 基本内容 计算机安全性概述; 用户标识与鉴别; 存取控制; 视图机制; 审计; 数据加密; 统计数据库安全性。 重点难点 重点,难点 存取控制 课时安排 建议:2学时。,4

2、.1 计算机安全性概述(自学),4.1.1 计算机系统的三类安全性问题 技术安全类 管理安全类 政策法律类 4.1.2 安全标准简介 TCSEC标准 CC标准,第四章 数据库安全性,4.1 计算机安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 统计数据库安全性 4.7 小结,计算机系统中,安全措施是一级一级层层设置, 用户标识和鉴别:输入用户名,才能登录计算机或数据库服务器。 存取控制:对已经进入数据库系统的用户,只允许用户执行规定的操作(select, update , insert , delete, create 等)。 操作

3、系统安全保护 数据密码存储:对数据加密后存储到数据库中。,计算机系统的安全模型,4.2 数据库安全性控制概述,数据库安全性控制的常用方法 用户标识和鉴定 存取控制 视图 审计 密码存储,4.2 数据库安全性控制,4.2.1 用户标识与鉴别(自学) 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.1 用户标识与鉴别(自学),用户标识与鉴别 (Identification 语义:将对指定操作对象的指定操作权限授予指定的用户,发出GRANT: DBA 数据库对象创建者(即属主Owner) 拥有该权限的用户 按受

4、权限的用户 一个或多个具体用户 PUBLIC(全体用户),WITH GRANT OPTION子句,WITH GRANT OPTION子句: 指定:可以再授予 没有指定:不能传播 不允许循环授权,例题,例1 把查询Student表权限授给用户U1 GRANT SELECT ON TABLE Student TO U1,例2 把对Student表和Course表的全部权限授予用户U2和U3 GRANT ALL PRIVILIGES ON TABLE Student, Course TO U2, U3,例3 把对表SC的查询权限授予所有用户 GRANT SELECT ON TABLE SC TO P

5、UBLIC,例4 把查询Student表和修改学生学号的权限授给用户U4 GRANT UPDATE(Sno), SELECT ON TABLE Student TO U4 对属性列的授权时必须明确指出相应属性列名,例5 把对表SC的INSERT权限授予U5用户,并允许他再将此权限授予其他用户 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION,传播权限,执行例5后,U5不仅拥有了对表SC的INSERT权限, 还可以传播此权限: 例6 GRANT INSERT ON TABLE SC TO U6 WITH GRANT OPTION; 同样,U6还可以

6、将此权限授予U7: 例7 GRANT INSERT ON TABLE SC TO U7; 但U7不能再传播此权限。,授权与回收(续),二、REVOKE 授予的权限可以由DBA或其他授权者用REVOKE语句收回 REVOKE语句的一般格式为: REVOKE ,. ON FROM ,.;,例8 把用户U4修改学生学号的权限收回 REVOKE UPDATE(Sno) ON TABLE Student FROM U4,例9 收回所有用户对表SC的查询权限 REVOKE SELECT ON TABLE SC FROM PUBLIC,例10 把用户U5对SC表的INSERT权限收回 REVOKE INSE

7、RT ON TABLE SC FROM U5 CASCADE 将用户U5的INSERT权限收回的时候必须级联(CASCADE)收回 系统只收回直接或间接从U5处获得的权限,小结:SQL灵活的授权机制,DBA:拥有所有对象的所有权限 不同的权限授予不同的用户 用户:拥有自己建立的对象的全部的操作权限 GRANT:授予其他用户 被授权的用户 “继续授权”许可:再授予 所有授予出去的权力在必要时又都可用REVOKE语句收回,授权与回收(续),三、创建数据库模式的权限 DBA在创建用户时实现(只有DBA可以创建数据库用户) CREATE USER语句格式 CREATE USER WITHDBA | R

8、ESOURCE | CONNECT,若没有指定,则默认权限为connect,4.2 数据库安全性控制,4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,4.2.5 数据库角色,数据库角色:被命名的一组与数据库操作相关的权限 角色是权限的集合 可以为一组具有相同权限的用户创建一个角色 简化授权的过程,数据库角色,一、角色的创建 CREATE ROLE 二、给角色授权 GRANT , ON 对象名 TO ,,三、将一个角色授予其他的角色或用户 GRANT , TO , WITH ADMIN

9、OPTION 四、角色权限的收回 REVOKE , ON FROM ,,例11通过角色来实现将一组权限授予一个用户。 步骤如下: 1. 首先创建一个角色 R1 CREATE ROLE R1 2. 然后使用GRANT语句,使角色R1拥有Student表的SELECT、UPDATE、INSERT权限 GRANT SELECT,UPDATE,INSERT ON TABLE Student TO R1,3. 将这个角色授予王平,张明,赵玲。使他们具有角色R1所包含的全部权限 GRANT R1 TO 王平,张明,赵玲 4. 可以一次性通过R1来回收王平的这3个权限 REVOKE R1 FROM 王平;,

10、例12角色的权限修改 GRANT DELETE ON TABLE Student TO R1,例13 REVOKE SELECT ON TABLE Student FROM R1,补充:SQL Server2000中用户和角色的创建,1.创建用户,2.角色创建,3.删除用户或角色,4.2 数据库安全性控制,4.2.1 用户标识与鉴别 4.2.2 存取控制 4.2.3 自主存取控制方法 4.2.4 授权与回收 4.2.5 数据库角色 4.2.6 强制存取控制方法,自主存取控制缺点,可能存在数据的“无意泄露” 如:甲将自己的权限授予乙,乙又将得到的权限在未经甲许可时授予丙 原因:这种机制仅仅通过对

11、数据的存取权限来进行安全控制,而数据本身并无安全性标记 解决:对系统控制下的所有主客体实施强制存取控制策略,4.2.6 强制存取控制方法(MAC),特点 更高程度的安全性保证 用户不能直接感知或进行控制 适用于对数据有严格而固定密级分类的部门 军事部门 政府部门,MAC是为了保证更高程度的安全性,系统按照TDI/TCSEC标准中安全策略的要求,所采用的强制性存取检查手段。,主体是系统中的活动实体 DBMS所管理的实际用户 代表用户的各进程 客体是系统中的被动实体,是受主体操纵对象 文件 基表 索引 视图,在MAC中,DBMS所管理的全部实体被分为主体和客体两大类。,DBMS给主体和客体的每个实

12、例(值)指定一个 敏感度标记。 敏感度标记被分成若干级别,如:绝密、机密、可信、公开等。 主体的敏感度标记称为许可证级别(Clearance Level) 客体的敏感度标记称为密级(Classification Level)。 MAC机制就是通过对比主体的Label和客体的Label最终确定主体是否能够存取客体。,强制存取控制方法(续),强制存取控制规则 (1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体 (2)仅当主体的许可证级别等于客体的密级时,该主体才能写相应的客体 某些系统修正规则 主体的许可证级别 =客体的密级 主体能写客体,禁止了拥有高许可证级别的主体更新低

13、密级的数据对象,强制存取控制是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据,从而提供了更高级别的安全性。,MAC与DAC,DAC与MAC共同构成DBMS的安全机制 实现MAC时要首先实现DAC 原因:较高安全性级别提供的安全保护要包含较低级别的所有保护,先进行DAC检查,通过DAC检查的数据对象再由系统进行MAC检查,只有通过MAC检查的数据对象方可存取。,第四章 数据库安全性,4.1 计算机安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 统计数据库安全性 4.7

14、小结,4.3 视图机制,进行存取权限控制时可以为不同的用户定义不同的视图,把数据对象限制在一定的范围内,也就是说,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 视图机制间接地实现了支持存取谓词的用户权限定义。,例14建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明 CREATE VIEW CS_Studen AS SELECT * FROM Student WHERE Sdept=CS GRANT SELECT ON CS_Student TO 王平 GRANT ALL PRIVILIGES ON C

15、S_Student TO 张明,4.2 数据库安全性控制,4.1 计算机安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 统计数据库安全性 4.7 小结,4.4 审计(Audit),什么是审计 将用户对数据库的所有操作记录在审计日志(Audit Log)中 DBA利用审计日志 找出非法存取数据的人、时间和内容,审计分为 用户级审计(由用户设置) 针对用户自己创建的数据库表或视图进行审计 记录所有用户对这些表或视图的一切成功和(或)不成功的访问要求以及各种类型的SQL操作 系统级审计(由DBA设置) 监测成功或失败的登录要求 监测GRA

16、NT和REVOKE操作以及其他数据库级权限下的操作,例15对修改SC表结构或修改SC表数据的操作进行审计 AUDIT ALTER,UPDATE ON SC; 例16取消对SC表的一切审计 NOAUDIT ALTER,UPDATE ON SC;,AUDIT语句:设置审计功能 NOAUDIT语句:取消审计功能,审计设置语句:,4.2 数据库安全性控制,4.1 计算机安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 统计数据库安全性 4.7 小结,4.5 数据加密,数据加密 防止数据库中数据在存储和传输中失密的有效手段 加密的基本思想 加密方法 替换方法 置换方法 混合方法(复杂加密方法:DES ,RSA,MD5等),第四章 数据库安全性,4.1 计算机安全性概述 4.2 数据库安全性控制 4.3 视图机制 4.4 审计(Audit) 4.5 数据加密 4.6 统计数据库安

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号