数据库原理课件-04安全性操作.ppt

上传人:max****ui 文档编号:8583376 上传时间:2020-03-30 格式:PPT 页数:111 大小:871.50KB
返回 下载 相关 举报
数据库原理课件-04安全性操作.ppt_第1页
第1页 / 共111页
数据库原理课件-04安全性操作.ppt_第2页
第2页 / 共111页
数据库原理课件-04安全性操作.ppt_第3页
第3页 / 共111页
点击查看更多>>
资源描述
SQLServer权限管理策略用户权限管理 SQLServer权限管理 SQLServer权限管理策略 安全帐户认证访问许可确认 安全帐户认证 安全帐户认证是用来确认登录SQLServer的用户的登录帐号和密码的正确性 由此来验证其是否具有连接SQLServer的权限 SQLServer2000提供了两种确认用户的认证模式 一 WindowsNT认证模式 二 混合认证模式 一 WindowsNT认证模式 SQLServer数据库系统通常运行在WindowsNT操作系统 具备管理登录 验证用户合法性的能力 在这种模式下 用户只需要通过WindowsNT的认证 就可以连接到SQLServer 而SQLServer本身不需要管理一套登录数据 二 混合认证模式 混合认证模式允许用户使用WindowsNT安全性或SQLServer安全性连接到SQLServer 这就意味着用户可以使用他的帐号登录到WindowsNT 或者使用他的登录名登录到SQLServer系统 NT的用户既可以使用NT认证 也可以使用SQLServer认证 利用企业管理器进行认证模式的设置 其主要过程如下 1 打开企业管理器 用右键单击要设置认证模式的服务器 从快捷菜单中选择 属性 properties 选项 则出现SQLServer属性对话框 2 在SQLServer属性对话框中选择安全性选项 利用企业管理器进行认证模式的设置 3 在安全性选项栏中 身份验证中可以选择要设置的认证模式 同时审核级别中还可以选择跟踪记录用户登录时的哪种信息 例如登录成功或登录失败的信息等 4 在启动服务帐户中设置当启动并运行SQLServer时默认的登录者中哪一位用户 访问许可确认 但是通过认证阶段并不代表用户能够访问SQLServer中的数据 同时他还必须通过许可确认 用户只有在具有访问数据库的权限之后 才能够对服务器上的数据库进行权限许可下的各种操作 这种用户访问数据库权限的设置是通过用户帐号来实现的 6 2用户权限管理 6 2 1服务器登录帐号和用户帐号管理6 2 2许可 权限 管理6 2 3角色管理 服务器登录帐号和用户帐号管理 1 SQLServer服务器登录管理SQLServer有三个默认的用户登录帐号 即sa administrators builtin和guest 2 用户帐号管理 1 利用企业管理器创建 管理SQLServer登录帐号 其具体执行步骤如下 打开企业管理器 单击需要登录的服务器左边的 号 然后展开安全性文件夹 用右键单击登录 login 图标 从快捷菜单中选择新建登录 newlogin 选项 则出现SQLServer登录属性 新建登录对话框 如图2所示 1 利用企业管理器创建 管理SQLServer登录帐号 3 在名称编辑框中输入登录名 在身份验证选项栏中选择新建的用户帐号是WindowsNT认证模式 还是SQLServer认证模式 选择服务器角色页框 如图3所示 在服务器角色列表框中 列出了系统的固定服务器角色 选择数据库访问页框 如图4所示 上面的列表框列出了该帐号可以访问的数据库 单击数据库左边的复选框 表示该用户可以访问相应的数据库以及该帐号在数据库中的用户名 设置完成后 单击 确定 按钮即可完成登录帐号的创建 图2新建登录帐号对话框 图3服务器角色对话框 图4数据库访问对话框 使用SQLServer的创建登录向导工具创建登录帐号 其具体操作过程如下 图5 图11 图5欢迎使用创建登录向导对话框 图6选择身份验证模式对话框 图7选择对用户帐号的安全性设置对话框 图8输入登录信息对话框 图9选择安全性角色对话框 图10选择允许登录帐号访问的数据库对话框 图11完成创建登录向导对话框 2 用户帐号管理 在数据库中 一个用户或工作组取得合法的登录帐号 只表明该帐号通过了WindowsNT认证或者SQLServer认证 但不能表明其可以对数据库数据和数据库对象进行某种或者某些操作 只有当他同时拥有了用户帐号后 才能够访问数据库 利用企业管理器可以授予SQLServer登录访问数据库的许可权限 使用它可创建一个新数据库用户帐号 许可 权限 管理 许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作 用户在登录到SQLServer之后 其用户帐号所归属的NT组或角色所被赋予的许可 权限 决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问 修改哪些数据 在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色 每个数据库都有自己独立的许可系统 在SQLServer中包括三种类型的许可 即对象许可 语句许可和预定义许可 三种许可类型 1 对象许可表示对特定的数据库对象 即表 视图 字段和存储过程的操作许可 它决定了能对表 视图等数据库对象执行哪些操作 2 语句许可表示对数据库的操作许可 也就是说 创建数据库或者创建数据库中的其它内容所需要的许可类型称为语句许可 三种许可类型 3 预定义许可是指系统安装以后有些用户和角色不必授权就有的许可 可用于语句许可的Transaction SQL语句及其含义如下 Createdatabase 创建数据库Createtable 创建表Createview 创建视图Createrule 创建规则Createdefault 创建缺省Createprocedure 创建存储过程Createindex 创建索引Backupdatabase 备份数据库Backuplog 备份事务日志 许可的管理 1 使用SQLServer企业管理器管理许可SQLServer可通过两种途径 即面向单一用户和面向数据库对象的许可设置 来实现对语句许可和对象许可的管理 从而实现对用户许可的设定 Transaction SQL语句使用grant revoke和deny三种命令来实现管理权限 2 使用Transaction SQL语句 Grant语句其语法形式如下 对语句的许可Grant all statement n tosecurity account n Grant语句其语法形式如下 对对象的许可grant all priviledges permission n column n on table view on table view column n on stored procedure extended procedure tosecurity account n as group role Deny语句其语法形式如下 否定语句的许可deny all statement n tosecurity account n Deny语句其语法形式如下 否定对象的许可deny all priviledges permission n column n on table view on table view column n on stored procedure extended procedure tosecurity account n Revoke语句其语法形式如下 收回语句的许可revoke all statement n fromsecurity account n Revoke语句其语法形式如下 收回对象的许可revoke grantoptionfor all priviledges permission n column n on table view on stored procedure extended procedure fromsecurity account n as group role 角色管理 利用角色 SQLServer管理者可以将某些用户设置为某一角色 这样只对角色进行权限设置便可以实现对所有用户权限的设置 大大减少了管理员的工作量 SQLServer提供了用户通常管理工作的预定义服务器角色和数据库角色 1 服务器角色 服务器角色是指根据SQLServer的管理任务 以及这些任务相对的重要性等级来把具有SQLServer管理职能的用户划分为不同的用户组 每一组所具有的管理SQLServer的权限都是SQLServer内置的 即不能对其进行添加 修改和删除 只能向其中加入用户或者其他角色 七种常用的固定服务器角色 系统管理员 拥有SQLServer所有的权限许可 服务器管理员 管理SQLServer服务器端的设置 磁盘管理员 管理磁盘文件 进程管理员 管理SQLServer系统进程 安全管理员 管理和审核SQLServer系统登录 安装管理员 增加 删除连接服务器 建立数据库复制以及管理扩展存储过程 数据库创建者 创建数据库 并对数据库进行修改 2 数据库角色 数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限 这些权限是数据库专有的 并且还可以使一个用户具有属于同一数据库的多个角色 SQLServer提供了两种类型的数据库角色 即固定的数据库角色和用户自定义的数据库角色 固定的数据库角色 public 维护全部默认许可 db owner 数据库的所有者 可以对所拥有的数据库执行任何操作 db accessadmin 可以增加或者删除数据库用户 工作组和角色 db addladmin 可以增加 删除和修改数据库中的任何对象 db securityadmin 执行语句许可和对象许可 db backupoperator 可以备份和恢复数据库 db datareader 能且仅能对数据库中的任何表执行select操作 从而读取所有表的信息 db datawriter 能够增加 修改和删除表中的数据 但不能进行select操作 db denydatareader 不能读取数据库中任何表中的数据 db denydatawriter 不能对数据库中的任何表执行增加 修改和删除数据操作 用户自定义角色 创建用户定义的数据库角色就是创建一组用户 这些用户具有相同的一组许可 如果一组用户需要执行在SQLServer中指定的一组操作并且不存在对应的WindowsNT组 或者没有管理WindowsNT用户帐号的许可 就可以在数据库中建立一个用户自定义的数据库角色 用户自定义的数据库角色有两种类型 即标准角色和应用程序角色 标准角色通过对用户权限等级的认定而将用户划分为不用的用户组 使用户总是相对于一个或多个角色 从而实现管理的安全性 标准角色和应用程序角色 应用程序角色是一种比较特殊的角色 当我们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存取数据库数据时 就应该考虑使用应用程序角色 当某一用户使用了应用程序角色时 他便放弃了已被赋予的所有数据库专有权限 他所拥有的只是应用程序角色被设置的角色 管理角色的方式 1 使用企业管理器管理角色2 使用存储过程管理角色 1 使用企业管理器管理角色 管理服务器角色打开企业管理器 展开指定的服务器 单击安全性文件夹 然后单击服务器角色图标 选择需要的选项 根据提示操作 管理数据库角色在企业管理器中 展开指定的服务器以及指定的数据库 然后用右键单击角色图标 从快捷菜单中选择新建数据库角色选项 则出现数据库角色属性 新建角色对话框 根据提示即可新建角色 2 使用存储过程管理角色 管理服务器角色在SQLServer中 管理服务器角色的存储过程主要有两个 sp addsrvrolemembersp dropsrvrolemember 系统存储过程sp addsrvrolemember可以将某一登录帐号加入到服务器角色中 使其成为该服务器角色的成员 其语法形式如下 sp addsrvrolememberlogin role 系统存储过程sp dropsrvrolemember可以将某一登录者从某一服务器角色中删除 当该成员从服务器角色中被删除后 便不再具有该服务器角色所设置的权限 其语法形式如下 sp dropsrvrolemember loginame login rolename role sp addrole 用来创建一个新的数据库角色sp addrolerole ownersp droprole 用于删除一个数据库角色sp droprolerolesp helprole 显示当前数据库所有的数据库角色的所有信息sp helprole role 管理数据库角色 sp addrolemember 向数据库某一角色中添加数据库用户sp addrolememberrole security accountsp droprolemember 用来删除某一角色的用户sp droprolememberrole security accountsp helprolemember 用于显示某一数据库角色的所有成员sp helprolemember role 管理数据库角色 53 数据库系统概论AnIntroductiontoDatabaseSystem第四章数据库安全性 54 数据库安全性 什么是数据库的安全性数据库的安全性是指保护数据库 防止因用户非法使用数据库造成数据泄露 更改或破坏 55 第四章数据库安全性 4 1计算机安全性概论4 2数据库安全性控制4 3视图机制4 4审计4 5数据加密4 6统计数据库安全性4 7小结 56 4 1计算机安全性概论 什么是计算机系统安全性为计算机系统建立和采取的各种安全保护措施 以保护计算机系统中的硬件 软件及数据 防止其因偶然或恶意的原因使系统遭到破坏 数据遭到更改或泄露等 返回 57 4 1 1计算机系统的三类安全性问题 三类计算机系统安全性问题技术安全类管理安全类政策法律类 返回 58 4 1 2安全标准简介 计算机以及信息安全技术方面的安全标准 TCSEC标准 trustedcomputersystemevaluationcriteria CC标准 commoncriteria 59 4 1 2安全标准简介 60 安全标准简介 续 TCSEC TDI trusteddatabaseinterpretation 标准的基本内容TCSEC TDI 从四个方面来描述安全性级别划分的指标安全策略责任保证文档 61 TCSEC TDI安全级别划分 TCSEC TDI安全级别划分 7级 可靠可信 62 安全标准简介 续 CC提出国际公认的表述信息技术安全性的结构把信息产品的安全要求分为安全功能要求安全保证要求 63 安全标准简介 续 CC文本组成简介和一般模型 术语 概念 模型 保护轮廓 PP 安全目标 ST 安全功能要求 功能组件 135 子类 66 类 11 安全保证要求 保证组件 74 子类 26 类 7 64 安全标准简介 续 CC评估保证级 EvaluationAssuranceLevel EAL 划分 65 第四章数据库安全性 4 1计算机安全性概论4 2数据库安全性控制4 3视图机制4 4审计4 5数据加密4 6统计数据库安全性4 7小结 66 图计算机系统中的安全模型 4 2数据库安全性控制 计算机系统中 安全措施是一级一级层层设置 67 数据库安全性控制概述 续 数据库安全性控制的常用方法用户标识和鉴定存取控制自主存取控制强制存取控制视图审计密码存储统计数据库的安全性 68 4 2数据库安全性控制 4 2 1用户标识与鉴别4 2 2存取控制4 2 3自主存取控制方法 DAC 4 2 4授权与回收4 2 5数据库角色4 2 6强制存取控制方法 MAC 返回 69 4 2 1用户标识与鉴别 用户标识与鉴别 Identification Authentication 系统提供的最外层安全保护措施常用方法用户标识口令 70 用户标识自己的名字或身份 用户名 口令简单易行口令容易被窃取每个用户预先约定好一个计算过程或者函数系统提供一个随机数用户根据自己预先约定的计算过程或者函数进行计算系统根据用户计算结果是否正确鉴定用户身份 返回 71 4 2 2存取控制 存取控制机制的功能存取控制机制的组成定义存取权限检查存取权限用户权限定义和合法权检查机制一起组成了DBMS的安全子系统 72 存取控制 续 常用存取控制方法自主存取控制 DiscretionaryAccessControl 简称DAC C2级 受控的存取保护 ControlledAccessProtection 灵活强制存取控制 MandatoryAccessControl 简称MAC B1级 B1标记安全保护 LabeledSecurityProtection 严格 73 4 2 3自主存取控制方法 通过SQL的GRANT语句和REVOKE语句实现用户权限组成数据对象操作类型定义用户存取权限 定义用户可以在哪些数据库对象上进行哪些类型的操作定义存取权限称为授权 74 自主存取控制方法 续 权限类型访问数据权限SELECT INSERT UPDATE DELETE REFERENCES ALLPRIVILEGES修改数据库模式的权限索引权限 创建删除索引视图权限 创建删除视图资源权限 创建 修改 删除关系 75 4 2 4授权 Authorization 与回收 一 GRANTGRANTON TO 用户 角色列表 WITHGRANTOPTION 语义为 将对指定数据库元素的指定操作权限授予指定的用户 76 GRANT 续 发出GRANT DBA数据库对象创建者 即属主Owner 拥有该权限的用户按受权限的用户一个或多个具体用户PUBLIC 全体用户 77 WITHGRANTOPTION子句 WITHGRANTOPTION子句 指定 可以再授予没有指定 不能传播不允许循环授权 78 例题 例1 把查询Student表权限授给用户U1GRANTSELECTONStudentTOU1 例2 把对Student表和Course表的全部权限授予用户U2和U3GRANTALLPRIVILEGESONStudent CourseTOU2 U3 79 例题 续 例3 把对表SC的查询权限授予所有用户GRANTSELECTONSCTOPUBLIC 例4 把查询Student表和修改学生学号的权限授给用户U4GRANTUPDATE Sno SELECTONStudentTOU4 对属性列的授权时必须明确指出相应属性列名 80 例题 续 例5 把对表SC中SNO CNO的INSERT权限授予U5用户 并允许他再将此权限授予其他用户GRANTINSERT SNO CNO ONSCTOU5WITHGRANTOPTION 81 传播权限 例6 GRANTINSERT SNO CNO ONSCTOU6WITHGRANTOPTION 例7 GRANTINSERT SNO CNO ONSCTOU7 但U7不能再传播此权限 例8 GRANTREFERENCES CNO ONCTOU6 82 授权 Authorization 与回收 续 二 REVOKEREVOKEONFROM CASCADE RESTRICT 83 REVOKE 续 例8 把用户U4修改学生学号的权限收回REVOKEUPDATE Sno ONStudentFROMU4 例9 收回所有用户对表SC的查询权限REVOKESELECTONSCFROMPUBLIC 84 REVOKE 续 例10 把用户U5对SC表的INSERT权限收回REVOKEINSERTONTABLESCFROMU5CASCADE 将用户U5的INSERT权限收回的时候必须级联 CASCADE 收回系统只收回直接或间接从U5处获得的权限 85 4 2 5数据库角色 数据库角色是被命名的一组与数据库操作相关的权限 是权限的集合 可为一组具有相同权限的用户创建一个角色使用角色来管理数据库权限可以简化授权的过程 86 数据库角色 续 一 角色的创建CREATEROLE刚创建的角色是空的 没有任何内容 可用GRANT为角色授权 二 给角色授权GRANTON TO 角色列表 DBA和用户可利用GRANT语句将权限授予某一个或几个角色 87 数据库角色 续 三 将一个角色授予其他的角色或用户GRANT TO WITHADMINOPTION 四 角色权限的收回REVOKEONFROM CASCADE RESTRICT 返回 88 数据库角色 续 例11 通过角色来实现将一组权限授予一个用户 步骤如下 1 首先创建一个角色R1CREATEROLER1 2 然后使用GRANT语句 使角色R1拥有Student表的SELECT UPDATE INSERT权限GRANTSELECT UPDATE INSERTONStudentTOR1 89 数据库角色 续 3 将这个角色授予王平 张明 赵玲 使他们具有角色R1所包含的全部权限GRANTR1TO王平 张明 赵玲 4 可以一次性通过R1来回收王平的这3个权限REVOKER1FROM王平 90 自主存取控制缺点 可能存在数据的 无意泄露 原因 这种机制仅仅通过对数据的存取权限来进行安全控制 而数据本身并无安全性标记解决 对系统控制下的所有主客体实施强制存取控制策略 91 4 2 6强制存取控制方法 基本思想对于每个数据对象赋予一定的密级 绝密 机密 秘密和公开对每个用户赋予相应的级别 称为许可证级别 系统运行时 采用以下两条原则 用户只能查看比它级别低或同级的数据用户只能修改和它同级的数据主要为了防止较高级别用户将该级别的数据复制到较低级别的文件中 92 强制存取控制方法 续 强制存取控制的特点MAC是对数据本身进行密级标记无论数据如何复制 标记与数据是一个不可分的整体只有符合密级标记要求的用户才可以操纵数据从而提供了更高级别的安全性 93 第四章数据库安全性 4 1计算机安全性概述4 2数据库安全性控制4 3视图机制4 4审计 Audit 4 5数据加密4 6统计数据库安全性4 7小结 94 4 3视图机制 视图机制把要保密的数据对无权存取这些数据的用户隐藏起来 视图机制与授权机制配合使用 首先用视图机制屏蔽掉一部分保密数据视图上面再进一步定义存取权限 95 视图机制 续 例14 建立计算机系学生的视图 把对该视图的SELECT权限授于王平先建立计算机系学生的视图CS StudentCREATEVIEWCS StudentASSELECTFROMStudentWHERESdept CS 在视图上进一步定义存取权限GRANTSELECTONCS StudentTO王平 96 第四章数据库安全性 4 1计算机安全性概论4 2数据库安全性控制4 3视图机制4 4审计4 5数据加密4 6统计数据库安全性4 7小结 97 4 4审计 什么是审计启用一个专用的审计日志 AuditLog 将用户对数据库的所有操作记录在上面DBA可以利用审计日志中的追踪信息 找出非法存取数据的人C2以上安全级别的DBMS必须具有审计功能 98 第四章数据库安全性 4 1计算机安全性概论4 2数据库安全性控制4 3视图机制4 4审计4 5数据加密4 6统计数据库安全性4 7小结 99 4 5数据加密 数据加密防止数据库中数据在存储和传输中失密的有效手段加密的基本思想把明文通过一定的变换 混拆 替换和重组 等方式变换成对应的密文 密文需要按加密的逆过程解密成明文后 才能理解其含义 100 101 数据加密 续 加密方法古典加密方法现代加密方法私钥加密 DES算法 computer dpnqvufs 102 数据加密 续 加密方法古典加密方法现代加密方法公钥加密 RSA算法 computer dpnqvufs 103 数据加密 续 DBMS中的数据加密有些数据库产品提供了数据加密例行程序有些数据库产品本身未提供加密程序 但提供了接口数据加密功能通常也作为可选特征 允许用户自由选择 104 第四章数据库安全性 4 1计算机安全性概论4 2数据库安全性控制4 3视图机制4 4审计4 5数据加密4 6统计数据库安全性4 7小结 105 4 6统计数据库安全性 统计数据库的特点允许用户查询聚集类型的信息 例如合计 平均值等 不允许查询单个记录信息 106 统计数据库安全性 续 例1 下面两个查询都是合法的 1 本公司共有多少女高级程序员 2 本公司女高级程序员的工资总额是多少 如果第一个查询的结果是 1 那么第二个查询的结果显然就是这个程序员的工资数 规则1 任何查询至少要涉及N N足够大 个以上的记录 107 统计数据库安全性 续 例2 用户A发出下面两个合法查询 1 用户A和其他N个程序员的工资总额是多少 2 用户B和其他N个程序员的工资总额是多少 若第一个查询的结果是X 第二个查询的结果是Y 由于用户A知道自己的工资是Z 那么他可以计算出用户B的工资 Y X Z 原因 两个查询之间有很多重复的数据项规则2 任意两个查询的相交数据项不能超过M个 108 统计数据库安全性 续 可以证明 在上述两条规定下 如果想获知用户B的工资额 A至少需要进行1 N 2 M次查询规则3 任一用户的查询次数不能超过1 N 2 M如果两个用户合作查询就可以使这一规定失效 109 统计数据库安全性 续 数据库安全机制的设计目标 试图破坏安全的人所花费的代价 得到的利益 返回 110 4 7小结 随着计算机网络的发展 数据的共享日益加强 数据的安全保密越来越重要DBMS是管理数据的核心 因而其自身必须具有一整套完整而有效的安全性机制 计算机及信息安全技术方面有影响力的标准TCSECCC 111 小结 续 实现数据库系统安全性的技术和方法存取控制技术视图技术审计技术自主存取控制功能通过SQL的GRANT语句和REVOKE语句实现角色使用角色来管理数据库权限可以简化授权过程CREATEROLE语句创建角色GRANT语句给角色授权 返回
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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