版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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的用户名和口令。 混合验证模式:混合验证模式接受Wi
3、ndows授权用户和SQL授权用户。如果不是Windows操作系统的用户也希望使用SQL Server,那么应该选择混合验证模式。 SQL Server推荐使用Windows验证模式。,第二个安全性问题是:当用户登录到系统中,可以执行哪些操作,使用哪些对象和资源呢?这也是一个非常基本的安全问题,在Microsoft SQL Server 2008 R2系统中,这个问题是通过安全对象和权限设置来实现的。,第三个安全性问题是:数据库中的对象由谁所有?如果由用户所有,那么当用户被删除时,其所拥有的对象怎么办呢?数据库对象可以成为没有所有者的孤儿吗?在Microsoft SQL Server 2008
4、 R2系统中,这个问题是通过用户和架构分离来解决的。在该系统中,用户并不拥有数据库对象,架构可以拥有数据库对象。用户通过架构来使用数据库对象。这种机制使得删除用户时不必修改数据库对象的所有者,提高了数据库对象的可管理性。数据库对象、架构和用户之间的这种关系如图9-1所示。,图9-1数据库对象、架构和用户之间的关系,1. 操作系统级的安全性 2. SQL Server 级的安全性 3. 数据库级的安全性。,9.1.2 安全性机制,SQL Server的安全性管理可分为3个等级:,用户连接到SQL Server 账户都称SQL Server 的登录。用户可以防止数据库被未授权的用户故意或无意地修改
5、。SQL Server为每一用户分配了唯一的用户名和密码。同时,可以为不同账号授予不同的安全级别。数据库用户是数据库级的主体,是登录名在数据库中的映射,是在数据库中执行操作和活动的执行者。,9.2 管理登录和用户,9.2.1创建登录名,登录属于服务器级的安全策略,要连接到数据库,首先要存在一个合法的登录。在Microsoft SQL Server 2008 R2系统中,许多操作都既可以通过Transact-SQL语句完成,也可以通过Microsoft SQL Server Management Studio工具来完成。下面主要介绍如何使用Microsoft SQL Server Managem
6、ent Studio工具创建登录名。 在SSMS中创建登录的步骤如下。,(1)打开SSMS并连接到目标服务器,在【对象资源管理器】窗口中,单击“安全性”节点前的“”号,展开安全节点。在“登录名”上单击鼠标右键,弹出快捷菜单,从中选择“新建登录(N)”命令,如图9-2所示。,图9-2 利用对象资源管理器创建登录,(2)出现【登录名】对话框,单击需要创建的登录模式前的单选按钮,选定验证方式。如图9-3所示,并完成“登录名”、“密码”、“确认密码”和其他参数的设置。,图9-3 登录名对话框,3)选择“选择页”中的“服务器角色”项,出现服务器角色设定页面,如图9-4所示,用户可以为此用户添加服务器角色
7、。,图9-4登录名对话框的服务器角色页面,(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并连接到目标服务器,在【资源管理器】窗口中,在目标服务器上单击鼠标右键,弹出快捷菜单,从中选择“属性”命
10、令,如图9-9所示。,图 9-9利用对象资源管理器设置身份验证模式,(2)出现【服务器属性】窗口,选择【选择页】中的“安全性”选项,进入安全性设置页面,如图9-10所示,图9-10 服务器属性窗口的安全性页面,(3)在“服务器身份验证”选项级中选择验证模式前的单选按钮,选中需要的验证模式。用户还可以在“登录审核”选项级中设置需要的审核方式,如图9-11所示。,图9-11 服务器属性,审核方式取决于安全性要求,这四种审核级别的含义如下。 “无”:不使用登录审核。 “仅限失败的登录”:记录所有的失败登录。 “仅限成功的登录”:记录所有的成功登录。 “失败和成功的登录”:记录所有的登录。,最后单击“
11、确定”按钮,完成登录验证模式的设置。,9.3. 角色管理 角色用来简化将很多权限分配给用户这一复杂任务的管理。角色允许用户分组接受同样的数据库权限,而不用单独给每一个用户分配这些权限。用户可以使用系统自带的角色,也可以创建一个代表一组用户使用的权限角色,然后把这个角色分配给这个工作组的用户。 一般而言,角色是为特定的工作组或者任务分类而设置的,用户可以根据自己所执行的任务成为一个或多个角色的成员。当然用户可以不必是任何角色的成员,也可以为用户分配个人权限。,在SQL Server安装时,数据库级别上也有一些预定义的角色,在创建每个数据库时都会添加这些角色到新创建的数据库中,每个角色对应着相应的
12、权限。这些数据库角色用于授权给数据库用户,拥有某种或某些角色的用户会获得相应角色对应的权限。,9.3.1管理数据库角色,在Microsoft SQL Server Management Studio中创建新的数据库角色操作的具体步骤如下。,(1)展开要添加新角色的目标数据库,单击目标数据库节点下的“安全性”节点前的“+”号,展开此节点。然后在“角色”节点上单击右键,弹出快捷菜单,选择快捷菜单中的“新建”下“ 新建数据库角色”命令,出现“数据库角色-新建”对话框,如图9-12所示。,图9-12数据库角色-新建对话框,(2)在“常规”选择页地“角色名称”框中输入新角色的名称。若不指定“所有者”,则
13、创建此角色的用户是其所有者。 (3)单击“添加”按钮,选择数据库用户或者角色为此角色的成员。 (4)单击“确定”按钮,完成操作。,在SQL Server安装时就创建了在服务器级别上应用的大量预定义的角色,每个角色对应着相应的管理权限。Microsoft SQL Server 2008 R2系统提供了9个固定服务器角色,这些角色及其功能如表9-2所示。,9.3.2固定服务器角色,表9-2 固定服务器角色,通过给用户分配固定服务器角色,可以使用户具有执行管理任务的角色权限。固定服务器角色的维护比单个权限维护更容易些,但是固定服务器角色不能修改。,在SSMS中,可以按以下步骤为用户分配固定服务器角色
14、,从而使该用户获取相应的权限。,(1)在【对象资源管理器】中,单击服务器前的“+”号,展开服务器节点。单击“安全性”节点前的“+”号,展开安全性节点。这时在次节点下面可以看到固定服务器角色,如图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 数据库的两类权限 预先定义的权限和预先未定义的权限; 针对所有对象的权限和针对特殊对象的权限。 针对所有对象的权限表示这种权限可以针对SQ
16、L Server系统中所有的对象:CONTROL权限是所有对象都有的权限。 针对特殊对象的权限:是指某些权限只能在指定的对象上起作用,例如INSERT可以是表的权限,但是不能是存储过程的权限;而EXECUTE可以是存储过程的权限,但是不能是表的权限。,ALTER ANY权限与ALTER权限是不同的。ALTER权限需要指定具体的安全对象,但是ALTER ANY权限则是与特定安全对象类型相关的权限,不针对某个具体的安全对象。例如,如果某个用户拥有ALTER ANY LOGIN权限,那么表示其可以执行创建、更改、删除SQL Server实例中任何登录名的权限。如果该用户拥有ALTER ANY SCH
17、EMA权限,那么可以执行创建、更改、删除数据库中任何架构的权限。,CONTROL权限为被授权者授予类似所有权的功能,被授权者拥有对安全对象所定义的所有权限。在SQL Server系统中,由于安全模型是分层的,因此CONTROL权限在特定范围内隐含着对该范围内的所有安全对象的CONTROL权限。例如,如果ABCSERVERBobbie登录名拥有对某个数据库的CONTROL权限,那么该登录名就会拥有对该数据库的所有权限、所有架构的所有权限、架构内所有对象的所有权限等。,ALTER权限为被授权者授予更改特定安全对象的属性的权限,实际上这些权限可以包括该对象除所有权之外的权限。实际上,当授予对某个范围
18、内的ALTER权限时,也授予了更改、删除或创建该范围内包含的任何安全对象的权限。例如,如果Tomson_HRM用户拥有了对companyGManager架构的ALTER权限,那么该用户拥有在该架构内创建、更改、删除对象的权限。,数据库对象是授予用户以允许他们访问数据库中对象的一类权限,对象权限对于使用SQL语句访问表或者视图是必须的。 在Microsoft SQL Server Management中给用户添加对象权限的具体步骤如下 。,9.4.2 权限 管理操作,图9-18利用对象资源管理器为用户添加对象权限,(1)依次单击【对象资源管理器】窗口中树型节点前的“”号,直到展开目标数据库的“用
19、户”节点为止,如图9-18所示。在“用户”节点下面的目标用户上单击鼠标右键,弹出快捷菜单,从中选择“属性(R)”命令。,(2)出现【数据库用户】对话框,选择“选择页”窗口中的“安全对象”项,进入权限设置页面,单击“添加(A)”按钮,图9-19数据库用户对话框,(3)出现【添加对象】对话框,如图9-20所示,单击要添加的对象类别前的单选按钮,添加权限的对象类别,然后单击“确定”按钮。,图9-20添加对象对话框,(4)出现【选择对象】对话框,如图9-21所示,从中单击“对象类型”按钮。,图9-21选择对象对话框,(5)出现【选择对象类型】对话框,依次选择需要添加权限的对象类型前的复选框,选中其对象
20、,如图9-22所示。最后单击“确定”按钮。,图9-22选择对象类型对话框,(6)回到【选择对象】对话框,此时在该对话框中出现了刚才选择的对象类型,如图9-23所示,单击该对话框中的“浏览(B)”按钮。,图9-23选择对象对话框,(7)出现【查找对象】对话框,依次选择要添加权限的对象前的复选框,选中其对象,如图9-24所示。最后单击“确定”按钮。,图9-24查找对象对话框,(8)又回到【选择对象】对话框,并且已包含了选择的对象,如图9-25所示。确定无误后,单击该对话框中的“确定”按钮,完成对象选择操作。,图9-25选择对象对话框,(9)又回到【数据库用户】对话框窗口,此窗口中已包含用户添加的对象,依次选择每一个对象,并在下面的该对象的“显示权限”窗口中根据需要选择“授予/拒绝”列的复选框,添加或禁止对该(表)对象的相应访问权限。设置完每一个对象的访问权限后,单击“确定”按钮,完成给用户添加数据库对象权限所有操作,如图所示。,图9-26数据库用户对话框,1、打开Microsoft SQL Server Management Studio,展开安全性文件夹,选择登录名选型,并右键点击,打开创建登录账号窗口,创建一个新的登录账号
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江西育华校2026届初三语文试题二模冲刺试题(八)含解析
- 企业信息化管理升级报告
- 资金安全保障银行承诺书(9篇)
- 2026年城市地下管网智能探测与漏损定位研究
- 2026年应用型本科教育的现状与前景展望
- XX高中国旗下的讲话-用行动书写青春的诗篇
- 历史明清时期的科技与文化 课件-2025-2026学年统编版七年级历史下册
- 2021-2022学年浙江省宁波市余姚市九年级(上)期中科学试卷-带答案详解
- 项目大体积混凝土安全专项施工方案
- 拐卖儿童犯罪协议书人
- 燃料检修潜在风险与预控措施
- 中学生防震减灾知识
- 劳务合同模板电子下载
- 新安全生产法全文-安全生产法全文
- 初中体育-篮球绕杆运球教学课件设计
- 2023年江西环境工程职业学院高职单招(数学)试题库含答案解析
- 《物理(下册)》教学课件-第六章-光现象及其应用
- 苯氨基与硝基化合物中毒
- 麦积山石窟课件
- 分数百分数应用题的复习课件
- 开复工安全检查表
评论
0/150
提交评论