【大学课件】SQL Server的安全管理.ppt

上传人:本田雅阁 文档编号:3034311 上传时间:2019-06-28 格式:PPT 页数:45 大小:1.41MB
返回 下载 相关 举报
【大学课件】SQL Server的安全管理.ppt_第1页
第1页 / 共45页
【大学课件】SQL Server的安全管理.ppt_第2页
第2页 / 共45页
【大学课件】SQL Server的安全管理.ppt_第3页
第3页 / 共45页
【大学课件】SQL Server的安全管理.ppt_第4页
第4页 / 共45页
【大学课件】SQL Server的安全管理.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《【大学课件】SQL Server的安全管理.ppt》由会员分享,可在线阅读,更多相关《【大学课件】SQL Server的安全管理.ppt(45页珍藏版)》请在三一文库上搜索。

1、第十三章 SQL Server的安全管理,1,http:/ 如何通过视图来限制用户对敏感数据的访问 如何用角色来明确访问的级别,http:/ Server的安全管理,安全性问题对于绝大多数的数据库应用程序来说都是至关重要的。设计每一个数据库应用程序的元素时,都要有安全意识。设置的安全因素包括身份验证模式、登录、用户、角色、授权、废除和拒绝Transact-SQL语句和对象上的许可以及资料加密。 合理有效的数据库安全机制既可以保证被授权用户能够方便地访问数据库中的数据,又能够防止非法用户的入侵。SQL Server 2005提供了设计完善、操作简单的安全管理机制。Microsoft SQL Se

2、rver 2005 Analysis Services (SSAS,SQL Server分析服务器)依赖 Microsoft Windows 来对用户进行身份验证。默认情况下,只有经过身份验证的用户(在 Analysis Services 内具有权限)才能建立与Analysis Services的连接。当用户连接到Analysis Services之后,则用户在 Analysis Services内具有的权限由直接分配或通过 Windows 角色中成员身份分配给该用户所属 Analysis Services 角色的权限来确定。本章将介绍如何对SQL Server实例和数据库的访问进行授权、如何

3、在数据库级和服务器级管理角色。,3,http:/ SQL Server的安全概述,要弄清楚SQL Server是如何保证数据库安全,则需要了解SQL Server的安全机制。SQL Server 2005的权限是分层进行管理的,在每一层都有相应的安全性机制,SQL Server通过管理这种分层的安全性机制,保证数据库的安全使用。SQL Server 2005的安全性管理可分为三个等级:即操作系统级、SQL Server级和数据库级。,4,http:/ 服务器级的安全性,SQL Server的服务器级的安全性建立在控制服务器登陆帐号和密码的基础上。用户在登录时提供的登录帐号和密码,决定了用户能否

4、获得SQL Server的访问权,以及在登录以后,用户在访问SQL Server进程时可以拥有的权利。 SOL Server采用了标准SQL Server登录和集成Windows NT登录两种方式。无论是使用那种登录方式,用户在登录时提供的登录帐号和口令,决定了用户能否获得SQL Server的访问权,以及在获得访问权以后,用户在访问SQL Server进程时可以拥有的权限。管理和设计合理的登录方式是SQL Server管理员DBA(数据库管理员)的重要任务,是SQL Server安全体系中,DBA可以发挥主动性的第一道防线。 SQL Server首先使用以下三种方法之一来识别用户: Wind

5、ows用户登录 Windows用户组的成员资格 SQL Server专用登录,5,http:/ 数据库级的安全性,在用户通过SQL Server服务器的安全性检验以后,将直接面对不同的数据库入口,这是用户接受的又一次安全性检验。在建立用户的登录帐号信息时,SQL Server会提示用户选择默认的数据库,以后用户每次连接上服务器后,都会自动转到默认的数据库上。对任何用户来说,master数据库的门总是打开的,如果在设置登录帐号时没有指定默认的数据库,则用 户的权限将局限在master数据库以内。 用户登录了数据库后,仍然不能访问数据,必须为其授予访问数据库对象(表、存储过程、视图和函数等)的权限

