管理安全性SQLServ.ppt

上传人:小飞机 文档编号:6139843 上传时间:2023-09-28 格式:PPT 页数:50 大小:1.06MB
返回 下载 相关 举报
管理安全性SQLServ.ppt_第1页
第1页 / 共50页
管理安全性SQLServ.ppt_第2页
第2页 / 共50页
管理安全性SQLServ.ppt_第3页
第3页 / 共50页
管理安全性SQLServ.ppt_第4页
第4页 / 共50页
管理安全性SQLServ.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

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

1、第九章 管理安全性,本章主要内容,理解SQL Sever 的安全机制了解登录和用户的概念掌握权限管理策略掌握角色管理策略,9.1 SQL Server 的安全性机制,在介绍安全管理之前,首先看一下SQL Server 是如何保证数据库安全性的,即了解SQL Server 安全机制。,9.1.1安全性问题,理解安全性问题是理解数据库管理系统安全性机制的前提。下面结合Microsoft SQL Server 2008 R2系统的安全特征,分析安全性问题和安全性机制之间的关系。第一个安全性问题是:当用户登录数据库系统时,如何确保只有合法的用户才能登录到系统中呢?这是一个最基本的安全性问题,也是数据库

2、管理系统提供的基本功能。在Microsoft SQL Server 2008 R2系统中,这个问题是通过身份验证模式和主体解决的。身份验证模式是Microsoft SQL Server 2008 R2系统验证客户端和服务器之间连接的方式。Microsoft SQL Server 2008 R2系统提供了两种身份验证模式,Windows身份验证模式和混合模式,安全身份验证 两种确认用户的验证模式。Windows验证模式:利用了Windows本身具备的管理登录、验证用户合法性的能力,允许SQL Server用户登录时使用Windows的用户名和口令。混合验证模式:混合验证模式接受Windows授权

3、用户和SQL授权用户。如果不是Windows操作系统的用户也希望使用SQL Server,那么应该选择混合验证模式。SQL Server推荐使用Windows验证模式。,第二个安全性问题是:当用户登录到系统中,可以执行哪些操作,使用哪些对象和资源呢?这也是一个非常基本的安全问题,在Microsoft SQL Server 2008 R2系统中,这个问题是通过安全对象和权限设置来实现的。,第三个安全性问题是:数据库中的对象由谁所有?如果由用户所有,那么当用户被删除时,其所拥有的对象怎么办呢?数据库对象可以成为没有所有者的孤儿吗?在Microsoft SQL Server 2008 R2系统中,这

4、个问题是通过用户和架构分离来解决的。在该系统中,用户并不拥有数据库对象,架构可以拥有数据库对象。用户通过架构来使用数据库对象。这种机制使得删除用户时不必修改数据库对象的所有者,提高了数据库对象的可管理性。数据库对象、架构和用户之间的这种关系如图9-1所示。,图9-1数据库对象、架构和用户之间的关系,1.操作系统级的安全性2.SQL Server 级的安全性3.数据库级的安全性。,9.1.2 安全性机制,SQL Server的安全性管理可分为3个等级:,用户连接到SQL Server 账户都称SQL Server 的登录。用户可以防止数据库被未授权的用户故意或无意地修改。SQL Server为每

5、一用户分配了唯一的用户名和密码。同时,可以为不同账号授予不同的安全级别。数据库用户是数据库级的主体,是登录名在数据库中的映射,是在数据库中执行操作和活动的执行者。,9.2 管理登录和用户,创建登录名,登录属于服务器级的安全策略,要连接到数据库,首先要存在一个合法的登录。在Microsoft SQL Server 2008 R2系统中,许多操作都既可以通过Transact-SQL语句完成,也可以通过Microsoft SQL Server Management Studio工具来完成。下面主要介绍如何使用Microsoft SQL Server Management Studio工具创建登录名。

