数据库的安全性管理.docx

上传人:小飞机 文档编号:1944879 上传时间:2022-12-27 格式:DOCX 页数:21 大小:767.04KB
返回 下载 相关 举报
数据库的安全性管理.docx_第1页
第1页 / 共21页
数据库的安全性管理.docx_第2页
第2页 / 共21页
数据库的安全性管理.docx_第3页
第3页 / 共21页
数据库的安全性管理.docx_第4页
第4页 / 共21页
数据库的安全性管理.docx_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数据库的安全性管理.docx》由会员分享,可在线阅读,更多相关《数据库的安全性管理.docx(21页珍藏版)》请在三一办公上搜索。

1、第10章 数据库的安全性管理 21第10章 数据库的安全性管理教学目标:掌握SQL Sever 的安全机制,了解登录和用户的概念,掌握权限管理和掌握角色管理。通过本章的学习,要求读者深入理解SQL Server 的安全机制,以及掌握常用的管理操作,培养良好的数据库安全意识以及制定合理的数据库安全策略。建立C/S结构的网络数据库概念,锻炼实际数据库管理能力,为今后从事数据库管理员(DBA)的工作奠定基础。10.1 SQL Server 的安全性机制在介绍安全管理之前,首先看一下SQL Server 是如何保证数据库安全性的,即了解SQL Server 安全机制。10.1.1 权限层次机制SQL

2、Server 2005的安全性管理可分为3个等级:1、操作系统级;2、SQL Server 级3、数据库级。10.1.2 操作系统级的安全性在用户使用客户计算机通过网络实现SQL Server 服务器的访问时,用户首先要获得计算机操作系统的使用权。一般说来,在能够实现网络互联的前提下,用户没有必要向运行SQL Server 服务器的主机进行登录,除非SQL Server 服务器就运行在本地计算机上。SQL Server 可以直接访问网络端口,所以可以实现对Windows NT 安全体系以外的服务器及其数据库的访问,操作系统安全性是操作系统管理员或者网络管理员的任务。由于SQL Server 采

3、用了集成Windows NT网络安全性机制,所以使得操作系统安全性的地位得到提高,但同时也加大了管理数据库系统安全性的灵活性和难度。10.1.3 SQL Server 级的安全性SQL Server 的服务器级安全性建立在控制服务器登录帐号和口令的基础上。SQL Server 采用了标准SQL Server 登录和集成Windows NT登录两种方式。无论是使用哪种登录方式,用户在登录时提供的登录帐号和口令,决定了用户能否获得SQL Server的访问权,以及在获得访问权以后,用户在访问SQL Server时可以拥有的权利。10.1.4 数据库级的安全性在用户通过SQL Server服务器的安

4、全性检验以后,将直接面对不同的数据库入口这是用户将接受的第三次安全性检验。在建立用户的登录帐号信息时,SQL Server会提示用户选择默认的数据库。以后用户每次连接上服务器后,都会自动转到默认的数据库上。对任何用户来说master数据库的门总是打开的,设置登录账号时没有指定默认的数据库,则用户的权限将局限在master数据库以内。在默认的情况下只有数据库的拥有者才可以访问该数据库的对象,数据库的拥有者可以分配访问权限给别的用户,以便让别的用户也拥有针对该数据库的访问权利,在SQL Server 中并不是所有的权利都可以转让分配的。10.2 登录和用户现在从登录和用户开始,讲解SQL Serv

5、er 2005的安全性管理,本节主要讲解登录和用户的基本概念、登录验证模式及其创建登录和用户的操作步骤。10.2.1 登录身份验证模式及其设置首先介绍两个概念:用户和登录。用户连接到SQL Server 账户都称SQL Server 的登录:用户是为特定数据库定义的,要创建用户,你必须已经定义了该用户的登录,用户ID同登录类似,但是它的名称不需要与登录相同。用户可以防止数据库被未授权的用户故意或无意地修改。SQL Server为每一用户分配了唯一的用户名和密码。可以为不同账号授予不同的安全级别。对于访问SQL Server的登录,有两种验证模式:Windows身份验证和混合模式身份验证。在Wi