6、,才能够访问数据。权限的分配通过角色来定义,用户定义的角色是定制的角色,其作用就像一个用户组。可以为角色授予访问数据库对象的权限,并将用户加入数据库的用户定义角色。 服务器角色成员在每个数据库内创建这些数据库角色,向这些数据库角色授予管理或用户权限,然后将 Windows 用户和组添加到这些数据库角色中。,6,http:/ 对象的所有权,权限用于控制用户对数据库对象的访问,以及指定用户对数据库可以执行的操作。用户可以设置服务器和数据库的权限,服务器权限允许数据库管理员执行管理任务,数据库权限用于控制对数据库对象的访问和语句执行。 1.服务器权限 服务器权限允许数据库管理员执行管理任务。这些权限

7、定义在固定服务器角色(fixed Server roles)中。固定服务器角色的权限可以分配给其他角色,但固定服务器角色本身是不能修改的。一般只把服务器权限授给DBA,他不需要修改或者授权给别的用户登录。 2.数据库对象权限 数据库对象权限指对已存在的数据库对象的操作权限,包括对数据库对象的SELECT、INSERT、UPDATE 、DELETE和EXECUTE权限。 数据库对象权限是授予用户以允许他们访问数据库中对象的一类权限,对象权限对于使用SQL语句访问表或者视图是必须的。 3.数据库权限 对象权限使用户能够访问存在于数据库中的对象,除了数据库对象权限外,还可以给用户分配数据库权限。SQ

8、L Server 2005对数据库权限进行了扩充,增加了许多新的权限,这些数据库权限除了授权用户可以创建数据库对象和进行数据库备份外,还增加了一些更改数据库对象的权限。,7,http:/ 管理角色,角色用来简化将很多权限分配给很多用户这一复杂任务的管理。角色允许用户分组接受同样的数据库权限,而不用单独给每一个用户分配这些权限。用户可以使用系统自带的角色,也可以创建一个代表一组用户使用的权限角色,然后把这个角色分配给这个工作组的用户。一般而言,角色是为特定的工作组或者任务分类而设置的,新 用户可以根据自己所执行的任务成为一个或多个角色的成员。当然用户可以不属于是 任何角色,SQL Server允

9、许为用户分配个人权限。 角色是一个强大的工具,它可以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除权限适用于该角色中的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。,8,http:/ 固定服务器角色,服务器角色只有固定服务器角色,用于对数据库服务器的操作。对数据库服务器操作的权限不能直接赋给其他登录帐户,只能使某些登录帐户成为固定服务器角色的成员,才能使他们具有这些权限。固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。服务器角色是负责管理与维护SQL Server的组,一般指定需要管理服务器的登录帐号属于服务

10、器角色。SQL Server在安装过程中定义几个固定的服务器角色,其具体权限如表13-1所示。,表13-1固定服务器角色成员表,9,http:/ 固定数据库角色,10,固定数据库角色用于对单个数据库进行操作,每个数据库都有一系列固定数据库角色,尽管在不同的数据库内他们是同名的,但各自的作用范围都仅限于本数据库。固定数据库角色(Database Roles)是数据库级的主体,可以使用固定数据库角色来为一组数据库用户指定数据库权限。在SQL Server中,固定数据库角色可分为两种:标准(默认)角色和应用程序角色。SQL Server 2005为数据库创建了一套标准(默认)的数据库角色。表13-2

11、列出了这些标准(默认)的角色。标准(默认)角色是由数据库成员所组成的组,成员可以是用户或者其他的数据库角色。应用程序角色用来控制应用程序存取数据库,它本身并不包括任何成员。,表13-2标准(默认)的数据库角色,http:/ 自定义角色的管理,11,角色是一个强大的工具,它可以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除的权限适用于该角色中的任何成员。可以建立一个角色来代表单位中类工作人员所执行的工作,然后给这个角色授予适当的权限。 创建用户定义的数据库角色就是创建一组用户,这些用户具有相同的一组权限。如果一组用户需要执行在SQL Server中指定的一组操作并且不存

12、在对应Windows NT/Windows 2000/Windwos 2003组,或者没有管理Windows NT/Windows 2000/Windwos 2003用户帐户的权限,就可以在数据库中建立一个用户自定义的数据库角色。 用户自定义的数据库角色有两种类型,即标准角色和应用程序角色。 标准角色通过对用户权限等级的认定将用户划分为不同的用户组,使用户总是相对于一个或多个角色,从而实现管理的安全性。所有固定的数据库角色或SQL Server管理者自定义的某一角色都是 标准角色。 应用程序角色是一种比较特殊的角色。当打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据,而不是直接地存

