安全管理PPT课件

上传人:新** 文档编号:567491862 上传时间:2024-07-20 格式:PPT 页数:56 大小:365KB
返回 下载 相关 举报
安全管理PPT课件_第1页
第1页 / 共56页
安全管理PPT课件_第2页
第2页 / 共56页
安全管理PPT课件_第3页
第3页 / 共56页
安全管理PPT课件_第4页
第4页 / 共56页
安全管理PPT课件_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《安全管理PPT课件》由会员分享,可在线阅读,更多相关《安全管理PPT课件(56页珍藏版)》请在金锄头文库上搜索。

1、第十章第十章SQLServer的安全管理的安全管理安全管理9.1SQLServer2000的验证模式的验证模式9.2登录管理登录管理9.3用户管理用户管理9.4角色管理角色管理9.5许可管理许可管理安全管理数据的安全性数据的安全性是指保护数据以防止因不合法的使用是指保护数据以防止因不合法的使用而造成数据的泄密和破坏而造成数据的泄密和破坏.这就要采取一定的安全这就要采取一定的安全保护措施保护措施.在数据库中在数据库中,系统用检查口令等手段来检查用户身系统用检查口令等手段来检查用户身份份,合法的用户才能进入数据库系统合法的用户才能进入数据库系统.当用户对数据当用户对数据库执行操作时库执行操作时,系

2、统自动检查用户是否有权限执行系统自动检查用户是否有权限执行这些操作这些操作.安全管理SQLServer2000提供提供4层安全防线层安全防线:1、操作系统的安全防线、操作系统的安全防线2、SQLServer的运行安全防线的运行安全防线3、SQLServer的数据库安全防线的数据库安全防线4、SQLServer的数据库对象安全防线的数据库对象安全防线安全管理SQLServer2000的安全性管理是建立在的安全性管理是建立在认证认证和和访问许访问许可可两者机制上的。两者机制上的。认证是指来登录认证是指来登录SQLServer的登录帐号和密码是否正的登录帐号和密码是否正确,以此来验证其是否具有连接确

3、,以此来验证其是否具有连接SQLServer的权限。的权限。用户只能在获取访问数据库的权限之后,才能对服务用户只能在获取访问数据库的权限之后,才能对服务器上的数据库进行权限许可下的各种操作。这种用户器上的数据库进行权限许可下的各种操作。这种用户访问数据库权限的设置是通过用户帐号来实现的。访问数据库权限的设置是通过用户帐号来实现的。同时在同时在SQLServer中,中,角色角色作为用户组的替代物大大作为用户组的替代物大大简化了安全性管理。简化了安全性管理。SQLServer的安全模式中包括以下部分:的安全模式中包括以下部分:SQL ServerSQL Server的登录、数据库用户、权限、角色的

