第11章安全管理_第1页
第11章安全管理_第2页
第11章安全管理_第3页
第11章安全管理_第4页
第11章安全管理_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第11章 安全管理第11章 安全管理安全管理 安全控制:在数据库应用系统的不同层次提供对有意损害行为的安全防范。 1. 安全控制模型安全控制模型 文件操作控制操作权控制身份验证用户数据库应用程序数据库管理系统操作系统加密存储与冗余数据库2. 数据库权限的种类及用户的分类 权限的种类 系统维护权 操作权 数据库对象权限:创建、修改、删除 数据操作权:对表、视图数据的增加、删除、更改、查询 用户的分类 系统管理员(sa):在数据库中具有全部的权限; 对象拥有者:创建数据库对象的用户即为数据库对象的拥有者; 普通用户:普通用户只有对数据库数据的增加、删除、更改和查询的权限。11.2 SQL Serv

2、er的安全控制 如果用户要访问SQL Server数据库的数据,必须经过三个认证过程。 三个认证过程第一个是验证用户连接到SQL Server数据库服务器的资格。第二个是验证用户是否是数据库的合法用户。第三个是验证用户是否具有操作许可。 SQL Server用户类型和认证模式1用户类型 Windows授权用户:来自于Windows的用户或组; SQL授权用户:来自于非Windows的用户。 2认证模式 混合模式:接受Windows授权用户和Sql授权用户 Windows Only授权模式:只接受Windows用户。3.设置安全验证模式 使用企业管理器设置认证模式 在“企业管理器”中的服务器结点

3、上单击右键,从快捷菜单中的选择“属性”项。 在弹出的“SQL Server属性(配置)”对话框的“安全性”页中选择“SQL Server和Windows”或“仅Windows”两种身份验证模式之一。 更改验证模式后,会提示需要重新启动服务器才能生效。11.3 管理SQL Server登录帐户 11.3.1 建立登录帐户 11.3.2 修改登录帐户的属性 11.3.3 删除登录帐户 11.3.1 建立登录帐户启动“企业管理器”,展开要建立登录帐户的服务器结点。展开“安全性”节点,单击其中的“登录”节点。右击内容窗格中的空白处,从弹出的菜单中选择“新建登录”命令。 11.3.1 建立登录帐户 在“

4、新建登录”对话框中可输入登录名、身份验证方式、密码和默认数据库。 选择以Windows身份验证时,输入的用户必须是现存的Windows用户。 选择以Sql Server身份验证时,创建的登录帐号只有在混合模式中可登录。 建立好用户的登录帐号之后,只能连接到相应的SQL Server服务器,还不具备访问用户任何数据库的能力。11.3.2 修改登录帐户的属性 可以进行如下更改: 更改密码 更改默认数据库 更改显示给用户所使用的语言 不能更改身份验证模式! 展开“安全性”,单击“登录”节点。 在右边的内容窗格中,右击想要修改密码的登录帐户,从弹出的菜单中选择“属性”命令。11.3.3 删除登录帐户

5、展开“安全性”节点,单击“登录”节点。 在右边的内容窗格中,右击想要删除的登录帐户,从弹出的菜单中选择“删除”命令或按Delete键。 注意,删除登录帐户会同时删除所有与之有关的数据库用户。11.4 管理数据库用户 11.11.4.1 建立数据库用户 11.11.4.2 删除数据库用户 用户具有登录帐号之后,只能连接到SQL Server服务器,还不具备访问用户任何数据库的能力。只有将其“映射”为一个或多个数据库用户,才能访问相应的数据库。11.4.1 建立数据库用户 单击展开要建立数据库用户的数据库节点,右击“用户”; 在弹出的菜单上选择“新建数据库用户”命令弹出“新建用户”对话框; 在“新