6、在SSMS中创建登录的步骤如下。,(1)打开SSMS并连接到目标服务器,在【对象资源管理器】窗口中,单击“安全性”节点前的“”号,展开安全节点。在“登录名”上单击鼠标右键,弹出快捷菜单,从中选择“新建登录(N)”命令,如图9-2所示。,图9-2 利用对象资源管理器创建登录,(2)出现【登录名】对话框,单击需要创建的登录模式前的单选按钮,选定验证方式。如图9-3所示,并完成“登录名”、“密码”、“确认密码”和其他参数的设置。,图9-3 登录名对话框,3)选择“选择页”中的“服务器角色”项,出现服务器角色设定页面,如图9-4所示,用户可以为此用户添加服务器角色。,图9-4登录名对话框的服务器角色页

7、面,(4)选择【登录名】对话框中的“用户映射”项,进入映射设置页面,可以为这个新建的登录添加映射到此登录名的用户,并添加数据库角色,从而使该用户获得数据库的相应角色对应的数据库权限。如图9-5所示。,图9-5 登录名对话框的用户映射页面,9.2.2创建用户,使用 Microsoft SQL Server Management Studio创建用户的具体步骤如下。,(1)打开SSMS并连接到目标服务器,在【对象资源管理器】窗口中,单击“数据库”节点前的“”号,展开数据库节点。单击要创建用户的目标数据节点前的“”号,展开目标数据库节点Northwind。单击“安全性”节点前的“”号,展开“安全性”

8、节点。在“用户”上单击鼠标右键,弹出快捷菜单,从中选择“新建用户(N)”命令,如图9-6所示。,图 9-6利用对象资源管理器创建用户,(2)出现【数据库用户新建】对话框,在“常规”页面中,填写“用户名”,选择“登录名”和“默认架构”名称。添加此用户拥有的架构,添加此用户的数据库角色。如图9-7所示。,图9-7 新建数据库用户,(3)在【数据库用户新建】对话框的“选择页”中选择“安全对象”,进入权限设置页面(即“安全对象”页面),如图9-8所示。“安全对象页面”主要用于设置数据库用户拥有的能够访问的数据库对象以及相应的访问权限。单击“添加”按钮为该用户添加数据库对象,并为添加的对象添加显示权限。

9、,图 9-8 数据库用户-新建对话框中的安全对象页面,最后,单击【数据库用户新建】对话框底部的“确定”,完成用户创建。,9.2.3设置登录验证模式,如果连接来自一个不安全的系统,我们可以使用身份验证,SQL Server 将验证登录的身份,即通过用户提供的登录名和与预先存储在数据库中的登录名和密码进行比较来完成身份验证。下面介绍如何在Microsoft SQL Server Management Studio工具中设置身份验证模式。,(1)打开SSMS并连接到目标服务器,在【资源管理器】窗口中,在目标服务器上单击鼠标右键,弹出快捷菜单,从中选择“属性”命令,如图9-9所示。,图 9-9利用对象

10、资源管理器设置身份验证模式,(2)出现【服务器属性】窗口,选择【选择页】中的“安全性”选项,进入安全性设置页面,如图9-10所示,图9-10 服务器属性窗口的安全性页面,(3)在“服务器身份验证”选项级中选择验证模式前的单选按钮,选中需要的验证模式。用户还可以在“登录审核”选项级中设置需要的审核方式,如图9-11所示。,图9-11 服务器属性,审核方式取决于安全性要求,这四种审核级别的含义如下。“无”:不使用登录审核。“仅限失败的登录”:记录所有的失败登录。“仅限成功的登录”:记录所有的成功登录。“失败和成功的登录”:记录所有的登录。,最后单击“确定”按钮,完成登录验证模式的设置。,9.3.角

11、色管理 角色用来简化将很多权限分配给用户这一复杂任务的管理。角色允许用户分组接受同样的数据库权限,而不用单独给每一个用户分配这些权限。用户可以使用系统自带的角色,也可以创建一个代表一组用户使用的权限角色,然后把这个角色分配给这个工作组的用户。一般而言,角色是为特定的工作组或者任务分类而设置的,用户可以根据自己所执行的任务成为一个或多个角色的成员。当然用户可以不必是任何角色的成员,也可以为用户分配个人权限。,在SQL Server安装时,数据库级别上也有一些预定义的角色,在创建每个数据库时都会添加这些角色到新创建的数据库中,每个角色对应着相应的权限。这些数据库角色用于授权给数据库用户,拥有某种或

