SQL2000安全性管理.doc

上传人:本田雅阁 文档编号:2511127 上传时间:2019-04-04 格式:DOC 页数:10 大小:478.52KB
返回 下载 相关 举报
SQL2000安全性管理.doc_第1页
第1页 / 共10页
SQL2000安全性管理.doc_第2页
第2页 / 共10页
SQL2000安全性管理.doc_第3页
第3页 / 共10页
SQL2000安全性管理.doc_第4页
第4页 / 共10页
SQL2000安全性管理.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《SQL2000安全性管理.doc》由会员分享,可在线阅读,更多相关《SQL2000安全性管理.doc(10页珍藏版)》请在三一文库上搜索。

1、服务器认证服务器认证是指每个用户在通过网络访问SQL Server 2000数据库之前,操作系统或数据库服务器会对用户进行身份验证,以此来决定该用户是否可以连接到服务器以及该用户可以访问哪些数据。没有通过检查的用户,服务器将拒绝其对数据库的连接请求。在服务器认证阶段,SQL Server提供了3种认证模式:第一种是Windows认证模式;第二种是SQL Server认证模式;第三种是两种认证模式的有机结合,即混合认证模式,它既支持Windows认证,又支持SQL Server认证。下面详细介绍这3种认证模式。(1)Windows认证模式用户在与SQL Server进行连接时不需要提供SQL S

2、erver登录账号就可以直接与SQL Server 相连接,这种认证模式就是Windows认证模式。使用Windows认证模式时,只要来访用户通过“服务器平台”用户的检验,SQL Server就不再对该用户进行安全性检验工作了,此用户就可以成功地连接到SQL Server数据库服务器。Windows认证模式的优点主要体现在以下几点:l Windows NT/2000有着更强的用户账户管理工具。可以设置账户锁定、密码期限等,数据库管理员可以把用户账户交给Windows NT/2000去管理,而把自己的工作主要集中在数据库管理方面。l Windows NT/2000的组策略支持多个用户同时被授权访

3、问SQL Server。l 用户只需使用一个用户名和口令,就可以同时访问Windows和SQL Server。如果在客户和服务器间建立连接,使用该验证模式时,必须满足的一个条件就是客户端的用户必须在服务器上有合法的Windows NT/2000账户,服务器能够在自己的域中验证该用户。 注意:如果服务器启动了Guest账户,也可以使用该验证模式,但这种方法常常会带来安全上的隐患。(2)SQL Server认证模式当用户与SQL Server连接时,必须提供由SQL Server管理员为其设定的登录账号和口令,并指定SQL Server工作在SQL Server认证模式下。经过SQL Server

4、安全系统对用户的身份进行验证合法后才能连接上数据库服务。SQL Server认证模式的优点主要体现在以下几点。l 创建了Windows NT/2000之上的另外一个安全层次。l 支持更大范围的用户,如非Windows NT客户、Novell网用户等。l 一个应用程序可以使用单个的SQL Server登录账号和口令。(3)混合认证模式混合认证模式是前两种认证模式的有机结合。用户既能使用Windows认证模式又能使用SQL Server认证模式连接到SQL Server服务器。数据库认证用户必须使用特定的登录账户经过验证才能登录到SQL Server。登录以后,用户在访问每个数据库时也必须使用特定

5、的用户账号才能对数据库进行访问,而且只能查看经授权可以查看的表和视图,只能执行经授权可以执行的存储过程和管理功能,这样可以有效地控制用户访问数据库的权限,防止一个用户在连接SQL Server以后,对服务器上的所有数据库进行访问。用户账户的数据库访问权限决定了用户在数据库中可以进行哪些操作。 注意:安装系统时,Guest用户自动加入到master、pubs、tempdb和Northwind数据库中,当SQL Server数据库用户没有用户账号时可以使用Guest用户账号登录,以匿名的方式查看数据库中的数据。管理服务器角色服务器角色是指根据SQL Server的管理任务以及这些任务相对的重要性等

6、级,把具有SQL Server管理职能的用户划分为不同的角色来管理SQL Server的权限。服务器角色适用于服务器范围内,其权限不能被修改。启动企业管理器,展开服务器组及指定的服务器,展开“安全性”节点,单击“服务器角色”选项,右侧列表框内自动显示存在的服务器角色,如图1所示。图1 服务器角色SQL Server共有8种预定义的服务器角色,各角色的具体含义如表1所示。表1服务器角色服务器角色角 色 描 述Sysadmin(系统管理员)可以在SQL Server中做任何事情Serveradmin(服务器管理员)设置SQL Server服务器范围内的配置选项,可以关闭服务器Setupadmin(

7、安装管理员)可以管理扩展的存储过程Securityadmin(安全管理员)管理数据库登录Processadmin(进程管理员)管理运行在SQL Server中的进程Dbcreator(数据库创建者)可以创建和更改数据库Diskadmin(磁盘管理员)管理磁盘文件Bulkadmin(批量管理员)可以执行大容量数据插入操作下面介绍如何使用企业管理器来管理服务器角色。操作步骤如下:(1)启动企业管理器,展开服务器组及指定的服务器。(2)展开“安全性”节点,单击“服务器角色”选项,右侧列表框内自动显示当前SQL Server服务器的角色,如图2所示。(3)在企业管理器右边的角色列表框中右键单击要查看信