6、ndows 身份验证中,SQL Server依赖于Windows操作系统提供登录安全性,SQL Server检验登录是否被Windows验证身份,并根据这一验证来允许访问。SQL Server 将自己的登录安全过程同Windows 登录安全过程结合起来提供安全登录服务。网络安全性通过同Windows 提供复杂加密过程进行验证。用户登录一旦通过操作系统的验证,访问SQL Server就不再需要其它的身份验证。如果连接来自一个不安全的系统,我们还可以使用混合模式身份验证,SQL Server 将验证登录的身份,即通过用户提供的登录名和与预先存储在数据库中的登录名和密码进行比较来完成身份验证。下面我

7、们看一看如何在SSMS中设置身份验证模式。(1)打开SSMS并连接到目标服务器,在【资源管理器】窗口中,在目标服务器上单击鼠标右键,弹出快捷菜单,从中选择“属性”命令,如图10.1所示。图 10.1利用对象资源管理器设置身份验证模式(2)出现【服务器属性】窗口,选择【选择页】中的“安全性”选项,进入安全性设置页面,如图10.2所示图10.2 服务器属性窗口的安全性页面(3)在“服务器身份验证”选项级中选择验证模式前的单选按钮,选中需要的验证模式。用户还可以在“登录审核”选项级中设置需要的审核方式,如图10.3所示。审核方式取决于安全性要求,这四种审核级别的含义如下。“无”:不使用登录审核。“仅

8、限失败的登录”:记录所有的失败登录。“仅限成功的登录”:记录所有的成功登录。“失败和成功的登录”:记录所有的登录。图10.3 服务器属性最后单击“确定”按钮,完成登录验证模式的设置。10.2.2 创建登录登录属于服务器级的安全策略,要连接到数据库,首先要存在一个合法的登录。在SSMS中创建登录的步骤如下。(1)打开SSMS并连接到目标服务器,在【对象资源管理器】窗口中,单击“安全性”节点前的“”号,展开安全节点。在“登录名”上单击鼠标右键,弹出快捷菜单,从中选择“新建登录(N)”命令,如图10.4所示。图10.4 利用对象资源管理器创建登录(2)出现【登录名】对话框,单击需要创建的登录模式前的

9、单选按钮,选定验证方式。如图10.5所示,并完成“登录名”、“密码”、“确认密码”和其他参数的设置。图10.5 登录名对话框(3)选择“选择页”中的“服务器角色”项,出现服务器角色设定页面,如图10.6所示,用户可以为此用户添加服务器角色。图10.6 登录名对话框的服务器角色页面(4)选择【登录名】对话框中的“用户映射”项,进入映射设置页面,可以为这个新建的登录添加映射到此登录名的用户,并添加数据库角色,从而使该用户获得数据库的相应角色对应的数据库权限。如图10.7所示。图10.7 登录名对话框的用户映射页面最后单击“登录名”对话框底部的“确定”按钮,完成登录名的创建。10.2.3 创建用户用

10、户是数据库级的安全策略,在为数据库创建新的用户前,必须存在创建用户的一个登录或者使用已经存在的登录创建用户。1、使用Management Studio创建用户使用 Management Studio创建用户的具体步骤如下。(1)打开SSMS并连接到目标服务器,在【对象资源管理器】窗口中,单击“数据库”节点前的“”号,展开数据库节点。单击要创建用户的目标数据节点前的“”号,展开目标数据库节点Northwind。单击“安全性”节点前的“”号,展开“安全性”节点。在“用户”上单击鼠标右键,弹出快捷菜单,从中选择“新建用户(N)”命令,如图10.8所示。图 10.8 利用对象资源管理器创建用户(2)出

11、现【数据库用户新建】对话框,在“常规”页面中,填写“用户名”,选择“登录名”和“默认架构”名称。添加此用户拥有的架构,添加此用户的数据库角色。如图10.9所示。图10.9 新建数据库用户(3)在【数据库用户新建】对话框的“选择页”中选择“安全对象”,进入权限设置页面(即“安全对象”页面),如图10.10所示。“安全对象页面”主要用于设置数据库用户拥有的能够访问的数据库对象以及相应的访问权限。单击“添加”按钮为该用户添加数据库对象,并为添加的对象添加显示权限。图 10.10 数据库用户-新建对话框中的安全对象页面最后,单击【数据库用户新建】对话框底部的“确定”,完成用户创建。10.3 权限管理权