12、某些角色的用户会获得相应角色对应的权限。,9.3.1管理数据库角色,在Microsoft SQL Server Management Studio中创建新的数据库角色操作的具体步骤如下。,(1)展开要添加新角色的目标数据库,单击目标数据库节点下的“安全性”节点前的“+”号,展开此节点。然后在“角色”节点上单击右键,弹出快捷菜单,选择快捷菜单中的“新建”下“新建数据库角色”命令,出现“数据库角色-新建”对话框,如图9-12所示。,图9-12数据库角色-新建对话框,(2)在“常规”选择页地“角色名称”框中输入新角色的名称。若不指定“所有者”,则创建此角色的用户是其所有者。(3)单击“添加”按钮,选

13、择数据库用户或者角色为此角色的成员。(4)单击“确定”按钮,完成操作。,在SQL Server安装时就创建了在服务器级别上应用的大量预定义的角色,每个角色对应着相应的管理权限。Microsoft SQL Server 2008 R2系统提供了9个固定服务器角色,这些角色及其功能如表9-2所示。,9.3.2固定服务器角色,表9-2 固定服务器角色,通过给用户分配固定服务器角色,可以使用户具有执行管理任务的角色权限。固定服务器角色的维护比单个权限维护更容易些,但是固定服务器角色不能修改。,在SSMS中,可以按以下步骤为用户分配固定服务器角色,从而使该用户获取相应的权限。,(1)在【对象资源管理器】

14、中,单击服务器前的“+”号,展开服务器节点。单击“安全性”节点前的“+”号,展开安全性节点。这时在次节点下面可以看到固定服务器角色,如图9-13所示,在要给用户添加的目标角色上单击鼠标右键,弹出快捷菜单,从中选择“属性(R)”命令。,图 9-13 利用对象资源管理器为用户分配固定服务器角色,(2)出现【服务器角色属性】对话框,如图9-14所示,单击“添加(A)”按钮。,图 9-14 服务器角色属性对话框,(3)出现【选择登陆名】对话框,如图9-15所示,单击“浏览(B)”按钮。,图 9-15 选择登录名对话框,(4)出现“查找对象”对话框,在该对话框中,选择目标用户前的复选框,选中其用户,如图

15、9-27所示,最后单击“确定”按钮。,图9-15 查找对象对话框,(5)回到【选择登陆名】对话框,可以看到选中的目标用户已包含在对话框中,确定无误后,如图9-16所示,单击“确定”按钮。,图9-16选择登录名对话框,(6)回到【服务器角色属性】对话框,如图9-17所示。确定添加的用户无误后,单击“确定”按钮,完成为用户分配角色的操作。,图9-17 服务器角色属性对话框,9.4 管理权限,9.4.1 数据库的两类权限预先定义的权限和预先未定义的权限;针对所有对象的权限和针对特殊对象的权限。针对所有对象的权限表示这种权限可以针对SQL Server系统中所有的对象:CONTROL权限是所有对象都有

16、的权限。针对特殊对象的权限:是指某些权限只能在指定的对象上起作用,例如INSERT可以是表的权限,但是不能是存储过程的权限;而EXECUTE可以是存储过程的权限,但是不能是表的权限。,ALTER ANY权限与ALTER权限是不同的。ALTER权限需要指定具体的安全对象,但是ALTER ANY权限则是与特定安全对象类型相关的权限,不针对某个具体的安全对象。例如,如果某个用户拥有ALTER ANY LOGIN权限,那么表示其可以执行创建、更改、删除SQL Server实例中任何登录名的权限。如果该用户拥有ALTER ANY SCHEMA权限,那么可以执行创建、更改、删除数据库中任何架构的权限。,C

17、ONTROL权限为被授权者授予类似所有权的功能,被授权者拥有对安全对象所定义的所有权限。在SQL Server系统中,由于安全模型是分层的,因此CONTROL权限在特定范围内隐含着对该范围内的所有安全对象的CONTROL权限。例如,如果ABCSERVERBobbie登录名拥有对某个数据库的CONTROL权限,那么该登录名就会拥有对该数据库的所有权限、所有架构的所有权限、架构内所有对象的所有权限等。,ALTER权限为被授权者授予更改特定安全对象的属性的权限,实际上这些权限可以包括该对象除所有权之外的权限。实际上,当授予对某个范围内的ALTER权限时,也授予了更改、删除或创建该范围内包含的任何安全

