




已阅读5页,还剩87页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第14章安全管理 14 1安全控制概述14 2登录帐户管理14 3数据库用户管理14 4数据库用户权限管理14 5角色 14 1安全控制概述 安全性问题的提出数据库安全性概念计算机系统安全性层次数据库安全控制模型SQLServer安全控制过程SQLServer用户分类 问题的提出 数据库的一大特点是数据可以共享数据共享必然带来数据库的安全性问题数据库系统中的数据共享不能是无条件的共享例 军事秘密 国家机密 新产品实验数据 市场需求分析 市场营销策略 销售计划 客户档案 医疗档案 银行储蓄数据 数据库安全性概念 数据库的安全性是指保护数据库 防止因用户非法使用数据库造成数据泄露 更改或破坏 数据库系统中的数据共享必须是在DBMS统一的严格的控制之下 只允许有合法使用权限的用户访问允许他存取的数据 计算机系统安全性层次 物理层 计算机系统在物理硬件上的安全性保护 操作系统层 操作系统本身提供的安全性保护措施 网络层 网络安全控制机制 数据库系统层 数据库系统应该有完善的访问控制机制 检查数据库用户的合法性以及数据库操作权限 数据层 直接对数据加密 数据库安全控制模型 数据库安全控制 数据库系统层安全性保护措施 身份认证 系统内部记录着所有合法用户的标识 每次用户要求进入系统时 由系统将用户提供的身份标识与系统内部记录的合法用户标识进行核对 通过鉴定后才提供系统使用权 操作权限控制 对于通过鉴定获得系统使用权的用户 即合法用户 系统根据他的存取权限定义对他的各种操作请求进行控制确保他只执行合法操作 SQLServer安全控制过程 SQLServer用户的安全验证过程 一个用户如果要访问SQLServer数据库中的数据 他必须要经过三个认证过程 第一个认证过程是身份验证 这使用登录账号来标识用户 身份验证只验证用户连接到SQLServer数据库服务器的资格 即验证该用户是否具有连接到数据库服务器的 连接权 第二个认证过程是当用户访问数据库时 他必须具有对具体数据库的访问权 即验证用户是否是数据库的合法用户 第三个认证过程是当用户操作数据库中的数据或对象时 他必须具有所要进行的数据库数据操作的操作权 即验证用户是否具有操作许可 三个安全认证过程图示 SQLServer用户分类 根据用户登录层次分类根据用户操作权限分类 根据用户登录层次分类 分为SQLServer登录用户和数据库用户只有先成为合法的SQLServer登录用户 才有可能成为合法的数据库用户 登录用户 loginuser 数据库用户 databaseuser 从用户操作权限角度分类 数据库中的用户按其操作权限的大小可分为如下三类 数据库系统管理员 数据库系统管理员 在SQLServer中为sa 在数据库中具有全部的权限 当用户以系统管理员身份进行操作时 系统不对其权限进行检验 数据库对象拥有者 创建数据库对象的用户即为数据库对象拥有者 数据库对象拥有者对其所拥有的对象具有一切权限 数据库访问用户 数据库访问用户只具有对数据库数据的增 删 改 查权 14 2登录帐户管理 SQLServer有三个默认的用户登录帐号sa 拥有全部系统权限和数据库权限administrators builtin SQLServer提供给Windows的系统管理员帐户Guest 默认的普通用户帐户系统管理员的工作建立新的登录用户修改登录密码删除登录用户 SQLServer的帐户验证模式 帐户验证是用来确认登录SQLServer的用户登录帐号和密码的正确性 由此来验证其是否具有连接SQLServer的权限 SQLServer提供了两种确认用户的验证模式 Windows身份验证模式仅允许授权的Windows用户访问SQLServer混合身份验证模式仅允许授权的Windows用户和非Windows用户访问SQLServer 连接SQLServer服务器的过程 设置登录验证模式方法 在安装SQLServer时设置验证模式在企业管理器中设置验证模式 在安装SQLServer时设置验证模式 在企业管理器中设置验证模式 验证模式选择 建立新的登录帐户 通过企业管理器新建登录用户利用系统存储过程sp addlogin新建登录用户 新的登录用户user1 修改登录密码 输入新密码 确认新密码 用T SQL语句建立登录帐户 CREATELOGINlogin name WITH FROM WINDOWS WITH PASSWORD password SID sid DEFAULT DATABASE database DEFAULT LANGUAGE language DEFAULT DATABASE database DEFAULT LANGUAGE language 2020年2月18日3时13分 30 示例 例1 创建SQLServer身份验证的登录帐户 登录名为 SQL User2 密码为 a1b2c3XY CREATELOGINSQL User2WITHPASSWORD a1b2c3XY 2020年2月18日3时13分 31 示例 例2 创建Windows身份验证的登录帐户 从Windows域帐户创建 HYJ Win User2 登录帐户 CREATELOGIN HYJ Win User2 FROMWINDOWS 2020年2月18日3时13分 32 示例 例3 创建SQLServer身份验证的登录帐户 登录名为 SQL User3 密码为 AD4h9fcdhx32MOP 要求该登录帐户首次连接服务器时必须更改密码 CREATELOGINSQL User3WITHPASSWORD AD4h9fcdhx32MOP MUST CHANGE 2020年2月18日3时13分 33 删除登录用户 删除登录帐户的T SQL语句 DROPLOGINlogin name不能删除正在使用的登录帐户 也不能删除拥有任何数据库对象 服务器级别对象的登录帐户 例4 删除SQL User2登录帐户 DROPLOGINSQL User2 2020年2月18日3时13分 35 14 3数据库用户管理 数据库用户管理概述数据库管理员的工作创建数据库的用户删除数据库的用户 略 数据库用户管理概述 用户具有了登录账号之后 他只能连接到SQLServer服务器上 但不具有访问任何数据库的能力 只有成为了数据库的合法用户后 才能访问此数据库 数据库的用户只能来自于服务器上已有的登录账号 让登录账号成为数据库的用户就称为 映射 一个登录账号可以映射为多个数据库中的用户 管理数据库用户的过程实际上就是建立登录账号与数据库用户之间的映射关系的过程 默认情况下 新建立的数据库只有一个用户 就是 dbo 它是数据库的拥有者 授权登录用户为数据库用户 方法一 在企业管理器 安全性 中创建数据库用户方法二 在数据库 用户 对象中创建数据库用户方法三 利用系统存储过程sp grantdbaccess创建数据库用户 在 安全性 中创建数据库用户 查看新建的数据库用户 在数据库 用户 中创建数据库用户 查看新建的数据库用户 用T SQL语句建立数据库用户 CREATEUSERuser name FOR FROM LOGINlogin name user name 指定在此数据库中用于识别该用户的名称 LOGINlogin name 指定要映射为数据库用户的SQLServer登录名 如果省略FORLOGIN 则新的数据库用户将被映射到同名的SQLServer登录名 2020年2月18日3时13分 45 示例 例5 让SQL User2登录帐户成为students数据库中的用户 并且用户名同登录名 USEstudents GOCREATEUSERSQL User2 2020年2月18日3时13分 46 示例 例6 本示例首先创建名为SQL JWC且具有密码的SQLServer身份验证的服务器登录名 然后在students数据库中创建与此登录帐户对应的数据库用户JWC CREATELOGINSQL JWCWITHPASSWORD jKJl3 nN09jsK84 GOUSEstudents GOCREATEUSERJWCFORLOGINSQL JWC 2020年2月18日3时13分 47 14 3 3删除数据库用户 DROPUSERuser name例7 删除SQL User2用户 DROPUSERSQL User2 2020年2月18日3时13分 48 14 4数据库用户权限管理 权限管理概述权限种类权限管理的内容使用企业管理器管理权限使用Transact SQL管理权限 权限管理概述 当用户成为数据库中的合法用户之后 他除了具有一些系统表的查询权之外 并不对数据库中的对象具有任何操作权 因此 下一步就需要为数据库中的用户授予数据库的操作权 实际上将登录账号映射为数据库用户的目的也是为了方便对用户授予数据库对象的操作权 权限种类 在SQLServer2000中 权限分为对象权限 语句权限和隐含的权限三种 对象权限 对象权限是指用户对数据库中的表 视图等对象的操作权 例如是否允许查询 增加 删除和修改数据等 语句权限 这种权限专指是否允许执行下列语句 CREATETABLE CREATEVIEW等与创建数据库对象有关的操作 隐含权限 隐含权限是指由SQLServer预定义的服务器角色 数据库角色 数据库拥有者和数据库对象拥有者所具有的权限 隐含权限相当于内置权限 不需要再明确地授予这些权限 例如 数据库拥有者自动地拥有对数据库进行一切操作的权限 对象权限 ALTER 具有更改特定数据库对象属性的权限 DELETE INSERT UPDATE和SELECT 具有对表和视图数据进行删除 插入 更改和查询的权限 其中UPDATE和SELECT可以对表或视图的单个列进行授权 EXECUTE 具有执行存储过程的权限 REFERENCES 具有通过外键引用其他表的权限 2020年2月18日3时13分 52 语句权限 CRAETETABLE 创建表的权限 CREATEVIEW 创建视图的权限 CREATEPROCEDURE 创建存储过程的权限 CREATEFUNCTION 创建函数的权限 2020年2月18日3时13分 53 14 4 2权限管理 权限的管理包含如下三个内容 授予权限 允许用户或角色具有某种操作权 收回权限 不允许用户或角色具有某种操作权 或者收回曾经授予的权限 禁止权限 拒绝访问 拒绝某用户或角色具有某种操作权 既使用户或角色由于继承而获得这种操作权 也不允许执行相应的操作 管理权限可以使用企业管理器实现 也可以使用Transact SQL语句实现 使用企业管理器管理权限 使用企业管理器管理对象权限使用企业管理器管理语句权限 使用企业管理器管理对象权限 仓库管理数据库中的user1用户 权限标记说明 授予权限 若要授予用户对某个对象 表 视图 存储过程 的操作权 表和视图为 SELECT INSERT UPDATE DELETE 存储过程为 EXEC 可单击相应的方框 使其中出现 标记 禁止权限 若要拒绝此用户对某个对象的操作权 可单击相应的方框 使其中出现 标记 收回权限 若要收回此用户对某个对象的操作权 可单击相应的方框 使其方框成为空的 使用企业管理器管理语句权限 使用Transact SQL语句管理权限 管理权限语句在SQL语言中属于数据控制语句 DCL 在Transact SQL语句中 用于管理权限的语句有三个 GRANT语句 用于授权 允许用户或角色具有某种操作权 REVOKE语句 用于收回权限 不允许用户或角色具有某种操作权 或者收回曾经授予的权限 DENY语句 用于禁止权限 拒绝某用户或角色具有某种操作权 既使用户或角色由于继承而获得这种操作权 也不允许执行相应的操作 使用Transact SQL语句管理对象权限 授予对象权限收回 撤消 对象权限禁止 拒绝 对象权限 授予对象权限语句 GRANT对象权限名 ON 表名 视图名 存储过程名 TO 数据库用户名 用户角色名 其中 对象权限名可以是ALL SELECT INSERT UPDATE DELETE和EXECUTE等 例 为用户user1授予仓库表的查询权 GRANTSELECTON仓库TOuser1例 为用户user1授予职工表的查询权和插入权 GRANTSELECT INSERTON职工TOuser1 收回对象权限语句 REVOKE对象权限名 ON 表名 视图名 存储过程名 FROM 数据库用户名 用户角色名 例 收回用户user1对职工表的查询权 REVOKESELECTON职工FROMuser1 禁止对象权限语句 DENY对象权限名 ON 表名 视图名 存储过程名 TO 数据库用户名 用户角色名 例 禁止user1用户具有职工表的更改权 DENYUPDATEON职工TOuser1 使用Transact SQL语句管理语句权限 授权语句GRANT语句权限名 TO 数据库用户名 用户角色名 收权语句REVOKE语句权限名 FROM 数据库用户名 用户角色名 拒绝权限DENY语句权限名 TO 数据库用户名 用户角色名 语句权限名可以是 BACKUPDATABASEBACKUPLOGCREATEDATABASECREATEDEFAULTCREATEFUNCTIONCREATEPROCEDURECREATERULECREATETABLECREATEVIEW 例 授予user1具有创建数据库表的权限 GRANTCREATETABLETOuser1例 授予user1和user2具有创建数据库表和视图的权限 GRANTCREATETABLE CREATEVIEWTOuser1 user2例 收回授予user1创建数据库表的权限 REVOKECREATETABLEFROMuser1例 拒绝user1创建视图的权限 DENYCREATEVIEWTOuser1 14 5数据库用户角色 角色概念与分类管理服务器角色管理数据库角色 角色概念与分类 在数据库中 为便于对用户及权限的管理 可以将一组具有相同权限的用户组织在一起 这一组具有相同权限的用户就称为角色 Role 在SQLServer2000中 角色分为固定的系统角色和用户自定义的角色 系统角色又分为固定的服务器角色和固定的数据库角色 服务器角色是为整个服务器设置的 而数据库角色是为具体的数据库设置的 用户自定义的角色属于数据库一级的角色 用户自定义的数据库角色有两种类型 即标准角色和应用程序角色 管理数据库角色 使用企业管理器管理数据库角色使用系统存储过程管理数据库角色 使用企业管理器管理数据库角色 显示固定的数据库角色管理自定义的数据库标准角色建立自定义的应用程序角色 显示固定的系统数据库角色 管理自定义的数据库标准角色 创建数据库标准角色为自定义的角色授权添加自定义角色的成员删除自定义角色的成员 略 创建数据库标准角色 输入角色名 说明 也可暂不添加用户 新角色 为自定义的角色授权 单击 添加自定义角色的成员 单击 建立用户定义的角色 CREATEROLErole name AUTHORIZATIONowner name role name 待创建角色的名称 AUTHORIZATIONowner name 将拥有新角色的数据库用户或角色 如果未指定用户 则执行CREATEROLE的用户将拥有该角色 2020年2月18日3时13分 87 示例 例1 创建用户自定义角色 CompDept 拥有者为创建该角色的用户 CREATEROLECompDept 例2 创建用户自定义角色 InfoDept 拥有者为SQL User1 CREATEROLEInfoDeptAUTHORIZATIONSQL User1 2020年2月18日3时13分 88 为用户定义的角色授权 使用SQL语句实现对用户角色的授权与为数据库用户授权完全一样 例3 为Software角
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新解读《GB-T 30691-2014输送带 试验环境和状态调节时间》
- 重复专利侵权培训课件
- 老年人知识培训内容课件
- 老年人的思维特征课件
- 《美国文学史及选读》课程介绍与教学大纲
- 社会科学研究方法 课件 第八章 定量文献研究
- 老年人消防知识安全培训课件
- 老年人洗澡课件
- 考拉跳木头互动游戏
- CN120204903A 一种具有防逆流作用的分流装置
- 2025-2030电动船舶电池系统安全标准构建与产业链配套能力报告
- 数字时代群体冲突演变-洞察及研究
- 2025秋新部编版一年级上册语文教学计划+教学进度表
- 2025年公安辅警招聘知识考试题(附答案)
- (标准)便利店转让合同协议书带烟证
- 廉洁文化知识试题(含答案)
- 2025《地方资产管理公司监督管理暂行办法》解读课件
- 2025年中国PC工业计算机(工控机)数据监测研究报告
- (2025)社区网格员笔试考试题库及答案
- 儿童学针灸启蒙课件
- 2025年中航油招聘笔试参考题库附带答案详解
评论
0/150
提交评论