12、限用于控制对数据库对象的访问,以及指定用户对数据库可以执行的操作,用户可以设置服务器和数据库的权限。服务器权限允许数据库管理员执行管理任务,数据库权限用于控制对数据库对象的访问和语句执行。10.3.1 服务器权限服务器权限允许数据库管理员执行任务。这些权限定义在固定服务器角色(Fixed Server Roles)中。这些固定服务器角色可以分配给登录用户,但这些角色是不能修改的。一般只把服务器权限授给DBA(数据库管理员),他不需要修改或者授权给别的用户登录。我们将在后面讲解角色管理时,详细地介绍服务器的相关权限和配置。10.3.2 数据库对象权限数据库对象是授予用户以允许他们访问数据库中对象

13、的一类权限,对象权限对于使用SQL语句访问表或者视图是必须的。在Microsoft SQL Server Management 2005中给用户添加对象权限的具体步骤如下 。(1)依次单击【对象资源管理器】窗口中树型节点前的“”号,直到展开目标数据库的“用户”节点为止,如图10.11所示。在“用户”节点下面的目标用户上单击鼠标右键,弹出快捷菜单,从中选择“属性(R)”命令。图10.11利用对象资源管理器为用户添加对象权限(2)出现【数据库用户】对话框,选择“选择页”窗口中的“安全对象”项,进入权限设置页面,单击“添加(A)”按钮,如图10.12所示。图10.12数据库用户对话框(3)出现【添加

14、对象】对话框,如图10.13所示,单击要添加的对象类别前的单选按钮,添加权限的对象类别,然后单击“确定”按钮。图10.13 添加对象对话框(4)出现【选择对象】对话框,如图10.14所示,从中单击“对象类型”按钮。图10.14 选择对象对话框(5)出现【选择对象类型】对话框,依次选择需要添加权限的对象类型前的复选框,选中其对象,如图10.15所示。最后单击“确定”按钮。图 10.15 选择对象类型 对话框(6)回到【选择对象】对话框,此时在该对话框中出现了刚才选择的对象类型,如图10.16所示,单击该对话框中的“浏览(B)”按钮。图 10.16 选择对象对话框(7)出现【查找对象】对话框,依次

15、选择要添加权限的对象前的复选框,选中其对象,如图10.17所示。最后单击“确定”按钮。图10.17 查找对象对话框(8)又回到【选择对象】对话框,并且已包含了选择的对象,如图10.18所示。确定无误后,单击该对话框中的“确定”按钮,完成对象选择操作。图 10.18 选择对象 对话框(9)又回到【数据库用户】对话框窗口,此窗口中已包含用户添加的对象,依次选择每一个对象,并在下面的该对象的“显示权限”窗口中根据需要选择“授予/拒绝”列的复选框,添加或禁止对该(表)对象的相应访问权限。设置完每一个对象的访问权限后,单击“确定”按钮,完成给用户添加数据库对象权限所有操作,如图10.19所示。图10.1

16、9 数据库用户对话框10.3.3 数据库权限对象权限使用户能够访问存在于数据库中的对象,除了数据库对象权限外,还可以给用户分配数据库权限。SQL Server 2005对数据库权限进行了扩充,增加了许多新的权限,这些数据库权限除了授权用户可以创建数据库对象和进行数据库备份外,还增加了一些更改数据库对象的权限。在Microsoft SQL Server 2005中给用户添加数据库权限的具体步骤如下。 (1)在【对象资源管理器】窗口中,单击服务器前的“+”号,展开服务器节点。单击“数据库”前的“+”号,展开数据库节点。在要给用户添加数据库权限的目标数据库上单击鼠标右键,弹出快捷菜单,如图10.20

17、所示,从中选择“属性(R)”命令。 图 10.20利用对象资源管理器为用户添加数据库权限(2)出现【数据库属性】对话框窗口,选择“选择页”窗口中的“权限”项,进入如图10.21所示的权限设置页面,在该页面的“用户或角色(U)”中选择要添加数据库权限的用户,如果该用户不在列表中,请单击“添加(A)”按钮,添加该用户到当前数据库中。然后在该用户的“显示权限(p)”中添加相应的数据库权限。最后单击“确定”按钮,完成操作。图10.21 数据库属性对话框的权限页面10.4 角色管理角色用来简化将很多权限分配给用户这一复杂任务的管理。角色允许用户分组接受同样的数据库权限,而不用单独给每一个用户分配这些权限