6、建用户”对话框中为数据库选择登录名、指定用户名并分配角色。 新建的数据库只有一个默认的用户:dbo,即数据库的拥有者(创建者)。可以将已有的登录帐户映射为一个或多个数据库的用户。11.4.2 删除数据库用户 展开要删除用户的数据库。 单击“用户”,然后在右边的内容窗格中右击想要删除的数据库用户,从弹出的菜单中选择“删除”命令。 删除数据库用户并不会导致同时删除登录帐户,登录帐户仍然存在。 如果有属于某数据库用户的数据库对象(如表或视图),则不允许删除该对象。11.5 管理权限 11.5.1 SQL Server权限种类 11.5.2 权限的管理 当用户成为数据库的合法用户之后,他除了具有一些系

7、统表的查询权限之外,对数据库中的用户数据和对象并不具有任何操作权限。因此,下一步需要为数据库中的用户授予数据库数据及对象的操作权限。11.5.1 SQL Server权限种类 对象权限 是指用户对数据库中的表、视图等对象中数据的操作权,包括查询、增加、删除和修改数据。 语句权限 相当于数据定义语言(DDL)的语句权限,这种权限专指是否允许执行:CREATE TABLE、 CREATE VIEW等与创建数据库对象有关的操作。 隐含权限 指由SQL Server预定义的服务器角色、数据库角色、数据库拥有者和数据库对象拥有者所具有的权限。 11.5.2 权限的管理 授予权限:允许用户或角色具有某种操

8、作权。 收回权限:不允许用户或角色具有某种操作权,或者收回曾经授予的权限。 拒绝权限:拒绝某用户或角色具有某种操作权,既使用户或角色由于继承而获得这种操作权,也不允许执行相应的操作。 权限的管理实际上是指对象权限和语句权限的设置,不包括隐含权限的设置。管理权限既可以使用“企业管理器”,也可以使用SQL Server语句来实现。使用企业管理器管理数据库用户权限 展开“数据库”节点并展开要设置权限的数据库,单击“用户”节点。 在内容窗格中右击要设置权限的数据库用户,从弹出的菜单中选择“所有任务”下的“管理权限”命令 。将打开“数据库用户属性”对话框。使用企业管理器管理数据库用户权限 授予权限拒绝权

9、限收回权限设置列权限 在此对话框中可以为数据库用户指定对每个数据库对象(包括表、视图和存储过程等)的访问权限,包括Select、Insert、Update、Delete等操作的权限。设置表或视图的列权限 在“数据库用户属性”对话框中选择表或视图; 对话框下方的“列”按钮有效,点击后弹出“列权限”对话框。 在此对话框中可以指定用户对某个列(字段)所具有的Select或Update权限。使用企业管理器管理语句权限 展开“数据库”,右击要设置语句权限的数据库,从弹出的菜单中选择“属性”,在弹出的窗口中,选择“权限”标签页。 在此标签中为用户或角色指定创建对象的权限,即相应的Create Table和

10、Create View语句的执行权限。使用Transact-SQL语句管理对象权限 GRANT:授予权限; REVOKE:收回权限; DENY:拒绝权限。 语法格式 授权语句 GRANT 对象权限名 , ON 表名 | 视图名 | 存储过程名 TO 数据库用户名 | 用户角色名 , 收权语句 REVOKE 对象权限名 , ON 表名 | 视图名 | 存储过程名 FROM 数据库用户名 | 用户角色名 , 拒绝语句DENY 对象权限名 , ON 表名 | 视图名 | 存储过程名 TO 数据库用户名 | 用户角色名 , 示例 例1为用户user1授予Student表的查询权。 GRANT SELE

11、CT ON Student TO user1 例2为用户user1授予SC表的查询权和插入权。 GRANT SELECT,INSERT ON SC TO user1 例3收回用户user1对Student表的查询权。 REVOKE SELECT ON Student FROM user1 例4拒绝user1用户具有SC表的更改权。 DENY UPDATE ON SC TO user1 使用Transact-SQL语句管理语句权限 授权语句 GRANT 语句权限名 , TO 数据库用户名 | 用户角色名 , 收权语句 REVOKE 语句权限名 , FROM 数据库用户名 | 用户角色名 , 拒绝