4、登录、数据库用户、权限、角色安全管理9.1SQLServer2000的验证模式的验证模式9.1.1 9.1.1 WindowsWindows验证模式证模式9.1.2 9.1.2 混合安全模式混合安全模式9.1.3 9.1.3 设置验证模式设置验证模式9.1.4 SQL Server 9.1.4 SQL Server 系统登录验证过程系统登录验证过程安全管理验证阶段(验证阶段(Authentication)SQLServer和和WindowsNT/2000是结合在是结合在一起的,因此就产生了两种验证模式。一起的,因此就产生了两种验证模式。验证模式指的是安全方面的问题,每一个用验证模式指的是安全方

5、面的问题,每一个用户要使用户要使用SQLServer,都必须经过验证。,都必须经过验证。在安装过程中,系统会提示选择验证模式在安装过程中,系统会提示选择验证模式Windows身份验证模式身份验证模式混合验证模式混合验证模式安全管理9.1.1Windows验证模式(验证模式(NT验证模式)验证模式)Windows验证模式是指要登录到验证模式是指要登录到SQLServer系统系统的用户身份由的用户身份由NT系统来进行验证。在系统来进行验证。在Windows登登录验证模式下,录验证模式下,SQLServer回叫回叫WindowsNT以以获得相应的登录信息,并在获得相应的登录信息,并在syslogin

6、s表中查找该表中查找该帐户,以确定该帐户是否有权登录。在这种方式帐户,以确定该帐户是否有权登录。在这种方式下,用户不必提供登录名或密码让下,用户不必提供登录名或密码让SQLserver验验证。证。安全管理Windows身份验证模式使用身份验证模式使用Windows操作系统操作系统本身提供的安全机制验证用户的身份。只要用本身提供的安全机制验证用户的身份。只要用户能够通过户能够通过WindowsNT或或Windows2000的用的用户帐户验证,就可连接到户帐户验证,就可连接到SQLServer。安全管理Windows验证模式对验证模式对SQLServer的影响的影响在在WindowsNT/2000

7、的注册表内的注册表内,保存了保存了SQLServer验证模式的相关信息及启动验证模式的相关信息及启动SQLServer的必须信息的必须信息.在注册表中在注册表中,我的电脑我的电脑KHEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerMSSQLServer中的中的LoginMode的值决定采用哪的值决定采用哪种验证模式种验证模式.每次启动每次启动SQLServer时时,都将检索该键都将检索该键的值的值,以决定使用哪种验证模式以决定使用哪种验证模式.安全管理使用使用WindowsNT验证有如下特点:验证有如下特点:1、NT验证模式下由验证模式下由Windows

8、NT管理用户管理用户帐户,数据库管理员的工作是管理数据库帐户,数据库管理员的工作是管理数据库;2、WindowsNT有功能很强的工具去管理用有功能很强的工具去管理用户帐户,如安全验证和密码加密、审核、密户帐户,如安全验证和密码加密、审核、密码过期、最短密码长度以及在多次登录请求码过期、最短密码长度以及在多次登录请求失败后锁定帐户失败后锁定帐户;3、可以在、可以在SQLServer增加用户组增加用户组;安全管理9.1.2混合模式混合模式混合验证模式是指用户登录混合验证模式是指用户登录SQLServer系统时,系统时,其身份验证由其身份验证由WindowsNT和和SQLServer共同进共同进行。

9、行。SQLServer验证模式处理登录的过程为验证模式处理登录的过程为:用户在输入登录名和密码用户在输入登录名和密码SQLServer在系统注册表中检测在系统注册表中检测若输入的登录名存在若输入的登录名存在,而且密码也正确而且密码也正确成功登录成功登录SQLServer安全管理混合验证模式有如下特点:混合验证模式有如下特点:混合模式允许非混合模式允许非Windows客户、客户、Internet客客户和混合的客户组连接到户和混合的客户组连接到SQLServer中中增加了安全性方面的选择增加了安全性方面的选择安全管理9.1.3设置验证模式设置验证模式设置验证模式的工作只能由系统管理员来完成。设置验

10、证模式的工作只能由系统管理员来完成。使用使用SQLServer企业管理器时,设置或改变验证企业管理器时,设置或改变验证模式的步骤如下:模式的步骤如下:运行运行SQLServer企业管理器。企业管理器。右键单击右键单击“SQLServer服务器组服务器组”的要设置的要设置验证模式服务器,然后选择验证模式服务器,然后选择“属性属性”,系统将,系统将弹出弹出“SQLServer属性(配置)属性(配置)”窗口窗口单击单击“安全性安全性”选项卡,可从中选择一种选项卡,可从中选择一种登录模式登录模式安全管理审核失败登录审核失败登录有助于查登录失有助于查登录失败的原因败的原因审核成功登录审核成功登录帮助调试

11、,但却影响帮助调试,但却影响登录的速度。登录的速度。重新启动重新启动SQLServer才可以使修改的值生效。才可以使修改的值生效。安全管理SQLServerSQLServer的登录访问确认的登录访问确认的登录访问确认的登录访问确认验证验证验证验证SQLServerSQLServer验证信任连接验证信任连接验证信任连接验证信任连接SQLServerSQLServer验证账户名和密码验证账户名和密码验证账户名和密码验证账户名和密码或或或或SQLSQLServerServerWindows2000Windows2000组或用户组或用户组或用户组或用户Windows2000Windows2000SQL

12、ServerSQLServer登录账户登录账户登录账户登录账户安全管理9.2登录管理登录管理9.2.1系统管理员登录账户系统管理员登录账户9.2.2用用T-SQL语句创建、查看、删除语句创建、查看、删除SQLServer登录账户登录账户9.2.3用企业管理器创建、查看、删除用企业管理器创建、查看、删除SQLServer登录账户登录账户安全管理9.2.1系统管理员登录账户系统管理员登录账户SQLServer有两个默认的系统管理员登录帐户:有两个默认的系统管理员登录帐户:sa和和BUILTINAdministrators。这两个登录帐户具有这两个登录帐户具有SQLServer系统和所有数系统和所有

13、数据库的全部权限。据库的全部权限。sa是一个特殊的登录名,它是是一个特殊的登录名,它是混合验证机制下混合验证机制下SQLServer的系统管理员,的系统管理员,sa始终关联始终关联dbo用户。用户。BUILTINAdministrators是是NT系统的系统管理员组。系统的系统管理员组。安全管理具体地说,系统管理员负责下面的工作:具体地说,系统管理员负责下面的工作:l创建登录名创建登录名l配置服务器配置服务器l创建、删除数据库创建、删除数据库l无须考虑所有权和权限,可以操作各种数据库无须考虑所有权和权限,可以操作各种数据库对象对象l停止、启动服务器停止、启动服务器l停止在服务器上运行的无效过程

14、停止在服务器上运行的无效过程l某些权限只能被系统管理员拥有并且不能被授某些权限只能被系统管理员拥有并且不能被授予其他用户。这些功能是管理存储空间,管理用予其他用户。这些功能是管理存储空间,管理用户进程及改变数据库选项。户进程及改变数据库选项。安全管理9.2.2用用T-SQL语句创建、查看、删除语句创建、查看、删除SQLServer登录帐户登录帐户SQLServer登录帐户的创建登录帐户的创建使用系统存储过程使用系统存储过程sp_addlogin可以创建一可以创建一个登录帐户。个登录帐户。sp_addlogin存储过程的语法存储过程的语法形式如下:形式如下:sp_addloginlogin,pa

15、ssword,default_databaselogin:要被创建的登录帐户。它是唯一必须给定:要被创建的登录帐户。它是唯一必须给定值的参数,而且必须是有效的值的参数,而且必须是有效的SQLServer对象名。对象名。password:新登录帐户的密码。新登录帐户的密码。default_database:新登录帐户访问的默认数:新登录帐户访问的默认数据库。据库。安全管理例例1:创建一个登录帐户为:创建一个登录帐户为abc,密码为,密码为123、使用的、使用的默认数据库为默认数据库为StudentEXECsp_addloginabc,123,Student例例2:创建登录名为:创建登录名为”us

16、er01”,没有密码和默认数据没有密码和默认数据库的用户库的用户EXECsp_addloginuser01安全管理SQLServer登录帐户的查看登录帐户的查看sp_helplogins登录帐户的删除登录帐户的删除删除登录帐户时需要在数据库中做较为复杂删除登录帐户时需要在数据库中做较为复杂的检查,以确保不会在数据库中留下孤儿型的检查,以确保不会在数据库中留下孤儿型的用户。的用户。sp_droploginloginlogin:要被删除的登录帐户。:要被删除的登录帐户。安全管理9.2.3用企业管理器创建、查看、删除用企业管理器创建、查看、删除SQLServer登录帐户登录帐户启动启动SQLServ

17、er企业管理器。展开服务企业管理器。展开服务器后,展开器后,展开“安全性安全性”文件夹。文件夹。用右键单击登录(用右键单击登录(login)图标,从快捷菜)图标,从快捷菜单中选择新建登录(单中选择新建登录(newlogin)选项,则出)选项,则出现现SQLServer登录属性登录属性新建登录对话框。新建登录对话框。安全管理在名称编辑框中输入登录名,在身份验证选项在名称编辑框中输入登录名,在身份验证选项栏中选择新建的用户帐号是栏中选择新建的用户帐号是WindowsNT认证模式,认证模式,还是还是SQLServer认证模式。认证模式。 选择服务器角色页框选择服务器角色页框选择数据库访问页框选择数据

18、库访问页框列出了系统的固定服务器角色列出了系统的固定服务器角色列出了该帐号可以访问的数据库列出了该帐号可以访问的数据库安全管理2.查看及删除登录帐户查看及删除登录帐户一个新的登录帐户增加后,可以在企业管理器中查一个新的登录帐户增加后,可以在企业管理器中查看其详细信息。查看一个帐户的步骤如下:看其详细信息。查看一个帐户的步骤如下:启动启动SQL服务器企业管理器,并展开到服务器企业管理器,并展开到“安全性安全性”。点击点击“登录登录”,右边窗格显示的是登录,右边窗格显示的是登录帐户的列表。帐户的列表。右击该窗口中的某一登录帐户,在系统右击该窗口中的某一登录帐户,在系统弹出的菜单上点击弹出的菜单上点

19、击“属性属性”可进入可进入“SQL登录属性登录属性”窗口查看该登录帐户的信息;窗口查看该登录帐户的信息;点击点击“删除删除”可以删除该登录帐户。可以删除该登录帐户。安全管理9.3用户管理用户管理9.3.1数据库用户名和登录名的关系数据库用户名和登录名的关系9.3.2用用T-SQL语句创建、查看、删除数据库用户语句创建、查看、删除数据库用户9.3.3使用企业管理器创建、查看、删除数据库用户使用企业管理器创建、查看、删除数据库用户9.3.4改变数据库所有权改变数据库所有权安全管理9.3.1数据库用户名和登录名的关系数据库用户名和登录名的关系登录名、数据库用户名是登录名、数据库用户名是SQL服务器中

20、两个容服务器中两个容易混淆的概念。易混淆的概念。在数据库中,一个用户或工作组取得合法的登在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了录帐号,只表明该帐号通过了WindowsNT认认证或者证或者SQLServer认证,但不能表明其可以对认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了用户帐号后,才能够作,只有当他同时拥有了用户帐号后,才能够访问数据库。访问数据库。安全管理登录名是访问登录名是访问SQL服务器的通行证。每个登录名的定服务器的通行证。每个登录名的定义存放在义存放在master数据库的表

21、数据库的表syslogins中。登录名本身并中。登录名本身并不能让用户访问服务器中的数据库资源。不能让用户访问服务器中的数据库资源。要访问特定的数据库,还必须有数据库用户名。新的要访问特定的数据库,还必须有数据库用户名。新的登录创建以后,才能创建用户,用户在特定的数据库登录创建以后,才能创建用户,用户在特定的数据库内创建,必须和一个登录名相关联。内创建,必须和一个登录名相关联。用户的定义信息存放在与其相关的数据库的用户的定义信息存放在与其相关的数据库的sysusers表中。这个表包含了该数据库的所有用户对象以及表中。这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识。用户名没有密

22、码和和它们相对应的登录名的标识。用户名没有密码和它相关联。它相关联。大多数情况下,登录名和用户名使用相同的名称。大多数情况下,登录名和用户名使用相同的名称。安全管理登录帐户和数据库用户是登录帐户和数据库用户是SQL服务器进行权限服务器进行权限管理的两种不同的对象。管理的两种不同的对象。一个登录帐户可以映射到不同的数据库,产生多一个登录帐户可以映射到不同的数据库,产生多个数据库用户,一个数据库用户只能映射到一个个数据库用户,一个数据库用户只能映射到一个登录帐户登录帐户允许数据库为每个用户对象分配不同的权限,允许数据库为每个用户对象分配不同的权限,这一特点为在组内分配权限提供了最大的自由这一特点为

23、在组内分配权限提供了最大的自由度。度。安全管理9.3.2用用T-SQL语句创建、查看、删除数据库用户语句创建、查看、删除数据库用户为一个登录帐户授权,最常使用的方法是创建一个为一个登录帐户授权,最常使用的方法是创建一个新的数据库用户,然后将其与一个登录帐户对应起新的数据库用户,然后将其与一个登录帐户对应起来。来。1.用用T-SQL语句创建数据库用户语句创建数据库用户使用系统存储过程使用系统存储过程sp_grantdbaccess可以可以在当前数据库中添加一个用户帐户在当前数据库中添加一个用户帐户sp_grantdbaccesslogin,name_in_dblogin:指定当前数据库中新安全帐

24、户的登录名称。:指定当前数据库中新安全帐户的登录名称。name_in_db:指定数据库中用户帐户的名称。:指定数据库中用户帐户的名称。安全管理例:在混合验证模式下,为数据库例:在混合验证模式下,为数据库Student登录帐登录帐户户abc创建一个同名的数据库用户。创建一个同名的数据库用户。useStudentgoexecsp_grantdbaccessabc例:在混合验证模式下,为数据库例:在混合验证模式下,为数据库Student登录帐登录帐户户abc创建一个名称为创建一个名称为userabc的数据库用的数据库用户。户。useStudentgoexecsp_grantdbaccessabc,u

25、serabc安全管理2.用用T-SQL语句查看数据库用户语句查看数据库用户使用系统存储过程使用系统存储过程sp_helpuser可以查看数据可以查看数据库中的有效帐户信息。库中的有效帐户信息。3.用用T-SQL语句删除数据库用户语句删除数据库用户当需要撤消某一登录用户对指定数据库的访问当需要撤消某一登录用户对指定数据库的访问权限时,最简单的办法就是在该数据库中删除权限时,最简单的办法就是在该数据库中删除该登录用户在指定数据库中的用户账号该登录用户在指定数据库中的用户账号sp_revokedbaccess存储过程可以删除数据库用户存储过程可以删除数据库用户sp_revokedbaccessnam

26、e_in_db=名字名字安全管理注意,注意,sp_revokedbaccess存储过程不能删除:存储过程不能删除:dbo、数据库中的固定角色、数据库中的固定角色master和和tempdb数据库中的数据库中的Guest用户帐用户帐户户WindowsNT组中的组中的WindowsNT用户用户sp_revokedbaccessabc例:使用命令例:使用命令sp_revokedbaccess将数据库中的将数据库中的“abc”删除掉。删除掉。安全管理9.3.3使用企业管理器创建、查看、删除数据库用户使用企业管理器创建、查看、删除数据库用户1.使用企业管理器创建与查看数据库用户使用企业管理器创建与查看数

27、据库用户启动企业管理器。启动企业管理器。展开要操作的服务器及要创建用户的数据展开要操作的服务器及要创建用户的数据库。库。点击点击“用户用户”,右边窗格可以查看到该数,右边窗格可以查看到该数据库的用户。据库的用户。右击右击“用户用户”文件夹,选择文件夹,选择“新建数据库新建数据库用户用户”,弹出,弹出“新建用户新建用户”的窗口。的窗口。输入要创建的数据库用户的名字,然后在输入要创建的数据库用户的名字,然后在下拉的列表中选择对应的登录名。下拉的列表中选择对应的登录名。单击单击“确定确定”按钮,将用户添加到数据库按钮,将用户添加到数据库中。中。安全管理2.使用企业管理器删除数据库用户使用企业管理器删

28、除数据库用户启动企业管理器。启动企业管理器。展开要操作的服务器及要删除用户所在展开要操作的服务器及要删除用户所在的数据库。的数据库。单击单击“用户用户”,右边显示该数据库所有,右边显示该数据库所有的库用户。的库用户。右击要删除的用户,在系统弹出的快捷右击要删除的用户,在系统弹出的快捷菜单上选择菜单上选择“删除删除”来删除这个用户。来删除这个用户。安全管理9.3.4改变数据库所有权改变数据库所有权在数据库中有一个用户是数据库所有者在数据库中有一个用户是数据库所有者(databaseowner,dbo),拥有数据库中所有的对象拥有数据库中所有的对象.只能有一个数据库所有者只能有一个数据库所有者.数

29、据库所有者不能被数据库所有者不能被删除删除.通常通常,登录名登录名sa映射在库中的用户是映射在库中的用户是dbo.必须使必须使用用sp_changedbowner存储过程来改变数据库所存储过程来改变数据库所有权有权.这个存储过程是唯一改变数据库所有权的方这个存储过程是唯一改变数据库所有权的方法法,在企业管理器中没有类似功能在企业管理器中没有类似功能.安全管理9.4角色管理角色管理用户一般在组中工作用户一般在组中工作.也就是说可以将在相同数也就是说可以将在相同数据上有相同权限的用户放入组中进理。据上有相同权限的用户放入组中进理。SQLServer具有将用户分配到组中的能力具有将用户分配到组中的能

30、力,分配分配给组的权限也适用于组中的每一个成员给组的权限也适用于组中的每一个成员安全管理角色是从角色是从SQLServer8.0版本开始引进的新概版本开始引进的新概念,它代替了以前版本中组的概念念,它代替了以前版本中组的概念利用角色,利用角色,SQLServer管理者可以将某些用户设管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可置为某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置以实现对所有用户权限的设置SQLServer提供了用户通常管理工作的提供了用户通常管理工作的固定服固定服务器角色务器角色和和数据库角色数据库角色。安全管理1、服务器角色、服务器角色服务

31、器角色是指根据服务器角色是指根据SQLServer的管理任务,的管理任务,以及这些任务相对的重要性等级来把具有以及这些任务相对的重要性等级来把具有SQLServer管理职能的用户划分为不同的用户组,管理职能的用户划分为不同的用户组,每一组所具有的管理每一组所具有的管理SQLServer的权限都是的权限都是SQLServer内置的,即不能对其进行添加、修内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。改和删除,只能向其中加入用户或者其他角色。安全管理七种常用的固定服务器角色七种常用的固定服务器角色系统管理员:拥有系统管理员:拥有SQLServer所有的权限许可。所有的权限

32、许可。服务器管理员:管理服务器管理员:管理SQLServer服务器端的设置。服务器端的设置。磁盘管理员:管理磁盘文件。磁盘管理员:管理磁盘文件。进程管理员:管理进程管理员:管理SQLServer系统进程。系统进程。安全管理员:管理和审核安全管理员:管理和审核SQLServer系统登录。系统登录。安装管理员:增加、删除连接服务器,建立数据库复安装管理员:增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。制以及管理扩展存储过程。数据库创建者:创建数据库,并对数据库进行修改。数据库创建者:创建数据库,并对数据库进行修改。安全管理执行存储过程执行存储过程sp_helpsrvrole,可查看服务

33、器上的固,可查看服务器上的固定服务器角色,要查看某个固定服务器角色的权限可定服务器角色,要查看某个固定服务器角色的权限可执行存储过程执行存储过程sp_srvrolepermission。安全管理2.为登录帐户指定及收回服务器角色为登录帐户指定及收回服务器角色使用使用sp_addsrvrolemember存储过程或企业管理存储过程或企业管理器可为一个登录帐户指定服务器角色。器可为一个登录帐户指定服务器角色。使用系统存储过程为登录帐户指定及收回服使用系统存储过程为登录帐户指定及收回服务器角色务器角色:sp_addsrvrolemember登录登录,角色角色?登录:是指登录名。登录:是指登录名。?角

34、色:是指服务器角色名。角色:是指服务器角色名。收回服务器角色的系统存储过程收回服务器角色的系统存储过程sp_dropsrvrolemember,参数含义同上,参数含义同上安全管理使用企业管理器为登录帐户指定及收回服务器角色使用企业管理器为登录帐户指定及收回服务器角色安全管理9.4.2数据库角色数据库角色数据库角色分为数据库角色分为固定数据库角色固定数据库角色和和自定义数自定义数据库角色据库角色。1.固定数据库角色及功能固定数据库角色及功能在安装完在安装完SQL服务器后,系统将自动创建服务器后,系统将自动创建10个个固定的数据库角色固定的数据库角色安全管理角色角色 功能功能public维护默认的

35、许可维护默认的许可db_owner数据库属主,在特定数据库内具有全部权限数据库属主,在特定数据库内具有全部权限db_accessadmin能够添加、删除数据库用户和角色能够添加、删除数据库用户和角色db_securityadmin可以管理全部权限、对象所有权、角色和角可以管理全部权限、对象所有权、角色和角色成员资格色成员资格db_ddladmin能够添加、删除和修改数据库对象。能够添加、删除和修改数据库对象。db_backupoperator 能够备份和恢复数据库。能够备份和恢复数据库。db_datareader能够从任意表中读出数据。能够从任意表中读出数据。db_datawriter能够对任

36、意表插入、修改和删除数据。能够对任意表插入、修改和删除数据。db_denydatareader不允许从表中读数据。不允许从表中读数据。db_denydatawriter 不允许改变表中的数据。不允许改变表中的数据。安全管理public角色是一个特殊的数据库角色,数据库中是一个特殊的数据库角色,数据库中的每位用户都是公众角色的成员,它负责维护数的每位用户都是公众角色的成员,它负责维护数据库中用户的全部默认许可,不能将用户和组或据库中用户的全部默认许可,不能将用户和组或角色指定公众角色。角色指定公众角色。l数据库角色在数据库级别上被定义,存数据库角色在数据库级别上被定义,存在于数据库之内。数据库角

37、色存放在每在于数据库之内。数据库角色存放在每个数据库个数据库sysusers表中表中l固定数据库角色不能被删除、修改、创固定数据库角色不能被删除、修改、创建建l固定数据库角色可以指定给其它登录帐固定数据库角色可以指定给其它登录帐户户注意:注意:安全管理用户自定义角色用户自定义角色创建用户定义的数据库角色就是创建一组用户,创建用户定义的数据库角色就是创建一组用户,这些用户具有相同的一组许可这些用户具有相同的一组许可用户自定义的数据库角色有两种类型:即用户自定义的数据库角色有两种类型:即标标准角色准角色和和应用程序角色应用程序角色。安全管理标准角色和应用程序角色标准角色和应用程序角色标准角色和应用

38、程序角色标准角色和应用程序角色标准角色通过对用户权限等级的认定而将标准角色通过对用户权限等级的认定而将标准角色通过对用户权限等级的认定而将标准角色通过对用户权限等级的认定而将用户划分为不用的用户组,使用户总是相用户划分为不用的用户组,使用户总是相用户划分为不用的用户组,使用户总是相用户划分为不用的用户组,使用户总是相对于一个或多个角色,从而实现管理的安对于一个或多个角色,从而实现管理的安对于一个或多个角色,从而实现管理的安对于一个或多个角色,从而实现管理的安全性。全性。全性。全性。应用程序角色是一种比较特殊的角色。当我应用程序角色是一种比较特殊的角色。当我应用程序角色是一种比较特殊的角色。当我

39、应用程序角色是一种比较特殊的角色。当我们打算让某些用户只能通过特定的应用程序们打算让某些用户只能通过特定的应用程序们打算让某些用户只能通过特定的应用程序们打算让某些用户只能通过特定的应用程序间接地存取数据库中的数据而不是直接地存间接地存取数据库中的数据而不是直接地存间接地存取数据库中的数据而不是直接地存间接地存取数据库中的数据而不是直接地存取数据库数据时,就应该考虑使用应用程序取数据库数据时,就应该考虑使用应用程序取数据库数据时,就应该考虑使用应用程序取数据库数据时,就应该考虑使用应用程序角色。当某一用户使用了应用程序角色时,角色。当某一用户使用了应用程序角色时,角色。当某一用户使用了应用程序

40、角色时,角色。当某一用户使用了应用程序角色时,他便放弃了已被赋予的所有数据库专有权限,他便放弃了已被赋予的所有数据库专有权限,他便放弃了已被赋予的所有数据库专有权限,他便放弃了已被赋予的所有数据库专有权限,他所拥有的只是应用程序角色被设置的角色。他所拥有的只是应用程序角色被设置的角色。他所拥有的只是应用程序角色被设置的角色。他所拥有的只是应用程序角色被设置的角色。安全管理sp_addrole:用来创建一个新的数据库角色:用来创建一个新的数据库角色sp_addrole role,ownersp_droprole:用于删除一个数据库角色:用于删除一个数据库角色sp_droprole rolesp_

41、helprole:显示当前数据库所有的数据库角色的所有信息:显示当前数据库所有的数据库角色的所有信息sp_helprole rolesp_addrolemember:向数据库某一角色中添加数据库用户:向数据库某一角色中添加数据库用户sp_addrolemember role,security_accountsp_droprolemember:用来删除某一角色的用户:用来删除某一角色的用户sp_droprolemember role,security_accountsp_helprolemember:用于显示某一数据库角色的所有成员:用于显示某一数据库角色的所有成员sp_helprolememb

42、errole管理数据库角色管理数据库角色安全管理9.5权限权限(许可许可)管理管理9.5.1许可类型许可类型9.5.2许可的验证许可的验证9.5.3管理许可管理许可安全管理许可许可用来指定授权用户可以使用的数据库对象和这用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。些授权用户可以对这些数据库对象执行的操作。用户在登录到用户在登录到SQLServer之后,其用户帐号所归属之后,其用户帐号所归属的的NT组或角色所被赋予的许可(权限)决定了该用组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访户能够对哪些数据库对象执行哪种操作以及

43、能够访问、修改哪些数据。问、修改哪些数据。在每个数据库中用户的许可独立于用户帐号和用户在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许在数据库中的角色,每个数据库都有自己独立的许可系统。可系统。在在SQLServer中包括三种类型的许可:即对象许可、中包括三种类型的许可:即对象许可、语句许可和预定义许可。语句许可和预定义许可。安全管理9.5.1三种许可类型三种许可类型1、对象许可、对象许可表示对特定的数据库对象,即表、视图、字段和表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可,它决定了能对表、视图等存储过程的操作许可,它决定了能对表、视图等

44、数据库对象执行哪些操作。数据库对象执行哪些操作。2、语句许可、语句许可表示对数据库的操作许可,也就是说,创建数据表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其它内容所需要的许可类库或者创建数据库中的其它内容所需要的许可类型称为语句许可。型称为语句许可。3、默认、默认(预定义预定义)许可许可是指系统安装以后有些用户和角色不必授权就有是指系统安装以后有些用户和角色不必授权就有的许可。的许可。 安全管理1.默认许可默认许可SQL服务器中包含很多对象,每个对象都有一个属主。服务器中包含很多对象,每个对象都有一个属主。一般来说,对象的属主是创建该对象的用户。一般来说,对象的属主是创建该

45、对象的用户。如果系统管理员创建了一个数据库,系统管理员就是如果系统管理员创建了一个数据库,系统管理员就是这个数据库的属主。这个数据库的属主。如果一个用户创建了一个表,这个用户就是这个表的如果一个用户创建了一个表,这个用户就是这个表的属主。属主。很显然,系统管理员具有这个数据库的全部操作权限,很显然,系统管理员具有这个数据库的全部操作权限,创建表的用户具有这个表全部操作权限。这就是数据创建表的用户具有这个表全部操作权限。这就是数据库对象的默认许可。库对象的默认许可。默认许可也称为暗指许可。默认许可也称为暗指许可。安全管理2.对象许可对象许可对象许可是指用户基于数据库层次上的访问和操作权限,如对象

46、许可是指用户基于数据库层次上的访问和操作权限,如果没有对象的许可,用户将不能访问该对象。对象许可有五果没有对象的许可,用户将不能访问该对象。对象许可有五种:查询、插入、修改、删除和执行。前四个许可是用于表种:查询、插入、修改、删除和执行。前四个许可是用于表和视图的,执行许可只用于存储过程。和视图的,执行许可只用于存储过程。选择:该许可授予数据库中某个特定表的用户,具备这种许选择:该许可授予数据库中某个特定表的用户,具备这种许可的用户才能访问、操作该表的数据。可的用户才能访问、操作该表的数据。插入:该许可授予数据库中某个特定表的用户可以向表中插插入:该许可授予数据库中某个特定表的用户可以向表中插

47、入数据。入数据。更新:该许可授予数据库中某个特定表的用户可以对表中的更新:该许可授予数据库中某个特定表的用户可以对表中的数据进行更新。数据进行更新。删除:该许可授予数据库中某个特定表的用户可以删除表中删除:该许可授予数据库中某个特定表的用户可以删除表中的数据。的数据。执行:该许可授予数据库中某个特定的用户,具有这种许可执行:该许可授予数据库中某个特定的用户,具有这种许可的用户可以执行存储过程。的用户可以执行存储过程。安全管理3.语句许可语句许可语句许可通常授予需要在数据库中创建对象或修改对象、执行数据语句许可通常授予需要在数据库中创建对象或修改对象、执行数据库和事务日志备份的用户。如果一个用户

48、获得某个语句的许可,该库和事务日志备份的用户。如果一个用户获得某个语句的许可,该用户就具有了执行该语句的权力。用户就具有了执行该语句的权力。以下是需要进行许可设置的语句:以下是需要进行许可设置的语句:BACKUPDTADBASE:允许用户执行备份数据库的操作。:允许用户执行备份数据库的操作。BACKLOG:允许用户执行备份事务日志库的操作。:允许用户执行备份事务日志库的操作。CREATEDATABASE:允许用户创建新的数据库。:允许用户创建新的数据库。CREATEDEFAULT:允许用户创建缺省。:允许用户创建缺省。CREATEPROCEDURE:允许用户执行创建存储过程的操作。:允许用户执行创建存储过程的操作。CTEATEFUNCTION:允许用户创建用户定义函数。:允许用户创建用户定义函数。CREATERULE:允许用户创建规则。:允许用户创建规则。CREATETABLE:允许用户创建表。:允许用户创建表。CREATEVIEW:允许用户创建视图。:允许用户创建视图。语句许可授予用户执行相应命令的能力,语句许可适用于创建和删语句许可授予用户执行相应命令的能力,语句许可适用于创建和删除对象、备份和恢复数据库。除对象、备份和恢复数据库。安全管理安全管理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号