8、息的服务器角色“processadmin”,在弹出的快捷菜单中选择“属性”命令,弹出“服务器角色属性”对话框,如图3所示。在这个对话框中,可以看到该角色的成员。(4)在“服务器角色属性”对话框中单击“添加”按钮,在弹出的“添加成员”对话框中选择登录账号“mrsoft”,即可向该角色中添加成员。如果想删除用户,只要选中该用户,单击“删除”按钮即可,如图4所示。图2服务器角色列表图3 服务器角色属性 图4 向服务器角色添加用户(5)最后单击“确定”按钮即可完成添加操作。管理数据库角色数据库角色是对数据库对象操作的权限的集合。在SQL Server中,数据库角色可以新建,也可以使用已存在的数据库角色

9、。数据库角色能为某一用户或一组用户授予不同级别的管理、访问数据库或数据库对象的权限,这些权限是SQL Server数据库专有的。启动企业管理器,展开服务器组及指定的服务器。展开指定的数据库“model”节点,单击“角色”选项,右侧列表框内自动显示存在的数据库角色,如图1所示。图1 数据库角色数据库角色角 色 描 述db_accessadmin可以增加或删除Windows NT认证模式下用户或用户组以及SQL Server用户db_backupoperator可以备份数据库db_datareader能且仅能对数据库中任何表执行select操作,从而读取所有表的信息db_datawriter能对数

10、据库中任何表执行insert、delete、update操作,但不能进行select操作db_ddladmin可以新建、删除、修改数据库中任何对象db_denydatareader不能对数据库中任何表进行select操作db_denydatawriter不能对数据库中任何表进行insert、delete、update操作db_owner数据库的所有者,可以执行任何数据库管理工作,可以对数据库内的任何对象进行任何操作db_securityadmin管理数据库内权限的grant、deny、revoke操作,即对语句、对象、角色权限的管理public是一个特殊的角色,它包含所有数据库用户账户和角色所

11、拥有的访问权限,这种权限的继承关系不能改变。管理员应该特别注意给该角色赋权限在SQL Server中,数据库角色分为两种类型:一种是预定义数据库角色,另一种是自定义数据库角色。(1)预定义数据库角色预定义数据库角色是在SQL Server中已经定义好的,具有管理、访问数据库权限的角色。有一点需要注意的是数据库管理员不可以对预定义数据库角色进行任何权限修改,也不可以删除这些角色。(2)自定义数据库角色自定义数据库角色可以使用户在数据库中实现某一种特定功能。其优点主要体现在以下几点:l SQL Server数据库角色可以包含多个用户。l 在同一个数据库中用户可以有不同的自定义角色,这种角色的组合是

12、自由的。l 角色可以进行嵌套,从而在数据库中实现不同级别的安全性。用户自定义数据库角色还可以分为两种类型:标准角色和应用角色。标准角色通过对用户权限等级的认定将用户分为不同的用户组,使用户相对于一个或多个角色,进而实现管理的安全性。应用角色使用户只能通过特定的应用程序间接地存取数据库中的数据。二者的区别主要体现在以下几点。l 应用程序角色不包含成员。l 默认情况下,应用程序角色是非活动的,需要用密码激活。l 应用程序角色不使用标准权限。SQL Server中还有一个特殊的数据库角色public,它存在于每一个数据库中,包括系统数据库,如master、msdb、model和用户数据库,数据库的所

13、有用户都属于public角色,并且不能从public角色中删除。1创建数据库角色下面以在数据库“db-kcgl”中创建数据库角色“kcgl”为例,介绍如何在企业管理器中创建数据库角色。操作步骤如下:(1)启动企业管理器,展开服务器组及指定的服务器。(2)展开“数据库”选项,展开指定的数据库“db-kcgl”节点,右键单击“角色”选项,在弹出的快捷菜单中选择“新建数据库角色”命令,如图2所示。(3)进入如图3所示的“数据库角色属性”对话框。在“名称”文本框中输入名称“kcgl”,选择数据库角色类型为“标准角色”,单击“添加”按钮选择要添加的用户。设置完成后单击“确定”按钮即可创建新的数据库角色“

14、kcgl”。 注意:列权限、用户权限、角色权限发生冲突时,列权限优先于用户权限,用户权限优先于角色权限。2删除数据库角色下面使用企业管理器删除数据库角色。操作步骤如下: 图2 建立数据库角色 图3 数据库角色属性(1)启动企业管理器,展开服务器组及指定的服务器。(2)展开指定的数据库“db-kcgl”结点,选中“角色”选项,企业管理器右边的角色列表框中显示相应的角色,鼠标右键单击要删除的角色“kcgl”,在弹出的快捷菜单中选择“删除”命令,SQL Server会出现确认删除的对话框,选择“确定”按钮即可以删除数据库角色,如图4所示。 图4 删除数据库角色 注意:在SQL Server中不能删除