13、取数据库数据时,就应该考虑使用应用程序角色。当某一用户使用了应用程序角色时,他便放弃了己被赋予的所有数据库专有权限,他所拥有的只是应用程序角色被设置的角色。通过应用程序角色,能够以可控的方式限定用户的语句或者对象权限。编写数据库应用程序时,可以定义应用程序角色,让应用程序的操作者能用该应用程序来存取SQL Server的数据。也就是说,应用程序的操作者本身并不需要在 SQL Server上有登录帐号以及用户帐号,仍然可以存取数据库,这样可以避免操作者自行登录SQL Server。,http:/ 管理服务器的安全性,12,http:/ Studio管理登录帐户,13,1配置身份验证模式 可以通过

14、以下方法在SQL Server Management Studio中配置身份验证模式。 (1)从【开始】菜单中选择【所有程序】|【Microsoft SQL Server 2005】|【SQL Server Management Studio】。 (2)在【连接到服务器】对话框中,单击【连接】按钮。 (3)在【对象资源管理器】中,右键单击SQL Server实例名(如NET-DB)并在弹出菜单中选择【属性】。 (4)在【选择页】面板中,选择【安全性】图标。 (5)在【服务器身份验证】区域,选择自己想要的身份验证模式。如图13.1所示。 2.Windows验证模式 在该验证模式下,SQL Ser

15、ver检测当前使用的Windows用户帐号,并在Syslogins表中查找该帐号,以确定该帐号是否有权登录。由于已经通过了Windows的认证,用户不必提供密码或者登录名让SQL Server验证。,http:/ Studio管理登录帐户,图13.1 在SQL Server Management Studio中设置身份验证模式,图13.2 Windows验证模式登录图,http:/ Studio管理登录帐户,Windows验证模式下主要有以下优点: (1)数据库管理员的工作可以集中在管理数据库方面,而不是管理用户帐户。对用户帐户的管理可以交给Windows NT/2000/2003去完成。 (

16、2)WindowNT/2000/2003有着更强的用户帐户管理工具。可以设置帐户锁定、密码期限等。如果不是通过定制来扩展SQL Server,SQL Server是不具备这些功能的。 (3)Windows NT/2000/2003的组策略支持多个用户同时被授权访问SQL Server。 3.混合身份验证模式 在这种身份验证模式下,用户既可以使用Windows身份验证模式又可以使用SQL Server身份验证模式来连接SQL Server。在后一种情况下,SQL Server依据现有的SQL Server登录名来验证用户的身份。使用SQL Server身份验证需要用户在连接字符串中提供连接SQL

17、 Server的用户名和密码。使用哪种模式取决于在最初通信时使用的网络库。如果一个用户使用的是TCP/IP的Sockets进行登录验证,则将使用SQL Server验证模式;如果用户使用命名管道,则登录时将使用Windows验证模式。,http:/ Studio管理登录帐户,SQL Server验证模式下,处理登录的过程为:用户在输入登录名和密码后,SQL Server在系统注册表中检测输入的登录名和密码。如果输入的登录名存在,而且密码也正确,就可以登录到SQL Server上。混合验证登录参看图13.3。 混合验证模式具有以下优点: (1)创建了Windows NT/2000/2003之上的

18、另外一个安全层次。 (2)支持更大范围的用户,如非Windows NT客户、Novell网用户等。 (3)一个应用程序可以使用单个的SQL Server登录帐号和口令。 一般情况下,Windows身份验证模式是推荐的身份验证模式。在Windows身份验证模式中,连接链路中没有密码信息。还可以在集中的企业存储方案(例如Active Directory)中管理用户帐户信息,利用操作系统已有的所有安全特性。,图13.3混合验证模式登录图,http:/ CREATE LOGIN login_name WITH FROM : : = WINDOWSWITH. . . . | CERTIFICATE ce