12、语句 DENY 语句权限名 , TO 数据库用户名 | 用户角色名 , 示例 例5授予user1具有创建数据库表的权限。 GRANT CREATE TABLE TO user1 例6授予user1和user2具有创建数据库表和视图的权限。 GRANT CREATE TABLE, CREATE VIEW TO user1, user2 例7收回授予user1创建数据库表的权限。 REVOKE CREATE TABLE FROM user1 例8拒绝user1创建视图的权限。 DENY CREATE VIEW TO user111.6 角色 为便于对用户及权限的管理,可以将一组具有相同权限的用户组

13、织在一起,这一组具有相同权限的用户就称为角色(Role)。 SQL Server 2000中,角色分为: 固定的服务器角色:用于完成特定的服务器级管理活动的权限。用户不能添加、删除和更改服务器角色。 固定的数据库角色。用户不能添加、删除或更改固定的数据库角色(Public角色除外)。 用户自定义的角色。固定的服务器角色固定的服务器角色固定的服务器角色描述描述sysadminsysadmin可在SQL Server中进行任何活动。该角色的权限包含了所有其它固定的服务器角色的权限。serveradminserveradmin配置服务器范围的设置。setupadminsetupadmin添加和删除链

14、接服务器,并执行某些系统存储过程(如 sp_serveroption)。securityadminsecurityadmin管理服务器登录帐户。processadminprocessadmin管理在 SQL Server 实例中运行的进程。dbcreatordbcreator创建、更改和删除数据库。diskadmindiskadmin管理磁盘文件。bulkadminbulkadmin执行 BULK INSERT(批量插入) 语句。添加固定的服务器角色的成员 展开“安全性”节点,单击“服务器角色”,在右边的内容窗格中,在要添加成员的固定的服务器角色上右击鼠标,在弹出的菜单中选择“属性”命令。 单

15、击“添加”按钮,从登录名列表中选择成员。 删除固定的服务器角色成员 在“服务器角色属性”对话框中,选择要删除的登录帐户,单击“删除”按钮即可。 固定的数据库角色 固定的数据库角色固定的数据库角色描述描述db_ownerdb_owner在数据库中拥有全部权限。db_accessadmindb_accessadmin可以添加或删除用户ID。 db_securityadmindb_securityadmin可以管理数据库角色和角色成员,并管理数据库中的语句权限和对象权限。db_ddladmindb_ddladmin可以建立、修改和删除数据库对象(运行所有的DDL语句)db_backupoperato

16、db_backupoperator r可以进行数据库备份、恢复操作db_datareaderdb_datareader可以查询数据库中所有用户表中的数据。db_datawriterdb_datawriter可以更改数据库中所有用户表中的数据。db_denydatareaderdb_denydatareader不允许查询数据库中所有用户表中的数据。db_denydatawriterdb_denydatawriter不允许更改数据库中所有用户表中的数据publicpublic默认不具有任何权限,但用户可对此角色进行授权(这一点与其他角色不同)。每个用户都属于该角色(自动地) 。添加固定的数据库角色

17、的成员 展开“数据库”节点,展开要操作的数据库,单击“角色”, 右击右边内容窗格中要添加成员的数据库角色在弹出的菜单中选择“属性”命令。 单击“添加”。也可以在“用户”属性中为用户指定角色。删除数据库角色的成员 选择要删除的用户,单击“删除”按钮。 11.6.3 用户自定义的角色 用户自定义的角色属于数据库一级的角色。 用户可以根据实际的工作职能情况定义自己的一系列角色,并给每个角色授予合适的权限。 用户自定义的角色的成员可以是数据库的用户,也可以是用户定义的角色。 建立用户自定义的角色 展开“数据库”,并展开要添加用户自定义角色的数据库; 右击“角色”节点,选择“新建数据库角色”命令; 指定角色名称。 可以使用“添加”按钮为该角色添加用户,即该用户该用户具备了该角色的权限。 新建角色时不能为角色指定权限。为用户定义的角色授权 展开要操作的用户自定义角色所在的数据库。 右击“角色”节点,在右边的内容窗格中,右击要授予权限的用户自定义的角色,在弹出的菜单中选择“属性”命令。 单击“权限” 按钮,弹出为角色指定权限的对话框,类似于为用户指定权限。添加和删除用户自定义角色的成员 与固定的数据库

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论