您好,欢迎访问三七文档
1第10章数据库的安全性管理教学目标:掌握SQLSever的安全机制,了解登录和用户的概念,掌握权限管理和掌握角色管理。通过本章的学习,要求读者深入理解SQLServer的安全机制,以及掌握常用的管理操作,培养良好的数据库安全意识以及制定合理的数据库安全策略。建立C/S结构的网络数据库概念,锻炼实际数据库管理能力,为今后从事数据库管理员(DBA)的工作奠定基础。10.1SQLServer的安全性机制在介绍安全管理之前,首先看一下SQLServer是如何保证数据库安全性的,即了解SQLServer安全机制。10.1.1权限层次机制SQLServer2005的安全性管理可分为3个等级:1、操作系统级;2、SQLServer级3、数据库级。10.1.2操作系统级的安全性在用户使用客户计算机通过网络实现SQLServer服务器的访问时,用户首先要获得计算机操作系统的使用权。一般说来,在能够实现网络互联的前提下,用户没有必要向运行SQLServer服务器的主机进行登录,除非SQLServer服务器就运行在本地计算机上。SQLServer可以直接访问网络端口,所以可以实现对WindowsNT安全体系以外的服务器及其数据库的访问,操作系统安全性是操作系统管理员或者网络管理员的任务。由于SQLServer采用了集成WindowsNT网络安全性机制,所以使得操作系统安全性的地位得到提高,但同时也加大了管理数据库系统安全性的灵活性和难度。10.1.3SQLServer级的安全性SQLServer的服务器级安全性建立在控制服务器登录帐号和口令的基础上。第10章数据库的安全性管理2SQLServer采用了标准SQLServer登录和集成WindowsNT登录两种方式。无论是使用哪种登录方式,用户在登录时提供的登录帐号和口令,决定了用户能否获得SQLServer的访问权,以及在获得访问权以后,用户在访问SQLServer时可以拥有的权利。10.1.4数据库级的安全性在用户通过SQLServer服务器的安全性检验以后,将直接面对不同的数据库入口这是用户将接受的第三次安全性检验。在建立用户的登录帐号信息时,SQLServer会提示用户选择默认的数据库。以后用户每次连接上服务器后,都会自动转到默认的数据库上。对任何用户来说master数据库的门总是打开的,设置登录账号时没有指定默认的数据库,则用户的权限将局限在master数据库以内。在默认的情况下只有数据库的拥有者才可以访问该数据库的对象,数据库的拥有者可以分配访问权限给别的用户,以便让别的用户也拥有针对该数据库的访问权利,在SQLServer中并不是所有的权利都可以转让分配的。10.2登录和用户现在从登录和用户开始,讲解SQLServer2005的安全性管理,本节主要讲解登录和用户的基本概念、登录验证模式及其创建登录和用户的操作步骤。10.2.1登录身份验证模式及其设置首先介绍两个概念:用户和登录。用户连接到SQLServer账户都称SQLServer的登录:用户是为特定数据库定义的,要创建用户,你必须已经定义了该用户的登录,用户ID同登录类似,但是它的名称不需要与登录相同。用户可以防止数据库被未授权的用户故意或无意地修改。SQLServer为每一用户分配了唯一的用户名和密码。可以为不同账号授予不同的安全级别。对于访问SQLServer的登录,有两种验证模式:Windows身份验证和混合模式身份验证。在Windows身份验证中,SQLServer依赖于Windows操作系统提供登录安全性,SQLServer检验登录是否被Windows验证身份,并根据这一第10章数据库的安全性管理3验证来允许访问。SQLServer将自己的登录安全过程同Windows登录安全过程结合起来提供安全登录服务。网络安全性通过同Windows提供复杂加密过程进行验证。用户登录一旦通过操作系统的验证,访问SQLServer就不再需要其它的身份验证。如果连接来自一个不安全的系统,我们还可以使用混合模式身份验证,SQLServer将验证登录的身份,即通过用户提供的登录名和与预先存储在数据库中的登录名和密码进行比较来完成身份验证。下面我们看一看如何在SSMS中设置身份验证模式。(1)打开SSMS并连接到目标服务器,在【资源管理器】窗口中,在目标服务器上单击鼠标右键,弹出快捷菜单,从中选择“属性”命令,如图10.1所示。图10.1利用对象资源管理器设置身份验证模式(2)出现【服务器属性】窗口,选择【选择页】中的“安全性”选项,进入安全性设置页面,如图10.2所示第10章数据库的安全性管理4图10.2服务器属性窗口的安全性页面(3)在“服务器身份验证”选项级中选择验证模式前的单选按钮,选中需要的验证模式。用户还可以在“登录审核”选项级中设置需要的审核方式,如图10.3所示。审核方式取决于安全性要求,这四种审核级别的含义如下。“无”:不使用登录审核。“仅限失败的登录”:记录所有的失败登录。“仅限成功的登录”:记录所有的成功登录。“失败和成功的登录”:记录所有的登录。图10.3服务器属性第10章数据库的安全性管理5最后单击“确定”按钮,完成登录验证模式的设置。10.2.2创建登录登录属于服务器级的安全策略,要连接到数据库,首先要存在一个合法的登录。在SSMS中创建登录的步骤如下。(1)打开SSMS并连接到目标服务器,在【对象资源管理器】窗口中,单击“安全性”节点前的“+”号,展开安全节点。在“登录名”上单击鼠标右键,弹出快捷菜单,从中选择“新建登录(N)…”命令,如图10.4所示。图10.4利用对象资源管理器创建登录(2)出现【登录名】对话框,单击需要创建的登录模式前的单选按钮,选定验证方式。如图10.5所示,并完成“登录名”、“密码”、“确认密码”和其他参数的设置。图10.5登录名对话框(3)选择“选择页”中的“服务器角色”项,出现服务器角色设定页面,第10章数据库的安全性管理6如图10.6所示,用户可以为此用户添加服务器角色。图10.6登录名对话框的服务器角色页面(4)选择【登录名】对话框中的“用户映射”项,进入映射设置页面,可以为这个新建的登录添加映射到此登录名的用户,并添加数据库角色,从而使该用户获得数据库的相应角色对应的数据库权限。如图10.7所示。图10.7登录名对话框的用户映射页面最后单击“登录名”对话框底部的“确定”按钮,完成登录名的创建。10.2.3创建用户用户是数据库级的安全策略,在为数据库创建新的用户前,必须存在创建用第10章数据库的安全性管理7户的一个登录或者使用已经存在的登录创建用户。1、使用ManagementStudio创建用户使用ManagementStudio创建用户的具体步骤如下。(1)打开SSMS并连接到目标服务器,在【对象资源管理器】窗口中,单击“数据库”节点前的“+”号,展开数据库节点。单击要创建用户的目标数据节点前的“+”号,展开目标数据库节点Northwind。单击“安全性”节点前的“+”号,展开“安全性”节点。在“用户”上单击鼠标右键,弹出快捷菜单,从中选择“新建用户(N)…”命令,如图10.8所示。图10.8利用对象资源管理器创建用户(2)出现【数据库用户-新建】对话框,在“常规”页面中,填写“用户名”,选择“登录名”和“默认架构”名称。添加此用户拥有的架构,添加此用户的数据库角色。如图10.9所示。第10章数据库的安全性管理8图10.9新建数据库用户(3)在【数据库用户-新建】对话框的“选择页”中选择“安全对象”,进入权限设置页面(即“安全对象”页面),如图10.10所示。“安全对象页面”主要用于设置数据库用户拥有的能够访问的数据库对象以及相应的访问权限。单击“添加”按钮为该用户添加数据库对象,并为添加的对象添加显示权限。图10.10数据库用户-新建对话框中的安全对象页面最后,单击【数据库用户-新建】对话框底部的“确定”,完成用户创建。第10章数据库的安全性管理910.3权限管理权限用于控制对数据库对象的访问,以及指定用户对数据库可以执行的操作,用户可以设置服务器和数据库的权限。服务器权限允许数据库管理员执行管理任务,数据库权限用于控制对数据库对象的访问和语句执行。10.3.1服务器权限服务器权限允许数据库管理员执行任务。这些权限定义在固定服务器角色(FixedServerRoles)中。这些固定服务器角色可以分配给登录用户,但这些角色是不能修改的。一般只把服务器权限授给DBA(数据库管理员),他不需要修改或者授权给别的用户登录。我们将在后面讲解角色管理时,详细地介绍服务器的相关权限和配置。10.3.2数据库对象权限数据库对象是授予用户以允许他们访问数据库中对象的一类权限,对象权限对于使用SQL语句访问表或者视图是必须的。在MicrosoftSQLServerManagement2005中给用户添加对象权限的具体步骤如下。(1)依次单击【对象资源管理器】窗口中树型节点前的“+”号,直到展开目标数据库的“用户”节点为止,如图10.11所示。在“用户”节点下面的目标用户上单击鼠标右键,弹出快捷菜单,从中选择“属性(R)”命令。第10章数据库的安全性管理10图10.11利用对象资源管理器为用户添加对象权限(2)出现【数据库用户】对话框,选择“选择页”窗口中的“安全对象”项,进入权限设置页面,单击“添加(A)…”按钮,如图10.12所示。图10.12数据库用户对话框(3)出现【添加对象】对话框,如图10.13所示,单击要添加的对象类别前的单选按钮,添加权限的对象类别,然后单击“确定”按钮。第10章数据库的安全性管理11图10.13添加对象对话框(4)出现【选择对象】对话框,如图10.14所示,从中单击“对象类型”按钮。图10.14选择对象对话框(5)出现【选择对象类型】对话框,依次选择需要添加权限的对象类型前的复选框,选中其对象,如图10.15所示。最后单击“确定”按钮。图10.15选择对象类型对话框(6)回到【选择对象】对话框,此时在该对话框中出现了刚才选择的对象类型,如图10.16所示,单击该对话框中的“浏览(B)…”按钮。第10章数据库的安全性管理12图10.16选择对象对话框(7)出现【查找对象】对话框,依次选择要添加权限的对象前的复选框,选中其对象,如图10.17所示。最后单击“确定”按钮。图10.17查找对象对话框(8)又回到【选择对象】对话框,并且已包含了选择的对象,如图10.18所示。确定无误后,单击该对话框中的“确定”按钮,完成对象选择操作。图10.18选择对象对话框(9)又回到【数据库用户】对话框窗口,此窗口中已包含用户添加的对象,依次选择每一个对象,并在下面的该对象的“显示权限”窗口中根据需要选择“授第10章数据库的安全性管理13予/拒绝”列的复选框,添加或禁止对该(表)对象的相应访问权限。设置完每一个对象的访问权限后,单击“确定”按钮,完成给用户添加数据库对象权限所有操作,如图10.19所示。图10.19数据库用户对话框10.3.3数据库权限对象权限使用户能够访问存在于数据库中的对象,除了数据库对象权限外,还可以给用户分配数据库权限。SQLServer2005对数据库权限进行了扩充,增加了许多新的权限,这些数据库权限除了授权用户可以创建数据库对象和进行数据库备份外,还增加了一些更改数据库对象的权限。在MicrosoftSQLServer2005中给用户添加数据库权限的具体步骤如下。(1)在【对象资源管理器】窗口中,单击服务器前的“+”号,展开服务器节点。单击“数据库”前的“+”号,展开数据库节点。在要给用户添加数据库权限的目标数据库上单击鼠标右键,弹出快捷菜单,如图10.20所示,从中选择“属性(R)”命令。第10章数据库的安全性管理14图10.20利用对象资源管理器为用户添加数据库权限(2)出现【数据库属性】对话框窗口,选择“选择页”窗口中的“权限”项,进入如图10.21所示的权限设置页面,在该页面的“用户或角色(U)”中选择要添加数据库权限的用户,如果该用户
本文标题:数据库的安全性管理
链接地址:https://www.777doc.com/doc-1263040 .html