19、rtname | ASYMMETRIC KEY asym_key_name := PASSWORD = password HASHED MUST_CHANGE , , : : = SID=sid | DEFAULT_DATABASE=database | DEFAULT LANGUAGE=1anguage | CHECK EXPIRATION = ON | OFF | CHECK_POLICY= ON | OFF | CREDENTIAL = credential-name : : = DEFAULT_DATABASE= database | DEFAULT_LANGUAGE=language

20、,http:/ login_name:要创建的登录的名称。 WINDOWS:说明登录将被映射到Windows登录。 CERTIFICATE certname:指定创建的登录所映射的证书,此证书必须在master数据库中存在。 ASYMMETRIC KEY asym_key_name:制定登录所映射的非对称密钥,此密钥必 须在master数据库中存在。 PASSWORD= Password:要创建的登录的密码,只使用于SQL Server登录。 HASHED:只使用于SQL Server登录。用于确定用户输入的密码将被散列存储。如果没有此选项,密码将首先被散列计算,然后存储在数据库中。 MUST

21、_CHANGE:创建新登录后,第一次登录必须更改密码,只使用于SQL Server 登录。 SID=sid:指定新创建登录的GUID,指适用于SQL Server登录,如果没有定义,将随机分配一个GUID给新创建的登录。 DEFAULT DATABASE=database:新创建登录可以访问的默认数据库,如果没有定义,默认为master数据库。 DEFAULT_LANGUAGE=language:登录使用的默认语言,如果没有指定就为当前服务器的默认语言,以后更改服务器的默认语言并不会影响已创建登录的默认语言。 CHECK EXPIRATION=ON | OFF:是否使用终止期限策略,只使用于S

22、QL Server登录。 CHECK_POLICY=ON | OFF:是否对新建登录使用Windows的口令策略,只 使用于SQL Server登录。 CREDENTIAL=credential name:新创建的SQL Server登录要映射的信任的名称。此信任必须已经存在于数据库中。,http:/ sa帐户,19,sa登录是默认的登录,对SQL Server有完全的管理权限。如果启用SQL Server身份验证模式的安装,在安装过程中将强制为该帐户设置密码,因为sa是功能十分强大的登录,它存在于所有的SQL Server安装中。当用sa登录到SQL Server时,将能够完全控制SQL S

23、erver的任何一个特性。无论安装采用何种身份验证模式,SQL Server中都将加入这一ID,所以应该尽量避免名为sa的登录ID。 如果在【身份验证模式】界面选择了混合模式身份验证,则必须为sa帐户设置强密码。在这一点上,SQL Server 2005有了很大的改进,它强制要求为帐户设置密码,尽管设置的密码可能是极易被猜出的。例如,不要使用类似password或adminpwd的密码。不仅要始终保证密码安全,而且要在安全的地方记下密码。否则,如果忘记了sa的密码,而sa是当前存在的唯一的管理ID,那么只有重装SQL Server。妥当的密码应该是混合了数字和字母的,但不要总包含可以转化成数字

24、的字母或者可以转化成字母的数字。例如,P455W0RD是很容易由PASSWORD来猜出的。 有时需要使用混合模式身份验证。例如,由于很多应用程序可能运行在一台Web服务器上,因此因特网提供商(ISP)使用混合模式验证身份。如果ISP是转售商,谁也不会希望同样使用该计算机的其他用户能看到自己的数据。可是已经决定了不以sa身份登录,那么该怎么做呢?可以这样,创建一个具有用户需要的访问权力的登录ID,也就是说,该ID具有刚好能够看到数据并用所需要的数据进行工作的能力,不多也不少。ISP可能要求提供用户ID和密码,以便在其SQL Server实例上创建帐户。,http:/ 服务器角色,20,通过给用户

25、分配固定服务器角色,可以使用户具有执行管理任务的角色权限。固定服务器角色的维护比单个权限维护更容易些,但是固定服务器角色不能修改。 在Microsoft SQL Server Management studio中,可以按以下步骤为用户分配固定服务器角色,从而使该用户获取相应的权限。 (1)在 【对象资源管理器】中,展开服务器下的【安全性】|【服务器角色】节点,可以看到固定服务器角色,如图13.4所示,在要添加用户的角色上单击鼠标右键,弹出快捷菜单,从中选择【属性(R)】命令。,图13.4为用户分配固定服务器角色,(2)出现【服务器角色属性】对话框,在该对话框中,单击【添加(D)】按钮。 (3)

