第10章对象关系数据库
- 格式:ppt
- 大小:319.00 KB
- 文档页数:29
第10章 数据库保护及SQL Server的安全管理数据库系统应用Data Base System Application张建国哈工大计算机科学与技术学院2008-10-7哈工大计算机学院 张建国 Slide 10-1第10章 数据库的安全性及SQL Server的安全管理2008-10-72第10章 数据库保护及SQL Server的安全管理本章主要内容数据库安全性的概念 数据库安全控制用户标识与鉴别 存取控制 自主存取控制(DAC)方法 强制存取控制(MAC)方法 视图机制 审计 数据加密统计数据库安全性问题 SQL Server 2000 数据库的安全性措施2008-10-7哈工大计算机学院 张建国 Slide 10-3第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念美国国防部1985年正式颁布了《DoD可信计算机系统评估标 准TCSEC》(Trusted Computer System Evaluation Criteria). 制定该标准的目的 提供一种标准,使用户可以对其计算机系统内敏感信息安 全操作的可信程度进行评估. 为计算机行业的制造商提供一种可循的指导原则,使其产 品能够更好地满足敏感应用的安全需求. 数据库安全性 保护数据库,以防非法使用所造成的数据泄露、更改或破 坏.2008-10-7哈工大计算机学院 张建国Slide 10-4第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)1991年,美国国家计算机安全中心NCSC颁布了《可信计算机 系统评估标准关于可信数据库系统的解释TDI》 (Trusted Database Interpretation),将TCSEC扩展到数据库管理系统 TDI定义了数据库管理系统的设计与实现中需要满足和用 以进行安全性级别评估的标准. TESEC(TDI)将系统划分为四组七个级别,从低到高依次是 D级: 最小保护 最低级别.一切不符合更高级标准的系统都归于D级. 例如,DOS操作系统 几乎没有专门的机制保障系统的安全性.2008-10-7哈工大计算机学院 张建国Slide 10-5第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)C1级:自主安全保护 只提供了非常初级的自主安全保护措施. 能实现对用户和数据的分离,进行自主存取控制DAC. C2级:受控存取保护 是安全产品的最低级别. 提供受控的存取保护, 将C1级的 DAC细化,以个人身份注册负责,并实施审计和资源隔离. B1级: 标记安全保护 对系统的数据加标记,并对标记的主体和客体实施强制存 取控制MAC和审计等安全机制. B1级以上才称得上安全产品.2008-10-7哈工大计算机学院 张建国Slide 10-6第10章 数据库保护及SQL Server的安全管理10.1 数据库安全性的概念(Cont.)B2级:结构化保护建立形式化的安全策略模型,并对系统内的所有主体 和客体实施DAC和MAC. 目前数据库产品尚无符合B2级安全标准的.B3级: 安全域 A1级: 验证设计2008-10-7哈工大计算机学院 张建国Slide 10-7第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制数据库权限的种类 维护数据库管理系统的权限 对数据库中数据操作的权限 操作数据库对象的权限 创建,修改,删除数据库对象 操作数据库数据的权限 查询,增加,删除,修改表和视图中的数据2008-10-7哈工大计算机学院 张建国Slide 10-8第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库用户的分类 数据库系统管理员DBA(SQL Server中为sa) 拥有对数据库操作的全部权限 数据库对象拥有者dbo 拥有对自己创建的数据对象操作的全部权限 普通用户User 对数据库中的数据进行查询,增加,删除,修改的权限. 只能在自己被授予的权限内进行操作. 角色Role 将具有相同权限的一组用户组织在一起,统一授权以简 化授权机制2008-10-7哈工大计算机学院 张建国 Slide 10-9第10章 数据库保护及SQL Server的安全管理10.2 数据库安全控制(Cont.)数据库的安全措施是一层一层逐级设置的 用户级 通过用户标识和鉴别实现. DBMS级 通过存取控制实现. 操作系统级 通过操作系统的安全保护实现. DB级 通过对数据加密存储实现.2008-10-7哈工大计算机学院 张建国Slide 10-1010.2 数据库安全控制(Cont.)1.用户标识与鉴别用户标识设置用户名.口令设置用户口令.优点简单易行.缺点用户标识和口令容易被人窃取.解决办法利用加密算法或加密函数.10.2 数据库安全控制(Cont.)2. 存取控制存取控制主要通过DBMS的授权机制实现,由两部分组成:定义用户权限将用户权限存入用户存取权限数据字典中.不同用户对系统具有不同的存取权限.合法权限检查用户发出DB操作请求时,DBMS查找数据字典,根据安全规则进行合法权限检查.只有合法的操作才能正常执行.目前大型DB的DBMS一般都支持C2级中的自主存取控制(DAC),有些DBMS可以支持B1级中的强制存取控制(MAC).10.2 数据库安全控制(Cont.)3. 自主存取控制(DAC)方法概念用户对数据的存取权限是“自主”的,被授权的用户可以自由决定将对数据存取权限授权给任何人,而系统无法控制.SQL的自主存取权限控制通过GRANT和REVOKE实现.优点用户对于不同的数据对象有不同的存取权限,不同的用户对同一数据对象也有不同的存取权限.用户可将自己的存取权限转授于其他用户,使用非常灵活.10.2 数据库安全控制(Cont.)问题用户对于存取权限是“自主”的,可以将权限转授给其他用户,这种授权是不受系统或DBA控制的,可能存在被授权用户有意或无意“泄露”数据机密问题.问题产生的原因只是通过对数据的存取权限进行安全控制,而数据本身无安全性标记.解决办法采用强制存取控制.10.2 数据库安全控制(Cont.)4. 强制存取控制(MAC)方法实行主客体制,系统中的全部实体两大类主体: 系统中的活动实体为实际用户和代表各用户的程序进程.客体: 系统中的被动实体为受主体操纵的文件,基本表,索引,视图等.敏感度标记:DBMS为主体和客体的每一个值指定一个“敏感度标记”.敏感度标记被分为绝密,机密,可信,公开等级别.许可证级别和密级:主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级.主体客体许可证级别密级绝密机密可信公开绝密机密可信公开高低通过对比主体的标记和客体的标记,确定主体是否能存取客体.10.2 数据库安全控制(Cont.)10.2 数据库安全控制(Cont.)5.视图机制为不同的用户建立不同的视图.简化用户看待数据库的观点.将不需要的数据隐藏起来,实现数据的保护和保密.10.2 数据库安全控制(Cont.)6. 审计审计是C2级以上安全级别必不可少的一项技术.审计原理将用户对DB中的所有操作自动记录下来存入在“审计日志”中.DBA可利用审计日志跟踪的信息,重现导致DB现状的一系列事件,找出非法存取数据的人、时间和操作内容等.审计的代价审计需占用较多的存储空间和时间,因此审计功能一般是可选的.审计一般用于安全性较高的DB.10.2 数据库安全控制(Cont.)7. 数据加密对于高度敏感的数据,例如财务数据、军事数据、国家机密等,除上述安全措施外,还可以采用数据加密技术.加密的基本思想加密在存储数据时,将原始数据(明文)按某种算法变换成某种不可直接识别的格式(密文).解密使用数据时,按照加密算法将密文还原为明文.不知道解密算法的人无法获得正确的数据.10.2 数据库安全控制(Cont.)两种主要加密算法替换方法使用密钥将明文中的每一个字符转换成密文中的一个字符.例:将每个ASCII字符的值减3.“DOG”的内部存储表示为“AMD”.读取数据时,再使每个ASCII值加3,得到正确的数据.转换方法将明文字符按不同的顺序排列.常将这两种方法结合起来应用,以提高安全性.10.3 统计数据的安全问题人们往往注意一般DB的安全问题,较好地解决了DB的保密问题,但对于统计DB常常却忽略了其安全性.问题从某些统计数据信息往往能推算出一些个体数据.例:想获得总经理的工资,但系统不允许查询某个职工的数据,于是可以统计全体职工的工资总额,再统计全部不是总经理的职工的工资,二者相减,即可获得总经理的工资.总经理工资=全体职工工资总额-全体非总经理职工工资总额所以,应特别注意统计数据库泄密问题.10.4 SQL Server 的安全管理机制SQL Server是Microsoft开发的运行在Windows上的DBMS Windows提供了较完善的安全措施.SQL Server在此基础上又提供了自己的安全措施.1. 用户访问DB中数据的三个认证过程身份验证(连接DB服务器权限)—登录帐户验证用户是否有权连接到SQL Server数据库服务器.访问DB权限验证——数据库用户帐户验证用户是否的DB的合法用户操作数据权限验证——授权验证用户是否有操作相应数据的权限10.4 SQL Server 的安全管理机制(Cont.)SQL Server 服务器身份验证SQL ServerDB Data 访问DB 权限验证操作数据权限验证Windows用户DB Data10.4 SQL Server 的安全管理机制(Cont.)2. 用户类型和安全验证模式SQL Server 用户的类型Windows授权用户Windows用户或组SQL授权用户SQL 用户(非Windows用户)SQL Server 的两种安全验证模式Windows身份验证模式Windows和SQL Server混合验证模式10.4 SQL Server 的安全管理机制(Cont.) Windows身份验证模式允许Windows用户连接SQL ServerSQL Server通过Windows获得用户信息,并对用户名和密码进行验证用户先登录Windows,登录SQL Server 时选择Windows 身份验证模式(不需提供登录用户和密码)Windows和SQL Server混合验证模式允许Windows授权用户和SQL授权用户(非Windows授权用户)连接SQL Server.需提供登录名和密码.SQL Server身份验证设置企业管理器—服务器(右键)—-属性—安全性—身份验证—SQL Server和Windows重新启动Windows生效10.4 SQL Server 的安全管理机制(Cont.)3. 登录帐户管理访问数据库的用户必须登录.Windows登录用户SQL Server 登录用户(1) 建立登录帐户企业管理器—安全性—登录—右键—新建登录名称输入名称: SQL登录帐户名在菜单中选择名称:Windows帐户名Windows身份验证域:选择一个域及用户名10.4 SQL Server 的安全管理机制(Cont.)SQL Server身份验证输入密码设置访问的默认数据库服务器角色选项卡为用户设置服务器角色.数据库角色为用户设置数据库角色,使用户可访问指定数据库.(2) 修改登录帐户的属性安全性—登录—选择指定用户—属性进行修改(3) 删除登录帐户10.4 SQL Server 的安全管理机制(Cont.)4. 用户帐户管理具有登录账户的用户只能登录到SQL Server服务器,还不能访问具体数据库.将登录名与具体数据库联系起来后才能访问数据库.用户可访问某一数据库的用户一个登录用户可以访问若干个数据库,访问时必须与有关的用户相关联.每一个数据库都有两个默认的用户dbo(database owner)创建数据库的用户称为数据库所有者dbo拥有对自己所创建的数据库的所有权限guest对象的全部权限和所有权由用户控制.10.4 SQL Server 的安全管理机制(Cont.)(1) 建立数据库用户选择具体数据库—用户(右键)—新建数据库用户—选择登录名和用户名选择该用户的数据库角色属性—权限设置该角色对表/视图的操作权限.对选定的表/视图选择”列”,可设置对表/视图中的列操作的权限.(2) 删除数据库用户10.4 SQL Server 的安全管理机制(Cont.)5. 角色具有相同权限的用户可设置成一个角色.同一角色的用户自动继承该角色的所有权限.角色可以方便对用户的管理.角色的分类固定服务器角色固定数据库角色10.4 SQL Server 的安全管理机制(Cont.)服务器角色sysadmin:执行SQL Server中的任何操作dbcreater:创建和修改数据库diskadmin:管理磁盘文件processadmin:管理系统进程securityadmin:管理和审计登录账号serveradmin:配置服务器范围内的设置setupadmin:可以增加、删除连接服务器,建立数据库复制,管理扩展的存储器bulkadmin:执行块插入操作服务器角色为在用户登录时授予的在服务器范围内的权限,在服务器上操作,独立于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)固定数据库角色public: 维护全部默认的许可db_owner:执行数据库的任何操作,可转让授权db_accessadmin:可以增加或删除windows认证模式下的数据库用户或用户登录者db_addadmin:增加、修改和删除数据库对象db_securityadmin:执行语句和对象的权限管理db_backupadmin:备份和恢复数据库db_datareader:检索任意表中的数据db_datawriter:增加、修改和删除所有表中的数据db_denydatareader: 不能检索任意表中的数据db_denydatawriter: 不能增加、修改和删除所有表中的数据数据库用户角色对应于具体数据库.10.4 SQL Server 的安全管理机制(Cont.)建立用户自定义角色选择建立角色的数据库角色—新建数据库角色—输入角色名称—选择角色—添加用户——确定定义角色授权选择指定角色属性—权限—设置权限添加自定义角色的成员属性—添加—选择帐户10.4 SQL Server 的安全管理机制(Cont.)6. 存取权限管理机制为用户授权,将授权结果存入数据字典用户提出操作请求时,系统进行操作权限检查,决定是否执行其操作(1) 权限的种类对象权限(使用DML语句的权限)用户对表/视图的操作权限(查询,更新)语句权限(使用DDL语句的权限)用户进行数据定义的权限隐含权限(角色权限)为用户设置的服务器角色,数据库角色,dbo等权限,一次授权,长期享有.(2) 权限管理授权Grant收回授权Revok拒绝访问Deny(3) 权限管理级别表/视级授权属性级授权存储过程执行授权(4) 权限管理机制企业管理器SQL语句10.4 SQL Server 的安全管理机制(Cont.)10.4 SQL Server 的安全管理机制(Cont.)(5) SQL权限管理授权语句GRANT 权限名[,…] ON 表名|视图名|存储过程名TO 数据库用户名|用户角色名[, …]收回权限语句REVOKE 权限名[,…] ON表名|视图名|存储过程名FROM 数据库用户名|用户角色名[, …]拒绝访问语句REVOKE权限名[,…] ON表名|视图名|存储过程名TO数据库用户名|用户角色名[, …]10.4 SQL Server 的安全管理机制(Cont.)对属性列和视图的操作权限查询,插入,修改,删除.对基本表的操作权限查询,插入,修改,删除,修改表定义,建立索引.建立表权限建立表的权限归DBA所有,DBA可以将权限授于其他用户,被授权的用户可以自己创建表.创建表的用户是表的主人dbo,拥有对表的所有权限用户可以是某一特定用户,也可以是全体用户PUBLICWITH GRANT OPTION子句获得某种权力的用户可以将其权限转授其他用户10.4 SQL Server 的安全管理机制(Cont.)例:把查询表Student的权限授给用户User1.GRANT SELECT ON Student TO User1;例:把对表Student和Course的全部操作权限授给用户User2和User3.GRANT ALL PRIVILIGES ON Student,Course TO User2,User3;例:把对表SC的查询权限授给所有用户.GRANT SELECT ON SC TO PUBLIC;例:把对表Student的查询和修改学号的权限授给用户User4. GRANT SELECT,UPDATE(Sno)ON Student TO User4;10.4 SQL Server 的安全管理机制(Cont.)例:把对表SC插入的权限授给User5,并允许User5将此权限再授给其他用户.GRANT INSERT ON SC TO User5 WITH GRANT OPTION;例:DBA把在数据库Teaching_system中建立表的权限授给User8.GRANT CREATETAB ON Teaching_system TO User8;10.4 SQL Server 的安全管理机制(Cont.)例:把用户User4修改学号的权限收回.REVOKE UPDATE(Sno) ON Student FROM User4;例:收回所有用户对表SC的查询权限.REVOKE SELECT ON SC FROM PUBLIC;例:收回用户User5对表SC插入的权限.REVOKE INSERT ON SC FROM User5;若User5已将自己的权限授给其他用户,则被授给的权限也一同收回.第10章数据库保护及SQL Server的安全管理本章小结计算机安全性及数据库安全性的概念数据库安全控制用户标识与鉴别,存取控制,自主存取控制(DAC)方法,强制存取控制(MAC)方法,视图机制,审计,数据加密统计数据库安全性SQL Server 数据库的安全管理机制本章习题和任务复习本章内容.通过实验课练习授权机制.理解P.193各题的问题.2008-10-7哈工大计算机学院张建国Slide 10-41。
购书指南中文书名:数据库管理系统基础(第2版)英文书名:THE CONCEPTS OF DA TABASE MANAGEMENT, 2E 原著作者:Philip J. Pratt, Joseph J. Adamski翻译:陆宏毅杨文波程华(国防科技大学计算机学院)译版别:2国际标准图书编号:7-111-07312-6定价:¥20.00开本:16页数:188本书目录:前言第1章数据库管理简介第2章关系模型1:简介、QBE和关系代数第3章关系模型2:SQL第4章关系模型3:高级主题第5章数据库设计1:规范化第6章数据库设计2:设计方法学第7章数据库管理系统的功能第8章数据库管理员第9章高级主题附录A 单数复习题的答案附录B 术语表内容简介:本书深入浅出地讨论了数据库系统相关的基本概念和技术,包括SQL语言、数据库设计、范式、DBMS、DBA、数据库的选择以及数据库的热门话题等,其中并没有涉及特殊的数据库软件或版本,因此具有广泛的适用性。
本书可作为计算机专业或相关学科的数据库介绍性课程教材,适合于本科生、研究生和使用微机数据库系统的人员参考。
购书指南中文书名:数据仓库(第2版)英文书名:BUILDING THE DATA WAREHOUSE, 2E原著作者:W.H. Inmon翻译:王志海等译;黄厚宽、田盛丰审校(北方交通大学)版别:2国际标准图书编号:7-111-07889-6定价:¥25.00开本:16页数:228本书目录:第1章决策支持系统的发展第2章数据仓库环境第3章设计数据仓库第4章数据仓库中的粒度第5章数据仓库和技术第6章分布式数据仓库第7章高级管理人员信息系统和数据仓库第8章外部/非结构化数据与数据仓库第9章迁移到体系结构化环境第10章数据仓库的设计复查要目内容简介:本书论述在设计和建造数据仓库中涉及的所有主要问题,论述分析型环境(或称决策支持系统环境)以及在这种环境中的数据问题。
主要内容包括数据仓库的设计与建造步骤,传统系统到数据仓库的迁移,数据仓库的数据粒度、数据分割、元数据管理、外部数据与非结构化数据、分析式数据仓库、高级管理人员信息系统和数据仓库的设计评审等。