18、。用户可以使用系统自带的角色,也可以创建一个代表一组用户使用的权限角色,然后把这个角色分配给这个工作组的用户。一般而言,角色是为特定的工作组或者任务分类而设置的,用户可以根据自己所执行的任务成为一个或多个角色的成员。当然用户可以不必是任何角色的成员,也可以为用户分配个人权限。10.4.1 固定服务器角色 在SQL Server安装时就创建了在服务器级别上应用的大量预定义的角色,每个角色对应着相应的管理权限。这些固定服务器角色用于授权给DBA(数据库管理员)拥有某种或某些角色的DBA就会获得与相应角色对应的服务器管理权限。通过给用户分配固定服务器角色,可以使用户具有执行管理任务的角色权限。固定服

19、务器角色的维护比单个权限维护更容易些,但是固定服务器角色不能修改。在SSMS中,可以按以下步骤为用户分配固定服务器角色,从而使该用户获取相应的权限。(1)在【对象资源管理器】中,单击服务器前的“+”号,展开服务器节点。单击“安全性”节点前的“+”号,展开安全性节点。这时在次节点下面可以看到固定服务器角色,如图10.22所示,在要给用户添加的目标角色上单击鼠标右键,弹出快捷菜单,从中选择“属性(R)”命令。图 10.22 利用对象资源管理器为用户分配固定服务器角色(2)出现【服务器角色属性】对话框,如图10.23所示,单击“添加(A)”按钮。图 10.23 服务器角色属性对话框(3)出现【选择登

20、陆名】对话框,如图10.24所示,单击“浏览(B)”按钮。图 10.24 选择登录名对话框(4)出现“查找对象”对话框,在该对话框中,选择目标用户前的复选框,选中其用户,如图10.25所示,最后单击“确定”按钮。图10.25 查找对象对话框(5)回到【选择登陆名】对话框,可以看到选中的目标用户已包含在对话框中,确定无误后,如图10.26所示,单击“确定”按钮。图10.26选择登录名对话框(6)回到【服务器角色属性】对话框,如图10.27所示。确定添加的用户无误后,单击“确定”按钮,完成为用户分配角色的操作。图10.27 服务器角色属性对话框10.4.2 数据库角色 在SQL Server安装时

21、,数据库级别上也有一些预定义的角色,在创建每个数据库时都会添加这些角色到新创建的数据库中,每个角色对应着相应的权限。这些数据库角色用于授权给数据库用户,拥有某种或某些角色的用户会获得相应角色对应的权限。可以为数据库添加角色,然后把角色分配给用户,使用户拥有相应的权限,在SSMS中,给用户添加角色(或者叫做将角色授权用户)的操作与将固定服务器角色授予用户的方法类似,通过相应角色的属性对话框可以方便的添加用户,使用户成为角色成员。另外,用户也可以使用图形界面工具Transact-SQL命令创建新角色,使这一角色拥有某个或某些权限;创建的角色还可以修改其对应的权限。无论使用哪种方法,用户都需要完成下

22、列任务:a.创建新的数据库角色。b.分配权限给创建的角色。c.将这个角色授予某个用户。在SSMS创建新的数据库角色操作的具体步骤如下。(1) 展开要添加新角色的目标数据库,单击目标数据库节点下的“安全性”节点前的“+”号,展开此节点。然后在“角色”节点上单击右键,弹出快捷菜单,选择快捷菜单中的“新建”下“ 新建数据库角色”命令,如图10.28所示。10.28新建数据库角色(2) 出现“数据库角色-新建”对话框,在“常规”页面中,添加“角色名称”和“所有者”,并选择此角色所拥有的架构。在此对话框中也可以单击“添加”按钮为新创建的角色添加用户,如图10.29所示。图10.29数据库角色-新建对话框

23、(3) 选择“选择页”中的“安全对象”项,进入权限设置页面(即“安全对象”页面),如图10.30所示。接下来的操作就是为新创建的角色添加所拥有的数据库对象的访问权限。图10.30 数据库角色-新建对话框安全对象页面至此,已经用10.3节和10.4节介绍了数据库权限和角色以及它们在 SSMS中的创建和管理操作,关于如何用 T-SQL语句来实现同样目标的相关内容不再讲解,留给用户自己学习。10.5 小结结合第1章DBMS的DCL数据库的安全性控制功能,讲解了数据库安全控制的基本概念;SQL Server 2005的安全体系结构,包括安全控制策略,身份验证模式,验证模式的设置;SQL Server 2005数据库的安全性管理,包括数据库系统登录管理中管理模式和管理方法,数据库用户管理的基本概念和方法,数据库系统角色管理和权限管理。

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号