26、出现【选择登录名】对话框,如图13.5所示,单击【浏览()】按钮。,http:/ (5)回到图13.5的【选择登录名】对话框,选中的目标用户出现在【输入要选择的对象名称】框中,单击【确定】按钮。 (6)返回到第(2)步的【服务器角色属性】对话框,确认添加的用户无误后,单击【确定】按钮,完成为用户分配角色的操作。,图13.5 【选择登录名】对话框,图13.6 【查找对象】对话框,http:/ 管理数据库用户,22,http:/ Studio管理数据库用户,23,1创建数据库的用户 (1)进入SQL Server Management Studio后,在 【对象资源管理器】中,展开SQL Serv

27、er组及其服务器。在【数据库】文件夹中,展开某一数据库(如Student),点击【安全性】选项,然后在【用户】选项上单击鼠标右键,在弹出的快捷菜单中选择【新建用户】命令,打开新建用户对话框。如图13.7所示。 (2)在【用户名】处填“StudentAmd”。单击【登录名】右端 ,弹出【选择登录名】对话框,如图13.5所示,点击【浏览】按钮选择查找登录名,选择已有的系统用户名后确定返回。这时【用户名】文本框显示为“StudentAmd”,【登录名】文本框显示为已选的用户名。 (3)设置完毕后,单击【确定】按钮,即可在Student数据库中创建一个新的用户帐号。,图13.7 【数据库用户-新建】对

28、话框,http:/ Studio管理数据库用户,2.修改数据库的用户 在数据库中建立一个数据库用户帐号时,要为该帐号设置某种权限,可以通过为它指定适当的数据库角色来实现。修改所设置的权限时,只需要修改该帐号所属的数据库角色就行了。修改的步骤是: (1)进入SQL Server Management Studio后,在 【对象资源管理器】中展开SQL Server组及其服务器。在【数据库】文件夹中,展开要修改用户属性的数据库,如Student的文件夹,点击【安全性】选项。 (2) 单击【用户】节点,然后在详细信息窗格中右击要修改的用户帐号并选择【属性】命令。 (3) 当出现【数据库用户】对话框时

29、,重新选择用户帐号所属的数据库角色。单击【确定】按钮。 3.删除数据库的用户 可以根据需要删除数据库中的某个用户,删除数据库用户步骤是: (1)进入 SQL Server Management Studio后,在 【对象资源管理器】中展开SQL Server组及其服务器。在【数据库】文件夹中,展开要删除的用户帐号所属的数据库,如Student,点击【安全性】选项。 (2)单击【用户】节点,然后在详细信息窗格中右击要删除的用户帐号并选择【删除】命令或选中该用户直接按键。 (3)在弹出的对话框中,单击【是】按钮,确认用户帐户删除操作。,http:/ 使用T-SQL语句管理数据库用户,25,1使用T

30、ransact-SQL创建数据库用户 创建数据库用户的语法如下: CREATE USER user_name FOR | FROM LOGIN login_name | CERTIFICATE cert_name | ASYMMETRIC KEY asym_key_name | WITHOUT LOGIN WITH DEFAULT_SCHEMA = schema_name 参数说明如下。 user_name:新创建的用户名。 LOGIN login_name:新创建的用户名所属的登录名。 WITH DEFAULT_SCHEMA = schema_name:制定新建用户名的默认架构(schema

31、)名称。 关于用Transact-SQL创建登录和用户的具体例子,见本章的上机指导。,http:/ 删除数据库用户的语法如下: sp_revokedbaccess name_in_db = name 参数说明:name 为当前数据库中要删除的用户名。 例13-1:下面的示例从Student数据库中删除用户studentAdm。 语句如下: USE Student EXEC sp_revokedbaccess studentAdm,图13.8 执行结果,http:/ dbo用户和guest用户,27,在安装SQL Server后,默认数据库中包含两个用户:dbo和guest。任何一个登录帐号都可

