第4章 数据库安全性.ppt_第1页
第4章 数据库安全性.ppt_第2页
第4章 数据库安全性.ppt_第3页
第4章 数据库安全性.ppt_第4页
第4章 数据库安全性.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 第四章数据库安全性 2 数据库安全性 问题的提出数据库的一大特点是数据可以共享但数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例 军事秘密 国家机密 新产品实验数据 市场需求分析 市场营销策略 销售计划 客户档案 医疗档案 银行储蓄数据 3 什么是数据库的安全性数据库的安全性是指保护数据库 防止因用户非法使用数据库造成数据泄露 更改或破坏 什么是数据的保密数据保密是指用户合法地访问到机密数据后能否对这些数据保密 通过制订法律道德准则和政策法规来保证 什么是计算机系统安全性为计算机系统建立和采取的各种安全保护措施 以保护计算机系统中的硬件 软件及数据 防止其因偶然或恶意的原因使系统遭到破坏 数据遭到更改或泄露等 4 视图机制 视图机制把要保密的数据对无权存取这些数据的用户隐藏起来 视图机制更主要的功能在于提供数据独立性 其安全保护功能太不精细 往往远不能达到应用系统的要求 视图机制与授权机制配合使用 首先用视图机制屏蔽掉一部分保密数据视图上面再进一步定义存取权限间接实现了支持存取谓词的用户权限定义 5 视图机制 例 王平只能检索计算机系学生的信息先建立计算机系学生的视图CS StudentCREATEVIEWCS StudentASSELECTFROMStudentWHERESdept CS 在视图上进一步定义存取权限 GRANTSELECTONCS StudentTO王平 6 数据库对象的权限 表级权限ALTER 修改表定义DELETE 删除表记录INDEX 在表上建索引INSERT 向表中插入数据记录SELECT 查找表中记录UPDATE 修改表中的数据ALL 上述所有权限 7 数据库对象的权限 表级授权使用GRANT REVOKE语句例 GRANTSELECTONSCTOU12 行级安全性由视图间接实现例 用户U1只允许用户U12查看自己创建的Student表中有关信息系学生的信息 则首先创建视图信息系学生视图S IS CREATEVIEWS ISASSELECTSno Sname Ssex Sage SdeptFROMStudentWHERESdept IS 然后将关于该视图的SELECT权限授予U12用户 GRANTSELECTONS ISTOU12 8 列级安全性实现方法由视图间接实现直接在基本表上定义 借助视图实现列级安全性CREATEVIEWS VASSELECTSno SnameFROMStudent GRANTSELECTONS VTOU1直接在基本表上定义列级安全性例 GRANTUPDATE Sno Cno ONSCTOU12 用数据库级触发器定义用户级安全性例 定义一个触发器 规定在星期六或星期日或者在某些方面8点至17点以外时间不能更新Student表 系统检查当时的系统时间 如是周六或周日 或者不是8点至17点 系统会拒绝执行用户的更新操作 并提示出错信息 9 SQLServer的安全模型 10 登录方式 登录验证有两种方式 SQL身份验证 适合于非windows平台的用户或Internet用户 需要提供帐户和密码Windows身份验证 适合于windows平台用户 不需要提供密码 和windows集成验证登录帐户相应有两种 SQL帐户和Windows帐户 11 12 创建登录 添加Windows登录帐户 EXEC表示调用存储过程 存储过程类似Java语言的函数 内置的系统管理员帐户sa密码默认为空 建议修改密码 域名 用户名 添加SQL登录帐户 13 创建数据库用户 创建数据库用户需要调用系统存储过程sp grantdbaccess 其用法为 EXECsp grantdbaccess 登录帐户名 数据库用户名 其中 数据库用户名 为可选参数 默认为登录帐户 即数据库用户默认和登录帐户同名 在stu数据库中添加两个用户 14 15 向数据库用户授权 deleteFROMEmployees SELECT FROMEmployees 16 权限的类型 授权的语法为 GRANT权限 ON表名 TO数据库用户 17 SQLServer支持两种不同的安全模式 Windows验证模式 用户通过已有的Windows用户帐号连接到服务器上 当用户尝试连接到服务器的时候 SQL服务器就会验证用户的Windows帐号名和密码 用户不必同时登录进网络和SQL服务器 这需要登录一次就行了 这种方式也叫做受信连接 trustedconnection 混合模式 MixedMode 这种模式结合了Windows验证和SQL服务器的验证 用户可以通过Windows的帐号连接 就像在Windows验证模式里一样 但是你也可以直接在SQL服务器里创建自己的帐号 而且它们不需要同Windows帐号有任何关系 每个SQL服务器帐号保存有用户名和密码 SQLServer的验证模式 18 19 角色 角色是一个强大的工具 将用户集中到一个单元中 然后对该单元应用权限 对一个角色授予 拒绝或废除的权限也适用于该角色的任何成员 可以建立一个角色来代表单位中一类工作人员所执行的工作 然后给这个角色授予适当的权限 一个用户可以属于多个角色 分类 固定数据库角色固定服务器角色用户自定义角色 20 1 固定的服务器角色 21 固定的服务器角色 22 2 固定数据库角色 23 固定数据库角色 24 标准角色通过对用户权限等级的认定而将用户划分为不用的用户组 使用户总是相对于一个或多个角色 从而实现管理的安全性 应用程序角色是一种比较特殊的角色 当我们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存取数据库数据时 就应该考虑使用应用程序角色 当某一用户使用了应用程序角色时 他便放弃了已被赋予的所有数据库专有权限 他所拥有的只是应用程序角色被设置的角色 标准角色和应用程序角色 25 例 假如学校新增10个班主任 他们都要在student表中添加 修改和删除学生 要个个设置权限 方便吗 26 步骤1 创建班主任角色use教学管理EXECsp addrole m role 27 步骤2 对角色授权 授予表Student查找权 28 步骤3 创建各班主任登录sp addlogin logteac1 01 sp addlogin logteac2 02 29 步骤4 创建各登录对应的用户sp grantdbaccess logteac1 dbuser1 sp grantdbaccess logteac2 dbuser2 30 步骤5 使用户成为角色成员sp addrolemember m role dbuser1 sp addrolemember m role dbuser2 31 步骤6 验证插入权限 32 33 2 安全性控制的一般方法 用户标识与鉴别用户标识和鉴别是系统提供的最外层安全保护措施存取控制定义获得上机权的用户可在哪些数据对象上进行哪些类型的操作 关系系统中的存取权限 34 2 安全性控制的一般方法 视图机制通过视图机制把要保密的数据对无权存取的用户隐藏起来 从而自动地对数据提供一定程度的安全保护 通常是视图机制与授权机制配合使用 审计把用户对数据库的所有操作自动记录下来放入审计日志 AuditLog 中 DBA可以利用审计跟踪的信息 重现导致数据库现有状况的一系列事件 找出非法存取数据的人 时间和内容等 数据加密根据一定的算法将原始数据变换为不可直接识别的格式 从而使得不知道解密算法的人无法获知数据内容 35 统计数据库安全性 例1 下面两个查询都是合法的 1 本公司共有多少女高级程序员 2 本公司女高级程序员的工资总额是多少 如果第一个查询的结果是 1 那么第二个查询的结果显然就是这个程序员的工资数 规则1 任何查询至少要涉及N N足够大

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论