15、预定义的数据库角色。下面使用T-SQL命令删除数据库角色。使用sp_droprole命令可以删除数据库角色。语法:Sp_sp_droprolerolename=role参数说明:rolename:指自定义的数据库角色。示例:本示例使用sp_droprole命令删除数据库“db-kcgl”中的数据库角色“kcgl”。SQL语句如下:USE db-kcglGOEXEC sp_droprolekcglGO 注意:如果该数据库角色中还有成员或仍拥有数据库对象,则无法删除该角色,必须首先删除其中的成员或数据库对象。查看登录账号启动企业管理器,展开服务器组及指定的服务器,展开“安全性”节点,单击“登录”选

16、项,可看到系统创建的默认登录账号及已建立的登录账号,如图1所示。 图1 查看服务器登录账号其中BUILTINAdministrators和sa是系统默认创建的两个登录账号。l BUILTINAdministrators:凡是Windows NT Server/2000中的Administrators组的账号都允许作为SQL Server登录账号使用。l sa:SQL Server系统管理员登录账号,该账号拥有最高的管理权限,可以执行服务器范围内的所有操作。通常SQL Server管理员也是Windows NT或Windows Server 2000的管理员。特殊数据库用户SQL Server的

17、数据库级别上也存在着两个特殊的数据库用户:dbo和guest。它们具有特殊的权限和作用。1dbodbo是数据库的最高权利拥有者,可以在数据库范围内执行一切操作。在安装SQL Server时,被设置到model数据库中,它的用户ID(uid)总是1,并且永远无法从数据库中将其删除。2guestguest是SQL Server数据库中的一个特殊用户,它可以使任何已经登录到SQL Server服务器的用户都可以访问数据库。在系统数据库中除model以外都有guest用户。而且master和tempdb系统数据库中的guest用户不能被删除,其他数据库中的guest用户都可以被创建或删除。但创建时必须

18、使用sp_grantdbaccess命令建立guest用户。示例:本示例使用sp_grantdbaccess命令为数据库“db_kcgl”建立guest用户。SQL语句如下:USE db_kcglEXEC sp_grantdbaccess guestGO使用企业管理器管理权限1设置数据库访问权限下面以设置数据库“kfgl”的访问权限为例介绍如何通过企业管理器设置数据库的访问权限。操作步骤如下:(1)启动企业管理器,展开服务器组及指定的服务器。(2)展开“数据库”节点,鼠标右键单击数据库“kfgl”,在弹出的快捷菜单中选择“属性”命令,打开数据库属性对话框,如图1所示。图1 选择“属性”命令(3

19、)在弹出的数据库属性对话框中单击“权限”选项卡,如图2所示,选择数据库用户“mrsoft”的“创建表”和“创建视图”复选框,即允许创建表及视图。(4)单击“确定”按钮完成权限的设置。图2 数据库属性2设置数据库对象的访问权限用户在具有了访问数据库的权限之后,就可以授予其访问数据库对象的权限了。下面设置允许数据库用户“mrsoft”对数据库“kfgl”中的员工信息表“ygxx”中的数据进行查询、插入、修改和删除操作。操作步骤如下:(1)启动企业管理器,展开服务器组及指定的服务器。(2)展开指定的数据库“kfgl”节点,单击“表”选项,在右侧的列表中右键单击表“ygxx”选项,在弹出的快捷菜单中选

20、择“属性”命令,打开“表属性”对话框,如图3所示。(3)单击“权限”按钮,打开“对象属性”对话框,选择数据库用户“mrsoft”的“SELECT”、“INSERT”、“UPDATE”和“DELETE”复选框,即允许数据库用户“mrsoft”对数据进行查询、插入、修改和删除操作,如图4所示。 图3 表属性图4 设置对象的访问权限 注意:如果选中相应的数据库用户,单击对话框下方的“列”按钮,在弹出的对话框中可以设置个别列的访问权限。3设置数据库角色权限在6.2.2节中新建了一个数据库角色“kcgl”,但没有对其赋予数据库操作权限。下面我们就对数据库角色“kcgl”设置权限。操作步骤如下:(1)启动

21、企业管理器,展开服务器组及指定的服务器。(2)展开指定的数据库“db-kcgl”,选中“角色”选项,在右侧列表中右键单击已经创建的数据库角色“kcgl”,在弹出的快捷菜单中选择“属性”命令,弹出“数据库角色属性”对话框,如图5和图6所示。图5 右键选择“属性”命令 图6 数据库角色属性(3)在如图6所示的“常规”选项卡中,可以添加或者删除数据库角色中的用户,单击“权限”按钮,在弹出的“权限”选项卡中选择角色的权限,如图7所示。图7 数据库角色的“权限”选项卡列表中显示当前数据库角色“kcgl”中的数据表和视图等对象,同时列出对象可以执行的数据操作。单击数据操作所对应的单元格即可设置权限。“”号表示用户对该对象执行相应的操作,“”号表示禁止用户对该对象执行相应的操作。(4)在图7所示的“权限”选项卡中,选中表“DQ”,单击“列”按钮,在出现的“列权限”的“常规”选项卡中对数据库角色赋予对对象的访问权限,如图8所示。 图8 设置列的权限

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1