32、以通过guest帐号来存取相应的数据库。但是当建立一个新的数据库时,默认只有dbo帐号而没有guest帐号。 在创建一个数据库时,SQL Server 2005自动将创建该数据库的登录帐户设置为该数据库的一个用户,并起名为dbo。dbo是数据库的拥有者,不能从数据库中删除,dbo对本数据库拥有所有操作权限,并可以将这些权限全部或部分授予其他数据库用户。另外,属于固定服务器角色sysadmin的成员也映射为所有数据库的dbo。 在每个数据库中都可以建立一个guest用户帐户,该帐户代表对一个数据库拥有最低权限的访问者。当使用某个登录帐户连接到SQL Server时,如果在一个数据库中没有用户帐户

33、,则允许通过guest帐户来使用该数据库。 当满足下列条件时,登录采用guest用户的标识: (1)拥有访问SQL Server实例的权限,但没有通过自己的用户帐户访问数据库的权限。 (2)数据库中含有guest用户帐户。 与其他用户帐户一样也可以将权限应用到guest用户。在系统数据库master和tempdb中,guest用户必须始终存在。除了这两个系统数据库以外,可以在所有数据库中添加或删除guest用户。但在默认情况下,新建的数据库中并没有guest用户帐户。 例13-2:将guest用户帐户添加到名为Student的数据库中。 USE Student G0 EXEC sp_grant

34、dbaccess guest,http:/ 自定义数据库角色,28,用户也可以使用图形界面工具和Transact-SQL命令创建新的数据库角色,使这一角色拥有某个或某些权限。无论使用哪种方法,用户都需要完成下列任务: 创建新的数据库角色。 分配权限给创建的角色。 将这个角色授予某个用户。 在Microsoft Server Management Studio创建新的数据库角色操作的具体步骤如下。 (1)在SQL Server Management Studio中,选中【对象资源管理器】,展开服务器节点。在【数据库】文件夹中,展开某一数据库(如Student)的文件夹,选择【安全性】项。 (2)

35、然后在【角色】选项上单击鼠标右键,在弹出的快捷菜单中选择【新建数据库角色】菜单命令,则出现【数据库角色-新建】对话框。如图13.9所示。,图13.9 【数据库角色-新建】对话框,http:/ 【数据库角色-新建】对话框,http:/ (5)在【安全对象】页面上,单击【添加(D)】按钮,选择【特定对象】单选项,然后单击【确定】按钮。 (6)单击【对象类型】按钮,选择【表】,然后单击【确定】按钮。 (7)单击【浏览】按钮,选择dbo.Classes,dbo.Courses等表,然后单击【确定】按钮。 (8)在“dbo.Classes的显示权限”列表中,根据授权规则选择【选择】旁边的【授予】或【拒绝

36、】复选框,然后单击【确定】按钮。,图13.11 【数据库角色-新建】对话框(【安全对象】页面),http:/ 管理权限,http:/ Studio管理权限,32,1服务器权限 服务器权限允许数据库管理员执行管理任务。这些权限定义在固定服务器角色中。这些固定服务器角色可以分配给登录用户,但这些角色是不能修改的。一般只把服务器权限授给DBA(数据库管理员),他不需要修改或者授权给别的用户登录。服务器的相关权限和配置参见前述内容。 2数据库对象权限 在Microsoft SQL Server Management 2005中给用户添加对象权限的具体步骤如下。 (1)依次单击【对象资源管理器】窗口中树

37、型节点前的“+”号,直到展开目标数据库(如Student)的【用户】节点为止,如图13.12所示。在【用户】节点下面的目标用户上单击鼠标右键,弹出快捷菜单,从中选择【属性(R)】命令。,图13.12 利用【对象资源管理器】为用户添加对象权限,http:/ Studio管理权限,(2)在打开的【数据库用户】对话框中,选择【选择页】窗口中的【安全对象】项,单击该页面的【添加(A)】按钮。 (3)出现【添加对象】对话框,如图13.13所示,单击要添加的对象类别前的单选按钮,选中要添加权限的对象类别,然后单击【确定】按钮。,图13.13 【添加对象】对话框,http:/ Studio管理权限,(4)出