18、对象的权限。例如,如果Tomson_HRM用户拥有了对companyGManager架构的ALTER权限,那么该用户拥有在该架构内创建、更改、删除对象的权限。,数据库对象是授予用户以允许他们访问数据库中对象的一类权限,对象权限对于使用SQL语句访问表或者视图是必须的。在Microsoft SQL Server Management中给用户添加对象权限的具体步骤如下。,9.4.2 权限 管理操作,图9-18利用对象资源管理器为用户添加对象权限,(1)依次单击【对象资源管理器】窗口中树型节点前的“”号,直到展开目标数据库的“用户”节点为止,如图9-18所示。在“用户”节点下面的目标用户上单击鼠标右

19、键,弹出快捷菜单,从中选择“属性(R)”命令。,(2)出现【数据库用户】对话框,选择“选择页”窗口中的“安全对象”项,进入权限设置页面,单击“添加(A)”按钮,图9-19数据库用户对话框,(3)出现【添加对象】对话框,如图9-20所示,单击要添加的对象类别前的单选按钮,添加权限的对象类别,然后单击“确定”按钮。,图9-20添加对象对话框,(4)出现【选择对象】对话框,如图9-21所示,从中单击“对象类型”按钮。,图9-21选择对象对话框,(5)出现【选择对象类型】对话框,依次选择需要添加权限的对象类型前的复选框,选中其对象,如图9-22所示。最后单击“确定”按钮。,图9-22选择对象类型对话框

20、,(6)回到【选择对象】对话框,此时在该对话框中出现了刚才选择的对象类型,如图9-23所示,单击该对话框中的“浏览(B)”按钮。,图9-23选择对象对话框,(7)出现【查找对象】对话框,依次选择要添加权限的对象前的复选框,选中其对象,如图9-24所示。最后单击“确定”按钮。,图9-24查找对象对话框,(8)又回到【选择对象】对话框,并且已包含了选择的对象,如图9-25所示。确定无误后,单击该对话框中的“确定”按钮,完成对象选择操作。,图9-25选择对象对话框,(9)又回到【数据库用户】对话框窗口,此窗口中已包含用户添加的对象,依次选择每一个对象,并在下面的该对象的“显示权限”窗口中根据需要选择

21、“授予/拒绝”列的复选框,添加或禁止对该(表)对象的相应访问权限。设置完每一个对象的访问权限后,单击“确定”按钮,完成给用户添加数据库对象权限所有操作,如图所示。,图9-26数据库用户对话框,1、打开Microsoft SQL Server Management Studio,展开安全性文件夹,选择登录名选型,并右键点击,打开创建登录账号窗口,创建一个新的登录账号Guest,采用SQL Server身份验证,密码为空,例题:结合HOTLE数据库,练习创建登录帐号以及权限设置和回收等相关操作,图9-27新建登录账号Guest,2、依次展开数据库hotel安全性用户文件夹,为hotel数据库创建一

22、个与Guest对应的用户账号:righttest(如图9-28),图9-28选择对象对话框,3、点击新创建的righttest用户,在“选择页”展开安全对象窗口,并通过选择来设定righttest用户对于“客房信息表”的“SELECT”权限,图9-30为righttest用户分配权限,4、在查询分析器中,使用Guest登录,并使用语句:SELECT*FROM 客房信息,执行成功,如图9-31所示。,图9-31验证righttest用户的“SELECT”权限,5、打开righttest用户的属性窗口,选择“安全对象”选项,在该窗口里面可以收回前面设定的righttest用户的权限,图9-32收回righttest用户的权限,9.5 本章小结,本章讲解了SQL Server引擎的核心安全特性。我们了解了数据库安全控制的基本概念;SQL Server 2008的安全体系结构,包括安全控制策略,身份验证模式,验证模式的设置;SQL Server 2008数据库的安全性管理,包括数据库系统登录管理中管理模式和管理方法,数据库用户管理的基本概念和方法,数据库系统角色管理和权限管理等。通过本章的学习,读者能够理解SQL Server 的安全机制,以及掌握常用的管理操作,培养良好的数据库安全意识以及制定合理的数据库安全策略。,The End,

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

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


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号