已阅读5页,还剩65页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AnIntroductiontoDatabaseSystem 河南工业大学计算机系 数据库系统概论AnIntroductiontoDatabaseSystem第四章数据库安全性 AnIntroductiontoDatabaseSystem 第四章数据库安全性 4 1计算机安全概述4 2数据库安全控制4 3视图机制4 4审计4 5数据加密4 6统计数据安全性4 7小结 AnIntroductiontoDatabaseSystem 4 1计算机安全概述 了解 自学 计算机系统安全DB安全性 保护数据库 防止不合法的使用所造成的数据泄露和破坏 AnIntroductiontoDatabaseSystem 4 2数据库安全控制 4 2 1用户标识与鉴别由系统提供的最外层安全保护措施用户标识 口令 其它措施4 2 2存取控制定义用户权限 并将用户权限登记到数据字典中 合法权限检查二者共同构成了DBMS的安全子系统 AnIntroductiontoDatabaseSystem 4 2 3自主存取控制 DAC 方法受到广泛支持通过SQL的GRANT语句和REVOKE语句实现 权限 与 授权 权限 数据库对象 操作类型授权 定义权限 AnIntroductiontoDatabaseSystem 4 2 4授权与回收 AnIntroductiontoDatabaseSystem 一 授权 GRANT语句的一般格式 GRANT ON TO WITHGRANTOPTION 谁定义 DBA 表的建立者 即表的属主 拥有该权限的用户 AnIntroductiontoDatabaseSystem 用户的权限 DBA授予 普通用户基本表或视图的属主拥有对该表或视图的一切操作权限接受权限的用户 一个或多个具体用户PUBLIC 全体用户 AnIntroductiontoDatabaseSystem WITHGRANTOPTION子句 指定了WITHGRANTOPTION子句 获得某种权限的用户还可以把这种权限再授予别的用户 没有指定WITHGRANTOPTION子句 获得某种权限的用户只能使用该权限 不能传播该权限 AnIntroductiontoDatabaseSystem 例题 例1把查询Student表权限授给用户U1GRANTSELECTONTABLEStudentTOU1 AnIntroductiontoDatabaseSystem 例题 续 例2把对Student表和Course表的全部权限授予用户U2和U3GRANTALLPRIVILIGESONTABLEStudent CourseTOU2 U3 例4 AnIntroductiontoDatabaseSystem 例题 续 例3把对表SC的查询权限授予所有用户GRANTSELECTONTABLESCTOPUBLIC AnIntroductiontoDatabaseSystem 例题 续 例4把查询Student表和修改学生学号的权限授给用户U4GRANTUPDATE Sno SELECTONTABLEStudentTOU4 AnIntroductiontoDatabaseSystem 例题 续 例5把对表SC的INSERT权限授予U5用户 并允许他再将此权限授予其他用户GRANTINSERTONTABLESCTOU5WITHGRANTOPTION AnIntroductiontoDatabaseSystem 传播权限 执行例5后 U5不仅拥有了对表SC的INSERT权限 还可以传播此权限 GRANTINSERTONTABLESCTOU6WITHGRANTOPTION 同样 U6还可以将此权限授予U7 GRANTINSERTONTABLESCTOU7 但U7不能再传播此权限 U5 U6 U7 AnIntroductiontoDatabaseSystem 二 SQL收回权限的功能 REVOKE语句的一般格式为 REVOKE ON FROM 功能 从指定用户那里收回对指定对象的指定权限 AnIntroductiontoDatabaseSystem 例题 例7把用户U4修改学生学号的权限收回REVOKEUPDATE Sno ONTABLEStudentFROMU4 AnIntroductiontoDatabaseSystem 例题 续 例8收回所有用户对表SC的查询权限REVOKESELECTONTABLESCFROMPUBLIC AnIntroductiontoDatabaseSystem 例题 续 例9把用户U5对SC表的INSERT权限收回REVOKEINSERTONTABLESCFROMU5 AnIntroductiontoDatabaseSystem 权限的级联回收 系统将收回直接或间接从U5处获得的对SC表的INSERT权限 U5 U6 U7收回U5 U6 U7获得的对SC表的INSERT权限 U5 U6 U7 AnIntroductiontoDatabaseSystem 4 2 5数据库角色 角色被命名的一组与数据库操作相关的权限 简化授权过程 AnIntroductiontoDatabaseSystem 4 2 6强制存取控制 MAC 方法 DAC方法虽然灵活 但是安全性程度较低 MAC 系统为了保证更高的安全性 按照TDI TCSEC标准中安全策略的要求 所采取的强制存取检查手段 AnIntroductiontoDatabaseSystem 4 3视图机制通过视图 把保密数据隐藏起来 以控制存取 4 4审计 Audit 把用户对数据库的所有操作记录下来放入审计日志 AuditLog 用于安全性要求较高的部门 AnIntroductiontoDatabaseSystem 4 5数据加密防止数据在存储和传输时失密的手段 明文 和 密文 4 6统计数据库安全性统计数据库存在安全隐患没有万能的安全性机制 AnIntroductiontoDatabaseSystem 补充 SQLServer2000安全管理 AnIntroductiontoDatabaseSystem 内容 SQLServer安全模型SQLServer访问控制角色的概念权限管理 AnIntroductiontoDatabaseSystem 合理有效的数据库安全机制可以既保证被授权用户能够方便地访问数据库中的数据 又能够防止非法用户的入侵 SQLServer2000提供了一套设计完善 操作简单的安全管理机制 AnIntroductiontoDatabaseSystem SQLServer安全模型 1 服务器安全管理 2 数据库安全管理 3 数据库对象的安全管理 一 安全模型及其访问控制 AnIntroductiontoDatabaseSystem 二 SQLServer身份验证模式 安全帐户验证是用来确认登录SQLServer的用户的登录帐号和密码的正确性 由此来验证其是否具有连接SQLServer的权限 SQLServer2000提供了两种确认用户的验证模式 一 WindowsNT验证模式 二 混合验证模式 AnIntroductiontoDatabaseSystem 11 2服务器的安全性 一 创建或修改登录账户在企业管理器下创建使用Windows身份验证的登录账户 在企业管理器下创建使用SQLServer身份验证的登录账户 使用SQL语句创建两种登录账户EXECsp addlogin 登录名 登录密码 默认数据库 默认语言 AnIntroductiontoDatabaseSystem 二 禁止或删除登录账户 使用企业管理器禁止Windows身份验证的登录账户 EXECsp droplogin Arwen 使用企业管理器删除登录账户 使用SQL语句禁止和删除Windows身份验证的登录账户 EXECsp denylogin Arwen EXECsp revokelogin Arwen 使用SQL语句删除SQLServer登录账户 AnIntroductiontoDatabaseSystem 无论是Windows账户还是SQL账户 登录数据库服务器后的其他操作都是相同的 但首先他必须获得对数据库的访问权 SQLServer2000通过为登录账户指派数据库用户来使其获得对数据库的访问权限 11 3数据库的安全性 AnIntroductiontoDatabaseSystem 一 使用企业管理器管理数据库用户1 新建数据库用户2 删除数据库用户 AnIntroductiontoDatabaseSystem 二 使用T SQL语句管理数据库用户使用系统存储过程可以在当前数据库中管理数据库用户 1 新建数据库用户命令格式 sp grantdbaccess loginame login name in db name in db AnIntroductiontoDatabaseSystem 命令说明 1 login 为登录账户的登录名 当其为Windows账户名时 须采用 域名 登录名 格式 当其为SQL账户名时 采用 登录名 格式 2 name in db 表示在当前数据库中为该登录账户所指定的数据库用户的用户名 省略该参数 则默认登录名与用户名相同 AnIntroductiontoDatabaseSystem 2 删除数据库用户命令格式 sp revokedbaccess name in db name 命令说明 name为当前数据库中要删除的用户名 AnIntroductiontoDatabaseSystem 三 特殊的数据库用户dbo和guestSQLServer2000数据库中有2个特殊用户 dbo和guest 1 dbo在创建一个数据库时 SQLServer2000自动将创建该数据库的登录账户设置为该数据库的一个用户 并起名为dbo dbo是数据库的拥有者 不能从数据库中删除 dbo对本数据库拥有所有操作权限 并可以将这些权限全部或部分授予其他数据库用户 AnIntroductiontoDatabaseSystem 2 guest当一个登录者登录数据库服务器时 如果该服务器上的所有数据库都没有为其建立用户账户 则该登录者只能访问那些具有guest用户的数据库 系统数据库Master与tempdb中的guest用户不能被删除 而其他数据库中的guest用户可以被添加或删除 AnIntroductiontoDatabaseSystem 11 4角色管理 角色是向用户分配系统特权的主要方式 每个角色代表一定操作权限的集合 SQLServer角色包括 服务器角色数据库角色 AnIntroductiontoDatabaseSystem 一 固定角色固定角色按其权限作用范围可以分为固定服务器角色与固定数据库角色 其作用范围分别为整个数据库服务器与单个数据库 这些角色不能修改或删除 AnIntroductiontoDatabaseSystem 1 固定服务器角色SQLServer2000的服务器角色只有固定服务器角色 用于对数据库服务器的操作 对数据库服务器操作的权限不能直接赋给其他登录账户 只能使某些登录账户成为固定服务器角色的成员 才能使他们具有这些权限 SQLServer2000具有如下固定服务器角色 演示 AnIntroductiontoDatabaseSystem 2 固定数据库角色SQLServer2000中的数据库角色用于对单个数据库的操作 每个数据库都有一系列固定数据库角色 尽管在不同的数据库内他们是同名的 但各自的作用范围都仅限于本数据库 SQLServer2000具有如下固定数据库角色 演示 AnIntroductiontoDatabaseSystem 二 自定义的数据库角色数据库角色除了固定角色外 还有一种角色是用户定义的数据库角色 这种角色是在SQLServer2000安装之后根据需要设置的 因此可以创建 修改或删除 它们通常由sysadmin db securityadmin db owner等固定角色中的成员创建 AnIntroductiontoDatabaseSystem 1 利用企业管理器创建和删除用户定义的数据库角色 AnIntroductiontoDatabaseSystem 2 创建自定义的数据库角色创建用户定义的数据库角色需要调用系统存储过程sp addrole 语法如下 命令格式 sp addrole rolename role AnIntroductiontoDatabaseSystem 命令说明 1 role表示要在当前数据库中创建的角色名称 2 owner表示该角色的所有者 默认值为数据库的所有者dbo AnIntroductiontoDatabaseSystem 3 从当前数据库删除用户定义的角色删除角色需要调用系统存储过程 命令格式 sp droprole rolename role 命令说明 role为将要从当前数据库中删除的角色的名称 AnIntroductiontoDatabaseSystem 注意 1 不能删除固定角色及public角色 2 使用sp droprole只能删除标准角色中的自定义角色 不能删除应用程序角色 若要删除应用程序角色 须使用sp dropapprole 3 不能删除带有成员的角色 在删除角色之前 首先必须从该角色中删除其所有成员 4 只有sysadmin固定服务器角色 db owner和db securityadmin固定数据库角色成员或角色的所有者才能执行sp droprole AnIntroductiontoDatabaseSystem 4 特殊的数据库角色public在SQLServer2000的每个数据库中 包括master msdb tempdb model和所有用户数据库 都有一个特殊的数据库角色public 它能够捕获数据库中用户的所有默认权限 public无法删除 每个数据库用户都自动属于该角色的成员 AnIntroductiontoDatabaseSystem 三 角色成员管理角色成员管理包括将登录账户 数据库用户或其他角色添加为一个角色的成员以及删除角色成员 可以利用系统存储过程或企业管理器管理角色成员 1 管理服务器角色的成员服务器角色的成员均为登录账户 管理服务器角色的成员就是将登录账户添加为固定服务器角色成员或删除之 AnIntroductiontoDatabaseSystem 1 利用系统存储过程将登录账户添加为固定服务器角色的成员命令格式 sp addsrvrolemember loginame login rolename role 命令说明 login是添加到固定服务器角色的登录账户名称 可以是Windows或SQL账户 AnIntroductiontoDatabaseSystem 2 利用系统存储过程从固定服务器角色中删除成员命令格式 sp dropsrvrolemember loginame login rolename role 命令说明 login是将要从固定服务器角色成员中删除的登录账户的名称 login必须存在 role固定服务器角色的名称 AnIntroductiontoDatabaseSystem 2 管理数据库角色的成员数据库角色的成员均为数据库用户或其他数据库角色 管理数据库角色的成员就是将数据库用户 或其他数据库角色 添加为数据库角色成员或删除之 AnIntroductiontoDatabaseSystem 1 利用系统存储过程添加数据库角色的成员命令格式 sp addrolemember rolename role membername security account 命令说明 role是当前数据库中数据库角色名称 包括固定数据库角色与用户定义数据库角色 security account是拟添加到该数据库角色的数据库用户或其他用户定义的数据库角色名称 AnIntroductiontoDatabaseSystem 2 利用系统存储过程删除数据库角色的成员命令格式 sp droprolemember rolename role membername security account 命令说明 role为将要从中删除成员的数据库角色的名称 security account为将要从角色中删除的数据库用户或另一个角色的名称 AnIntroductiontoDatabaseSystem 3 利用企业管理器管理服务器角色成员和数据库角色成员 AnIntroductiontoDatabaseSystem 13 5管理权限 一个登录者若要对某个数据库进行修改或访问 必须具有相应的权限 这种权限涉及服务器级与数据库级的操作 权限既可以直接获得 也可以通过成为角色成员而继承角色的权限 管理权限包括授予 拒绝和废除权限 AnIntroductiontoDatabaseSystem 一 权限的种类权限分为三种 对象权限 语句权限和隐含权限 1 对象权限对象权限指对已存在的数据库对象的操作权限 包括对数据库对象的SELECT INSERT UPDATE DELETE和EXECUTE权限 AnIntroductiontoDatabaseSystem 2 语句权限语句权限用于创建数据库或数据库对象所涉及的活动 3 隐含权限隐含权限控制那些只能由固定角色的成员或数据库对象所有者执行的活动 AnIntroductiontoDatabaseSystem 二 权限的管理权限管理指对于用户或角色的某些操作赋予允许权限 拒绝权限 以及废除权限 1 允许权限 GRANT 表示用户或角色能够执行某项操作 2 拒绝权限 DENY 表示用户或角色不能执行某项操作 也称禁止权限 3 废除权限 REVOKE 表示废除以前用户或角色所具有的允许权限或拒绝权限 AnIntroductiontoDatabaseSystem 一 使用企业管理器管理权限在企业管理器中管理语句权限与对象权限的方法不同 语句权限是在数据库一级进行 对象权限是在数据库对象一级进行 1 使用企业管理器管理用户权限2 使用企业管理器管理角色权限3 使用企业管理器管理语句权限4 使用企业管理器管理对象权限 AnIntroductiontoDatabaseSystem 二 使用企业管理器管理权限1 语句权限的管理使用T SQL允许 拒绝或废除语句权限的语法如下 命令格式 GRANT DENY REVOKE ALL statement n TOsecurity account n AnIntroductiontoDatabaseSystem 命令说明 1 GRANT DENY REVOKE分别表示允许 拒绝和废除语句权限的操作 2 ALL表示针对所有语句权限的设置 只有sysadmin成员有权使用ALL 3 statement表示被允许 拒绝或废除语句权限的语句 包括9个语句 CREATEDATABASE CREATEDEFAULT CREATEFUNCTION CREATEPROCEDURE CREATERULE CREATETABLE CREATEVIEW BACKUPDATABASE BACKUPLOG AnIntroductiontoDatabaseSystem 4 n 表示同时可以处理多个语句的权限 5 security account表示当前数据库内将要被设置权限的登录账户 数据库用户或角色 AnIntroductiontoDatabaseSystem 2 对象权限的管理使用T SQL允许 禁止或废除对象权限的语法如下 命令格式 GRANT DENY REVOKE ALL PRIVILEGES permission n column n O
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年铁路营业线施工安全培训考试试题及答案
- 2025企业经营借款合同合同样本及注意事项(合同协议范本)
- 2025年兰州地铁服务员岗位练习题及答案
- 2025工程合同权益转让协议样本
- 2025电梯租赁协议高空作业
- 2025年下半年吉林通化县人民政府政务大厅招聘综合窗口人员30人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年吉林省长春莲花山生态旅游度假区事业单位面向社会招聘7人(2号)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年吉林省气象局直属单位招聘全日制普通应届高校毕业生易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年台州市农业科学研究院招考人员(下半年)易考易错模拟试题(共500题)试卷后附参考答案
- 2025年下半年厦门翔安区市政市容环境卫生管理处职业见习生招考易考易错模拟试题(共500题)试卷后附参考答案
- 国家一等奖《纪念刘和珍君》教学设计
- 咏史完整版本
- 汉字笔画练习字帖
- 塔磨机安全操作规程
- 消防水泵房巡检签到表
- 公会之间挂靠主播合作协议书
- 实验三基因组序列分析
- 2022年澄迈县辅警招聘笔试试题及答案解析
- 小学语文人教三年级上册 童话中有趣的角色
- 2022年临沧边境经济合作区国有资本投资运营有限公司招聘笔试试题及答案解析
- 思想道德与法治课件:第六章 第三节 维护宪法权威
评论
0/150
提交评论