38、现【选择对象】对话框,如图13.14所示,从中单击【对象类型】按钮。 (5)出现【选择对象类型】对话框,依次选择需要添加权限的对象类型前的复选框,选中其对象,如图13.15所示。最后单击【确定】按钮。,图13.14 【选择对象】对话框,图13.15 【选择对象类型】对话框,http:/ Studio管理权限,(6)回到【选择对象】对话框,此时在该对话框中出现了刚才选择的对象类型,单击该对话框中的【浏览(B)】按钮。出现【查找对象】对话框,依次选择要添加权限的对象前的复选框,选中其对象,如图13.16所示。最后单击【确定】按钮。 (7)返回到【选择对象】对话框,其中已包含了选择的对象,如图13.

39、17所示。确定无误后,单击该对话框中的【确定】按钮,完成对象选择操作。,图13.16 【查找对象】对话框,图13.17 【选择对象】对话框,http:/ Studio管理权限,(8)回到【数据库用户】对话框窗口,此窗口中己包含用户添加的对象,如图13.18,依次选择每一个对象,并在下面的该对象的【显式权限】窗口中根据需要选择【授予】【拒绝】列的复选框,添加或禁止对该对象的相应访问权限。设置完每一个对象的访问权限后,单击【确定】按钮,完成给用户添加数据库对象权限的所有操作。,图13.18 【数据库用户】对话框,http:/ Studio管理权限,3. 数据库权限 在Microsoft SQL S

40、erver 2005中给用户添加数据库权限的具体的步骤如下: (1)在【对象资源管理器】窗口中,单击服务器前的“+”号,展开服务器节点。单击【数据库】前的“+”号,展开数据库节点。在要给用户添加数据库权限的目标数据库(如Student)上单击鼠标右键,弹出快捷菜单,如图13.19所示,从中选择【属性(R)】命令。 (2)出现【数据库属性】对话框窗口,选择【选择页】窗口中的【权限】项,进入如图13.20所示的权限设置页面,在该页面的【用户或角色(U)】中选择要添加数据库权限的用户,如果该用户不在列表中,请单击【添加(A)】按钮,添加该用户到当前数据库中。然后在该用户的【显式权限(P)】中添加相应

41、的数据库权限。最后单击【确定】按钮,完成操作。,图13.19 利用【对象资源管理器】为用户添加数据库权限,图13.20 【数据库属性】对话框的【权限】页面,http:/ 使用T-SQL语句管理权限,Transact-SQL语句使用GRANT、DENY、REVOKE三种命令管理权限。 GRANT命令用于把权限授予某一用户,以允许该用户执行针对该对象的操作或允许其运行某些语句。 DENY命令用来禁止用户对某一对象或语句的权限,它不允许该用户执行针对数据库对象的某些操作或不允许其运行某些语句。 REVOKE命令用来撤销用户对某一对象或语句的权限、使其不能执行操作,除非该用户是角色成员,且角色被授权。

42、 用上述命令管理对象权限的语法如下: GRANT/DENY/REVOKE all/权限名 ON 表名/其他对象 to 用户/角色 例13-3:将数据库Student中名为Courses的表的SELECT权限赋予dbAdmin角色。 语句如下: USE Student GRANT SELECT ON Courses to dbAdmin,http:/ 例13-4:拒绝StudentAdm对Courses表的SELECT权限。 语句如下: USE Student DENY SELECT ON Courses to StudentAdm 如果想对列的权限进行管理,也可以使用Transact-SQL语

43、句。 例13-5:授权用户StudentAdm对Courses表Course_name列和Course_period列进行修改。 语句如下: USE Student GRANT UPDATE(Course_name, Course_period)ON Courses TO StudentAdm 用GRANT、DENY、REVOKE三种命令管理语句权限的语法如下: GRANTDENYREVOKE all语句名TO 用户角色 例13-6:授权用户StudentAdminStudentAdmin可以在Student数据库中创建表。 语句如下: USE Student GRANT CREATE TABLE TO StudentAdminStudentAdmin,http:/ Server的安全管理,40,1实训任务 采用Transact-SQL创建登录和用户,用于对Student数据库对象进行操作。 2实训指导 (1)创建登录 给服务器NET-DB创建登录StudentAdm,口令为test,并且初次登录时要求修改口令。 在SQLCMD工具中创建登录的具体步骤如下。 依

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

当前位置:首页 > 其他


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