




已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第16章安全管理 本章从安全性的角度对SQLServer2008系统的基本管理方法进行分析讲解 因为无论对于系统管理员还是数据库编程人员 甚至对于每个用户 数据库系统的安全性都是至关重要的 通过对本章的学习 可以了解到要想确保系统的安全性 应该学会使用用户账户 同时还应该给账户授予相应的权限 对用户 角色和权限的管理可以进行管理的操作 16 1SQLServer2008的安全认证模式 当用户使用SQLServer2008时 需要经过两个安全性阶段 身份验证阶段和权限认证阶段 身份验证阶段 SQLServer2008或者Windows对用户进行验证 如果验证通过 用户就可以连接到SQLServer2008服务器上 否则 服务器将拒绝用户登录 从而保证系统的安全性 权限认证阶段 身份验证的通过只表示用户可以连接到SQLServer2008服务器上 然后 需要检测用户是否有访问服务器数据的权限 为此需要授予每个数据库中映射到用户登录的账户访问权限 16 1 1身份验证阶段 在验证阶段 系统对用户登录进行验证 SQLServer2008和Windows是结合在一起的 它们会产生两种验证模式 Windows身份验证模式和混合身份验证模式 16 1 2权限认证阶段 为防止不合理的使用造成数据的泄密和破坏 SQLServer2008数据库管理系统除使用身份验证方法来限制用户进入数据库系统外 还使用权限认证来控制用户对数据库的操作 当以用户身份通过验证连接到SQLServer2008服务器后 在用户可以访问的每个数据库中都要求单独的用户账号 对于没有账户的数据库 将无法访问 此时 用户虽然可以发送各种Transact SQL语句 但是这些操作语句在数据库中是否能够成功地执行 还取决于该用户账户在该数据库中对这些操作拥有的权限 如果发出操作命令的用户没有执行该语句的权限或者访问该对象的权限 则SQLServer2008将不会执行该操作语句 所以 若没有通过数据库的权限认证 即使用连接到SQLServer2008服务器上 也无法使用数据库 16 2管理登录账户 在SQLServer2008中可以通过SSMS和系统存储过程两种不同的方法来创建登录帐户 16 2 1使用SSMS创建SQLServer2008登录账户 使用SQLServerManagementStudio创建登录帐户的步骤如下 16 2 2使用系统存储过程创建SQLServer2008登录账户 要在SQLServer2008服务器中添加登录账户 可以使用系统存储过程sp addlogin 其创建登录账号的语法格式如下 Sp addlogin loginame login password password defdb database deflanguage language sid sid encryptopt encryption option 16 3创建数据库的用户 SQLServer2008账号有如下两种 登录服务器的登录账号 指能登录到SQLServer2008服务器的账号 属于服务器的层面 它本身并不能让用户访问服务器中的数据库 使用数据库的用户账号 登录到SQLServer2008服务器中的数据时 必须使用用户账号才能够存取数据库 就如同公司门口先刷卡进人 然后再拿钥匙打开自己的办公室一样 用户名要在特定的数据库内创建 并关联一个登录名 用户定义的信息存放在服务器的每个数据库的SYSUERS表中 通过授权给用户来指定用户可以访问对象的权限 16 3 1使用SQLServerManagementStudio创建SQLServer2008数据库用户 使用SQLServerManagementStudio创建数据库用户的步骤如下 1 在 对象资源管理器 面板中 展开某一数据库 如wj的文件夹 再展开 安全 选项 然后右击 用户 分支 在弹出的对话框中单击 新建用户 命令 弹出的 新建用户 对话框 如图16 9所示 2 选中 登录名 单选按钮 选择登录账号如wj log登录账号 在 用户名 文本框中输入用户名如wj user 也可以在 数据库角色成员身份 列表中选择新建用户应该属于的数据角色 3 设置完毕后 单击 确定 按钮 即可在wj数据库中创建一个新的用户账号 如果不想创建用户账号 单击 取消 按钮即可 16 3 2使用存储过程创建数据库用户 下面学习用于创建数据库用户的存储过程 1 使用sp adduser创建数据库用户该存储过程用于添加新的用户 语法格式如下 sp adduser loginame login name in db user grpname group 2 使用sp grantdbaccess本存储过程为SQLServer2008或Windows用户或组在当前数据库中添加一个安全帐户 并使其能够被授予在数据库中执行活动的权限 语法格式为 sp grantdbaccess loginame login name in db name in db 16 4安全管理账户 在SQLServer2008中管理着系统管理员 普通用户等多种帐户 这些帐户拥有自己的账号和密码及权限 本节学习如何对各类账户进行管理 16 4 1查看服务器的登录帐号 SQLServer2008可以分别通过系统存储过程和SSMS来查看登录帐号 1 使用系统存储过程查看登录账号2 使用SSMS查看登录账号 16 4 2修改登录帐号属性 同样 SQLServer2008可以分别通过系统存储过程和SSMS来修改登录帐号 1 使用存储过程修改登录属性2 使用SQLServerManagementStudio修改登录账户属性 16 4 3查看数据库的用户 在SQLServer2008中 也可以通过SSMS和存储过程来查看数据库的用户 1 使用SSMS查看数据库的用户2 用存储过程查看数据库的用户 16 5删除登录和用户帐户 通过SQLServer2008可以完成登录和用户帐户的创建 同样 也可以完成相应帐户的删除任务 本节将学习如何删除登录和用户帐户 16 5 1删除登录账号 在SQLServer2008中可以通过SSMS和存储过程两种方式来删除登录帐号 1 使用SQLServerManagementStudio删除登录账号启动SQLServerManagementStudio进入 对象资源管理器 面板 再展开 安全性 选项 展开 登录名 选项 选中要删除的登录名 再右击 在弹出的对话框中 选择 删除 命令即可确定 2 使用存储过程删除登录账号使用存储过程sp droplogin可删除某一登录账号 其语法格式如下 sp droplogin login 16 5 2删除用户账号 在SQLServer2008中可以通过SSMS和存储过程来实现用户帐号删除 1 使用SQLServerManagementStudio删除用户账号在 对象资源管理器 面板中 展开某个数据库 展开 安全性 用户 选项 右击要删除的用户 在弹出的对话框中单击 删除 命令 在弹出的对话框中 单击 确定 按钮 即可完成操作 2 使用sp revokedbaccess可删除用户账号语法格式为 sp revokedbaccess name 16 6数据库用户和角色管理 角色是由一组用户所构成的组 可以分为服务器角色和数据库角色 本节将对数据库用户与角色管理的内容展开学习 16 6 1服务器角色管理 服务器角色是负责管理与维护SQLServer2008的组 一般只会指定需要管理服务器登录账号属于服务器角色 16 6 2 标准角色与应用程序角色 在SQLServer2008中 数据库角色可分为两种 标准角色和应用程序角色 1 标准角色标准角色是由数据库成员所组成的组 此成员可以是用户或者其他的数据库角色 在创建一个数据库时 系统默认创建10个固定的标准角色 在 对象资源管理器 面板中 展开 数据库 选项 再展开某个数据库的文件夹 然后展开 安全性 选项 展开 角色 下面的 数据库角色 选项2 应用程序角色应用程序角色用来控制应用程序存取数据的 本身并不包括任何成员 在编写数据库的应用程序时 可以自定义应用程序角色 让应用程序的操作能用编写的程序来存取SQLServer的数据 也就是说 应用程序的操作者本身并不需要在SQLServer2008上拥有登录账号以及用户账号 但是仍然可以存取数据库 16 6 3创建新的角色 在SQLServer2008中 可以通过存储过程和SSMS实现角色的创建 1 使用存储过程创建角色使用sp addrole在当前数据库中创建新角色 其语法格式 sp addrole role owner 使用SQLServerManagementStudio创建角色在 对象资源管理器 面板中 选择 数据库 选项 展开 wj 数据库的文件夹 然后在选择展开 安全性 选项 选中 角色 右击 在弹出的对话框中 单击 新建数据库角色 命令 弹出 数据库角色 新建 对话框 在该窗口中 输入相应的角色名称 wj role1 和所有者 dbo 选择角色拥有的架构及添加相应的角色成员即可 16 6 4删除角色 在SQLServer2008中可以通过SSMS和存储过程来实现角色的删除 1 使用SQLServerManagementStudio删除角色在 对象资源管理器 对话框中 选中 数据库 选项 展开某一数据库 然后展开 安全性 选项 再展开 角色 选项 在某一角色上右击 在弹出的对话框中单击 删除 命令即可 2 使用存储过程删除角色使用sp droprole从当前数据库删除指定的角色 其语法为 sp droprole role 16 6 5查看角色的属性 通过SQLServer2008还可以对各类角色的属性进行查看 以在wj数据库中的db owner角色为例说明 操作步骤如下 1 在 对象资源管理器 面板中 选择 数据库 选项 展开某个数据库的文件夹 然后选择展开 安全性 选项 选中 角色 选项展开 2 右击如db ower角色 在弹出的对话框中 选择 属性 命令 则弹出 数据库角色属性 对话框 可以看到相应的属性 在此对话框中 单击 添加 按钮 可为角色添加一个用户 单击 删除 按钮 可从角色中删除被选中的用户 但是dbo代表数据库的所有者 因此删除角色的时候是不能被删除的 如图16 23所示 16 6 6用户和角色的权限问题 用户是否具有对数据库存取的能力 不仅要看其权限的设置 而且还要受到角色权限的限制 1 用户权限继承角色的权限在数据库角色中可以包含许多用户 用户对数据库对象的存取也就继承角色的权限 假设用户wj user属于角色wj rolel 角色wj rolel已经取得对student表的SELECT权限 则用户wj user也自动取得对student表的SELECT权限 如果wj rolel对student表没有INSERT权限 而wj user取得对student表的INSERT权限 则wj user取得对student表的INSERT权限 则wj user最终也取得对student表的INSERT权限 而拒绝是优先的 只要wj rolel和wj user中的任伺一个拒绝 则该权限就是拒绝的 2 用户分属于不同角色如果一个用户分属于不同的数据库角色 例如 用户wj user既属于角色wj rolel 又属于角色wj role2 则用户wj user的权限基本上是以wj rolel和wj role2的并集为准 但是只要有一个拒绝 那么用户wj user的权限就是拒绝的 16 7数据库用户帐号的权限管理 在SQLServer2008中包含有多个不同的数据库 各数据库含有不同的数据库用户 本节学习如何对这些数据库用户的帐号进行权限管理 16 7 1权限类型 用户登录到SQLServer2008服务器后 角色和用户的权限已被决定对数据库所能执行的操作权限 在SQLServer中分为3类 分别是对象权限 语句权限和隐含权限 1 对象权限2 语句权限3 隐含权限 16 7 2使用管理工具设置权限 设置权限有两种方法 一种方法是使用SQLServerManagementStudio对象资源管理器 另一种方法是使用Transact SQL语句管理权限 使用SQLServerManagementStudio操作简单 直观 但是它不能设置表或视图的列权限 使用T SQL语句操作很繁琐 但是它功能齐全 16 7 3使用SQL语句设置权限 本节学习如何通过SQL语句对权限进行管理 1 授予权限2 拒绝权限 3 撤销权限 16 8高级安全特性 本节学习SQLServer2008的高级安全特性 包括通知服务安全 分析服务安全 集成服务安全 报表服务安全 服务代理安全 16 8 1通知服务安全 通知服务 NotificationServices 向数据库管理员提出了一些独特的安全方面的挑战 DBA不仅要考虑数据库的安全 同时还要考虑用于创建通知服务应用的XML文件的安全 在许多组织中 文件系统安全是由网络或系统管理员负责的 这是数据库管理员必须与其他团体密切合作的领域 Microsoft建议在脆弱的域或本地账户下不要使用本地系统 本地服务或网络服务账户或系统管理员组的任何账户 如果运行服务所使用的传送协议需要具有其他特权的账户时 就必须具有更高的权限 例如 使用IISSMTP服务发送通告要求在实例的Windows服务运行下的账户是本地管理员组的一个成员 16 8 2SQLServiceBroker安全 SQLServerServiceBroker为消息和队列应用程序提供SQLServer数据库引擎本机支持 这使开发人员可以轻松地创建使用数据库引擎组件 在完全不同的数据库之间进行通信的复杂应用程序 开发人员可以使用ServiceBroker轻松生成可靠的分布式应用程序 因此 需要为其提供良好的安全机制 SQLServiceBroker有两种安全类型 会话安全和传输安全 会话安全对单个会话信息进行加密 并检验会话参与者的身份 会话安全还提供远程认证和消息完整性检查 会话安全在两个服务之间建立认证和加密的通信 传输安全防止未认证的数据库向本地数据库实例传送服务代理消息 传输安全在两个数据库间建立了认证的网络连接 SQLServiceBroker使用证书为本地和远程服务器之间的通信进行认证 16 8 3分析服务的安全性 微软在SQLServer7中就已经推出分析服务 直到最近几年 分析服务 商业智能市场才成为主流 商业智能 BI 应用通常位于信息金字塔的顶部 只有某些部门能够访问重要的商业报表 随着BI成为主流 更好地控制访问和报表变得非常重要 在用户连接到分析服务后 用户在分析服务中的许可权由分配给用户所属的分析服务角色的权限决定 可以直接也可以通过Windows角色的成员关系进行 让操作系统执行认证 分析服务就可以利用Windows的安全特性了 包括安全验证和密码加密 审计 密码过期 最小密码长度以及多次无效登录后账户锁定 16 8 5SQLServer集成服务安全特性 集成服务
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年 曲靖市低压电工证理论考试练习题附答案
- 云浮橡胶制品项目申请报告
- 2025年 湖南中医药大学湘杏学院招聘考试笔试试题附答案
- 2025年 东兴市市级机关遴选考试笔试试题附答案
- 毛纱布项目投资可行性研究分析报告(2024-2030版)
- 中国杜松子油行业市场全景评估及发展趋势研究预测报告
- 中国十二路保险盒行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 中国碳纤维行业市场全景调研调查
- 中国导电胶行业市场调查报告
- 中国恒压消防泵行业市场发展现状及投资战略咨询报告
- 校园食堂升级服务方案
- 中医治疗协议书范本(2篇)
- 沐足行业严禁黄赌毒承诺书
- 2024年初级招标采购从业人员《招标采购法律法规》考前通关必练题库(含答案)
- 供应柴油月结算合同范本
- 2024年《风力发电原理》基础技能及理论知识考试题库与答案
- 2.10丰巢智能柜合作协议
- 电商平台用户使用手册
- 2024秋国家开放大学《外国文学》形考任务1-4答案
- 房颤的规范化治疗
- 分布式光伏发电项目EPC总承包投标方案(技术方案)
评论
0/150
提交评论