




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第12章数据库的安全管理 本章内容 12 1事务12 2SQLServer的安全机制12 3SQLServer的权限管理 12 1事务 第11章数据库的安全管理 12 1 1事务特性12 1 2事务管理 12 1事务 第11章数据库的安全管理 事务是作为单个逻辑工作单元执行的一系列操作 事务处理可以确保只有在事务性单元内的所有操作都成功完成的情况下 才会永久更新面向数据的资源 通过将一组相关操作组合为一个或者全部成功或者全部失败的单元 可以简化错误恢复并使应用程序更加可靠 12 1 1事务特性 第11章数据库的安全管理 每一个事务都具有原子性 一致性 隔离性和持久性 也称为事务的ACID属性 1 原子性 2 一致性 3 隔离性 4 持久性 12 1 1事务管理 第11章数据库的安全管理 应用程序主要通过指定事务启动和结束的时间来控制事务 可以使用Transact SQL语句或数据库应用程序编程接口 API 函数来指定这些时间 系统还必须能够正确处理那些在事务完成之前便终止事务的错误 1 事务类型 第11章数据库的安全管理 在SQLServer中有三种事务类型 分别是隐式事务 显式事务 自动提交事务 缺省为自动提交 1 自动提交事务自动提交事务是指对于用户发出的每条Transact SQL语句 SQLServer都会自动开始一个SQLServer事务 并且在执行后自动进行提交操作来完成这个事务 也可以说在这种事务模式下 一个Transact SQL语句就是一个事务 第11章数据库的安全管理 2 显式事务显式事务是指在自动提交模式下以BEGINTRANSACTION开始一个SQLServer事务 以COMMIT或ROLLBACK结束一个SQLServer事务 以Commit结束事务是把SQLServer事务中的修改永久化 即使这时发生断电这样的故障 3 隐式事务隐式事务是指在当前会话中用SETIMPLICIT TRANSACTIONSON命令设置的事务类型 这时任何DML语句 DELETE UPDATE INSERT 都会开始一个事务 而事务的结束也是用COMMIT或ROLLBACK 2 启动和技术事务 第11章数据库的安全管理 使用API函数和Transact SQL语句 可以在SQLServerDatabaseEngine实例中将事务作为显式 自动提交或隐式事务启动和结束 1 显式事务显式事务就是可以显式地在其中定义事务的开始和结束的事务 BEGINTRANSACTION 标记显式连接事务的起始点 COMMITTRANSACTION或COMMITWORK 如果没有遇到错误 可使用该语句成功地结束事务ROLLBACKTRANSACTION或ROLLBACKWORK 用来清除遇到错误的事务 2 自动提交模式 第11章数据库的安全管理 自动提交模式是SQLServerDatabaseEngine的默认事务管理模式 每个Transact SQL语句在完成时 都被提交或回滚 如果一个语句成功地完成 则提交该语句 如果遇到错误 则回滚该语句 只要没有显式事务或隐式事务覆盖自动提交模式 与数据库引擎实例的连接就以此默认模式操作 3 隐式事务 第11章数据库的安全管理 当连接以隐式事务模式进行操作时 SQLServerDatabaseEngine实例将在提交或回滚当前事务后自动启动新事务 无需描述事务的开始 只需提交或回滚每个事务 隐式事务模式生成连续的事务链 3 事务处理过程中的错误 第11章数据库的安全管理 如果某个错误使事务无法成功完成 SQLServer会自动回滚该事务 并释放该事务占用的所有资源 如果客户端与数据库引擎实例的网络连接中断了 那么当网络向实例通知该中断后 该连接的所有未完成事务均会被回滚 如果客户端应用程序失败或客户机崩溃或重新启动 也会中断连接 而且当网络向数据库引擎实例通知该中断后 该实例会回滚所有未完成的连接 如果客户端从该应用程序注销 所有未完成的事务也会被回滚 12 2SQLServer的安全机制 第11章数据库的安全管理 12 2 1安全机制级别12 2 2主体12 2 3SQLServer中的身份验证12 2 4数据库用户12 2 5角色 12 2 1安全机制级别 第11章数据库的安全管理 SQLServer2005的安全机制分为四级 其中第一层和第二层属于验证过程 第三层和第四层属于授权过程 12 2 2主体 第11章数据库的安全管理 主体 是指可以请求SQLServer资源的个体 组和过程 与SQLServer授权模型的其他组件一样 主体也可以按层次结构排列 各级别的主体包含的内容如下 12 2 3SQLServer中的身份验证 11 1SQLServer的安全机制 SQLServer的安全性管理是建立在身份验证和访问许可两者机制上的 身份验证是确定登录SQLServer的用户的登录账号和密码是否正确 以此来验证其是否具有连接SQLServer的权限 通过认证的用户必须获取访问数据库的权限 才能对数据库进行权限许可下的操作 1 SQLServer身份验证模式类型 11 1 1身份验证 1 Windows身份验证模式该模式使用Windows操作系统的安全机制验证用户身份 只要用户能够通过Windows用户账号验证 即可连接到SQLServer而不再进行身份验证 这种模式只适用于能够提供有效身份验证的Windows操作系统 2 混合身份验证模式 11 1 1身份验证 在该模式下 Windows身份验证和SQLserver验证两种模式都可用 对于可信任连接用户 由Windows验证 系统直接采用Windows的身份验证机制 否则SQLServer将通过账号的存在性和密码的匹配性自行进行验证 即采用SQLServer身份验证模式 2身份验证模式的设置 11 1 1身份验证 在该模式下 Windows身份验证和SQLserver验证两种模式都可用 对于可信任连接用户 由Windows验证 系统直接采用Windows的身份验证机制 否则SQLServer将通过账号的存在性和密码的匹配性自行进行验证 即采用SQLServer身份验证模式 身份验证内容 11 1 1身份验证 包括确认用户的账号是否有效 能否访问系统 能访问系统的哪些数据库 11 1 2身份验证模式的设置 11 1SQLServer的安全机制 1 方法一 打开SQLServer管理平台 在 已注册的服务器 子窗口中设置验证模式 2 方法二在SQLServer管理平台的对象资源管理器中 右键单击服务器 在弹出的快捷菜单中选择 属性 打开如图所示的 服务器属性 窗口 11 1 2身份验证模式的设置 11 2登录账号管理 3 创建登录账户 创建登录账户的方法有两种 一种是从Windows用户或组中创建登录账户一种是创建新的SQLServer登录账户 11 2 1创建登录账户 1 通过Windows身份验证创建登录 1 创建Windows用户 以管理员身份登录到Windows2003 选择 开始 程序 管理工具 计算机管理 选项 11 2 1创建登录账户 展开 本地用户和组 文件夹 选择 用户 图标 单击鼠标右键 在快捷菜单中选择 新用户 项 打开 新用户 对话框 输入用户名 密码 单击 创建 按钮 然后单击 关闭 按钮完成创建 11 2 1创建登录账户 2 使用企业管理器将Windows2003账号加入到SQLServer中 创建SQLServer登录 启动SQLServer管理平台 在对象资源管理器中分别展开 服务器 安全性 登录名 右击 登录名 在弹出的快捷菜单上选择 新建登录名 进行 登录名 新建 对话框 11 2 1创建登录账户 在 登录名 新建 对话框选择Windows验证模式 登录名通过单击 搜索 按钮自动产生 单击 搜索 按钮后出现 选择用户或组 对话框 在对象名称框中直接输入名称或单击 高级 按钮后查找用户或组名称来完成输入 11 2 1创建登录账户 单击 确定 按钮 一个Windows组或用户即可增加到SQLServer登录帐户中去 11 2 1创建登录账户 对于已经创建的Windows用户或组 可以使用系统存储过程sp grantlogin授予其登录SQLServer的权限 其语法格式如下 sp grantlogin loginame login 其中 loginame login 为要添加的Windows用户或组的名称 名称格式为 域名 计算机名 用户名 11 2 1创建登录账户 如果使用混合验证模式或不通过Windows用户或用户组连接SQLServer 则需要在SQLServer下创建用户登录权限 使用户得以连接使用SQLServer身份验证的SQLServer实例 2 创建SQLServer登录 11 2 1创建登录账户 在SQLServer管理平台中创建SQLServer登录帐户的具体步骤类似于 将Windows2003帐号映射到SQLServer中 的操作方法 只是要选择SQLServer验证模式 并输入登录帐户名称 密码及确认密码 其他选项卡的设置操作类似 最后单击 确定 按钮 即增加了一个新的登录帐户 1 使用SQLServer管理平台创建登录帐户 11 2 1创建登录账户 2 使用系统存储过程sp addlongin创建登录 sp addlogin语法格式如下 sp addlogin loginame login passwd password defdb database deflanguage language sid sid encryptopt encryption option 11 2登录账号管理 4 删除登录账户 当某一登录帐户不再使用时 应该将其删除 以保证数据库的安全性和保密性 删除登录帐户可以通过管理平台和Transact SQL语句来进行 1 使用SQLServer管理平台删除登录其操作步骤如下 1 启动SQLServer管理平台 在对象资源管理器中分别展开 服务器 安全性 登录名 2 在 登录名 详细列表中鼠标右键单击要删除的用户 在弹出的快捷菜单中选择 删除 命令 确定删除 11 2登录账号管理 删除登录账号有两种形式 删除Windows用户或组登录和删除SQLServer登录 1 删除Windows用户或组登录sp revokelogin的语法格式为 sp revokelogin liginame login 其中 liginame login 为Windows用户或组的名称 2 使用Transact SQL语句删除登录账号 11 2登录账号管理 使用sp droplogin可以删除SQLServer登录 其语法格式如下 sp droplogin loginame login 例11 8使用系统存储过程sp droplogin删除SQLServer登录账号ZG001 EXECsp droplogin ZG001 2 删除SQLServer登录 12 2 4数据库用户的管理 第11章数据库的安全管理 1 使用SQLServer管理平台创建数据库用户其操作步骤如下 1 打开SQLServer管理平台 在其 对象资源管理器 面板中依次展开 服务器 数据库 安全性 节点 右击选择其下的 用户 对象 在打开的菜单中选择 新建用户 命令 打开的 数据库用户 新建 窗口 11 3数据库用户的管理 2 在打开的 数据库用户 新建 窗口中 单击 登录名 右边的 命令可搜索登录用户或直接在文本框中输入用户的登录名 在用户名栏中输入用户名称 用户名可以与登录名不一样 3 在 此用户拥有的架构 和 数据库角色成员身份 区域选择此用户拥有的架构和加入的角色 选中角色名前的复选框即可 4 单击 新建用户 窗口的 确定 按钮 数据库用户建立完成 2 使用系统存储过程创建数据库用户 SQLServer使用系统存储过程sp grantdbaccess为数据库添加用户 其语法格式如下 sp grantdbaccess loginame login name in db name in db OUTPUT 11 3数据库用户的管理 12 2 5角色 第11章数据库的安全管理 1服务器角色2数据库角色应用程序角色角色是指为管理相同权限的用户而设置的用户组 也就是说 同一角色下的用户权限都是相同的 将一些用户添加到具体某种权限的角色中 权限在用户成为角色成员时自动生效 11 4角色管理 1服务器角色 服务器角色具有一组固定的权限 作用域在服务器范围内 是独立于数据库的管理特权分组 主要实现SA 数据库创建者及安全性管理员职能 且不能更改分配给它们的权限 固定服务器角色的作用域为服务器范围 固定服务器角色的每个成员都可以向其所属角色添加其他登录名 表12 2列出了固定服务器角色的名称及权限 11 4 1SQLServer角色的类型 2 数据库角色 数据库角色在数据库级别上定义 提供数据库层管理特权的分组 主要实现数据库的访问 备份与恢复及安全性等职能数据库角色分为固定数据库角色和用户定义的数据库角色 固定数据库角色不允许改变 用户定义的数据库角色只适用于数据库级别 通过用户定义的角色可以轻松地管理数据库中的权限 3应用程序角色 应用程序角色是一个数据库主体 它使应用程序能够用其自身的 类似用户的特权来运行 管理平台和系统存储过程实现 登录 用户 角色是SQLServer2005安全机制的基础 三者联系如下 服务器角色和登录名相对应 数据库角色和用户对应的 数据库角色和用户都是数据库对象 定义和删除时必须选择所属的数据库 一个数据库角色中可以有多个用户 一个用户也可以属于多个数据库角色 11 4角色管理 11 4 4用户定义数据库角色 1 在SQLServer管理平台中添加或删除数据库角色成员 方法一 在上面提到过的某数据库角色的 数据库角色属性 对话框中 在 常规 选项卡上 右下角成员操作区 单击 添加 或 删除 按钮实现操作 方法二 通过 对象资源管理器 数据库服务器 数据库 某具体数据库 安全性 用户 某具体用户 上单击鼠标右键 在弹出的快捷菜单选择 属性 出现 数据库用户 对话框 在右下角成员操作区 通过多选按钮直接实现为该用户从某个或某些数据库角色中添加或删除 12 3SQLServer的权限管理 第11章数据库的安全管理 12 3 1权限种类12 3 2设置权限 11 5 1权限类型 11 5权限管理 权限是指用户对数据库中对象的使用及操作的权利 当用户连接到SQLServer实例后 该用户要进行的任何涉及修改数据库或访问数据的活动都必须具有相应的权限 也就是用户可以执行的操作均由其被授予的权限决定 SQLServer中的权限包括3种类型 对象权限 语言权限和隐含权限 1 对象权限 11 5 1权限的种类 对象权限用于用户对数据库对象执行操作的权力 即处理数据或执行存储过程 INSERT UPDATE DELETE EXECUTE等 所需要的权限 这些数据库对象包括表 视图 存储过程 表11 3对象及作用的操作 11 5 1权限的种类 2 语句权限 语句权限主要指用户是否具有权限来执行某一语句 这些语句通常是一些具有管理性的操作 如创建数据库 表 存储过程等 这种语句虽然也包含有操作 如CREATE 的对象 但这些对象在执行该语句之前并不存在于数据库中 所以将其归为语句权限范畴 11 5 1权限的种类 表11 4语句权限及其作用 11 5 1权限的种类 3 隐含权限 隐含权限是指系统自行预定义而不需要授权就有的权限 包括固定服务器角色 固定数据库角色和数据库对象所有者所拥有的权限 固定角色拥有确定的权限 例如固定服务器角色sysadmin拥有完成任何操作的全部权限 其成员自动继承这个固定角色的全部权限 数据库对象所有者可以对所拥有的对象执行一切活动 如查看 添加或删除数据等操作 也可以控制其他用户使用其所拥有的对象的权限 11 5 1权限的种类 12 3 2设置权限 1 使用图形工具设置用户或角色权限操作步骤如下 1 授予或拒绝语句权限1 连接到相应的MicrosoftSQLServerDatabaseEngine实例之后 在 对象资源管理器 中 单击服务器名称 以展开服务器树 2 展开 数据库 右击用户数据库 如teaching 3 在出现的快捷菜单中选择 属性 出现如图12 14所示的 数据库属性 teaching 窗口 11 5权限管理 11 5 2授予权限 2 授予或拒绝对象权限1 连接到相应的MicrosoftSQLServerDatabaseEngine实例之后 在 对象资源管理器 中 单击服务器名称以展开服务器树 2 展开 数据库 选择用户数据库 如teaching 展开用户数据库及其下的 表 3 右击要设置权限的表名 如 s c 出现如图12 15所示的 表属性 s c 窗口 2 使用Transact SQL命令设置用户或角色权限 1 权限的授予可以使用Transact SQL命令GRANT将权限授予用户 语法格式如下 GRANT ALL PRIVILEGES permission column n n ONsecurable TOsecurity account n WITHGRANTOPTION 11 5 2授予权限 2 权限的禁止禁止权限就是删除以前授予用户 组或角色的权限 禁止从其他角色继承的权限 且确保用户 组或角色将来不继承更高级别的组或角色的权限 可以使用Transact SQL命令DENY将权限禁止 语法格式如下 DENY A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲状腺超声测值课件
- jit教学能力大赛课件
- 新解读《GB-T 36786-2018病媒生物综合管理技术规范 医院》
- 中班数物对应教学课件
- 党史故事课件教学对象
- 用电安全知识培训课件报告
- 用火安全知识培训内容课件
- 生物实验室安全知识培训课件
- 生物安全知识培训课件解答题
- 2024景德镇住房出租合同(30篇)
- 发热待查临床路径
- 典范英语7-2中英文对照翻译Noisy Neighbours
- 海思芯片HTOL老化测试技术规范
- 最新版个人征信报告(可编辑+带水印)
- 国际贸易实务英文版第五版ppt课件(完整版)
- 排尿评估及异常护理
- 隧道穿越大型活动断裂带的技术对策
- 宏业清单计价软件入门必备
- 人教版七年级初一数学:期中考试初一数学试卷及答案
- 部编版三年级上册教材解读及教学建议课件
- 如何让你的标书评审专家青睐
评论
0/150
提交评论