(精品)第十章安全管理.ppt
《(精品)第十章安全管理.ppt》由会员分享,可在线阅读,更多相关《(精品)第十章安全管理.ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十章第十章SQLServer的安全管理的安全管理9.1SQLServer2000的验证模式的验证模式9.2登录管理登录管理9.3用户管理用户管理9.4角色管理角色管理9.5许可管理许可管理数据的安全性数据的安全性是指保护数据以防止因不合法的使用是指保护数据以防止因不合法的使用而造成数据的泄密和破坏而造成数据的泄密和破坏.这就要采取一定的安全这就要采取一定的安全保护措施保护措施.在数据库中在数据库中,系统用检查口令等手段来检查用户身系统用检查口令等手段来检查用户身份份,合法的用户才能进入数据库系统合法的用户才能进入数据库系统.当用户对数据当用户对数据库执行操作时库执行操作时,系统自动检查用户是
2、否有权限执行系统自动检查用户是否有权限执行这些操作这些操作.SQLServer2000提供提供4层安全防线层安全防线:1、操作系统的安全防线、操作系统的安全防线2、SQLServer的运行安全防线的运行安全防线3、SQLServer的数据库安全防线的数据库安全防线4、SQLServer的数据库对象安全防线的数据库对象安全防线SQLServer2000的安全性管理是建立在的安全性管理是建立在认证认证和和访问许访问许可可两者机制上的。两者机制上的。认证是指来登录认证是指来登录SQLServer的登录帐号和密码是否正的登录帐号和密码是否正确,以此来验证其是否具有连接确,以此来验证其是否具有连接SQL
3、Server的权限。的权限。用户只能在获取访问数据库的权限之后,才能对服务用户只能在获取访问数据库的权限之后,才能对服务器上的数据库进行权限许可下的各种操作。这种用户器上的数据库进行权限许可下的各种操作。这种用户访问数据库权限的设置是通过用户帐号来实现的。访问数据库权限的设置是通过用户帐号来实现的。同时在同时在SQLServer中,中,角色角色作为用户组的替代物大大作为用户组的替代物大大简化了安全性管理。简化了安全性管理。SQLServer的安全模式中包括以下部分:的安全模式中包括以下部分:SQL ServerSQL Server的登录、数据库用户、权限、角色的登录、数据库用户、权限、角色9.
4、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是结合在是结合在一起的,因此就产生了两种验证模式。一起的,因此就产生了两种验证模式。验证模式指的是安全方面的问题,每一个用验证模式指的是安全方面的问题,每一个用户要使用户要使用SQLSer
5、ver,都必须经过验证。,都必须经过验证。在安装过程中,系统会提示选择验证模式在安装过程中,系统会提示选择验证模式Windows身份验证模式身份验证模式混合验证模式混合验证模式9.1.1Windows验证模式(验证模式(NT验证模式)验证模式)Windows验证模式是指要登录到验证模式是指要登录到SQLServer系统系统的用户身份由的用户身份由NT系统来进行验证。在系统来进行验证。在Windows登登录验证模式下,录验证模式下,SQLServer回叫回叫WindowsNT以以获得相应的登录信息,并在获得相应的登录信息,并在syslogins表中查找该表中查找该帐户,以确定该帐户是否有权登录。
6、在这种方式帐户,以确定该帐户是否有权登录。在这种方式下,用户不必提供登录名或密码让下,用户不必提供登录名或密码让SQLserver验验证。证。Windows身份验证模式使用身份验证模式使用Windows操作系统操作系统本身提供的安全机制验证用户的身份。只要用本身提供的安全机制验证用户的身份。只要用户能够通过户能够通过WindowsNT或或Windows2000的用的用户帐户验证,就可连接到户帐户验证,就可连接到SQLServer。Windows验证模式对验证模式对SQLServer的影响的影响在在WindowsNT/2000的注册表内的注册表内,保存了保存了SQLServer验证模式的相关信息
7、及启动验证模式的相关信息及启动SQLServer的必须信息的必须信息.在注册表中在注册表中,我的电脑我的电脑KHEY_LOCAL_MACHINESoftwareMicrosoftMSSQLServerMSSQLServer中的中的LoginMode的值决定采用哪的值决定采用哪种验证模式种验证模式.每次启动每次启动SQLServer时时,都将检索该键都将检索该键的值的值,以决定使用哪种验证模式以决定使用哪种验证模式.使用使用WindowsNT验证有如下特点:验证有如下特点:1、NT验证模式下由验证模式下由WindowsNT管理用户管理用户帐户,数据库管理员的工作是管理数据库帐户,数据库管理员的工
8、作是管理数据库;2、WindowsNT有功能很强的工具去管理用有功能很强的工具去管理用户帐户,如安全验证和密码加密、审核、密户帐户,如安全验证和密码加密、审核、密码过期、最短密码长度以及在多次登录请求码过期、最短密码长度以及在多次登录请求失败后锁定帐户失败后锁定帐户;3、可以在、可以在SQLServer增加用户组增加用户组;9.1.2混合模式混合模式混合验证模式是指用户登录混合验证模式是指用户登录SQLServer系统时,系统时,其身份验证由其身份验证由WindowsNT和和SQLServer共同进共同进行。行。SQLServer验证模式处理登录的过程为验证模式处理登录的过程为:用户在输入登录
9、名和密码用户在输入登录名和密码SQLServer在系统注册表中检测在系统注册表中检测若输入的登录名存在若输入的登录名存在,而且密码也正确而且密码也正确成功登录成功登录SQLServer混合验证模式有如下特点:混合验证模式有如下特点:混合模式允许非混合模式允许非Windows客户、客户、Internet客客户和混合的客户组连接到户和混合的客户组连接到SQLServer中中增加了安全性方面的选择增加了安全性方面的选择9.1.3设置验证模式设置验证模式设置验证模式的工作只能由系统管理员来完成。设置验证模式的工作只能由系统管理员来完成。使用使用SQLServer企业管理器时,设置或改变验证企业管理器时
10、,设置或改变验证模式的步骤如下:模式的步骤如下:运行运行SQLServer企业管理器。企业管理器。右键单击右键单击“SQLServer服务器组服务器组”的要设置的要设置验证模式服务器,然后选择验证模式服务器,然后选择“属性属性”,系统将,系统将弹出弹出“SQLServer属性(配置)属性(配置)”窗口窗口单击单击“安全性安全性”选项卡,可从中选择一种选项卡,可从中选择一种登录模式登录模式审核失败登录审核失败登录有助于查登录失有助于查登录失败的原因败的原因审核成功登录审核成功登录帮助调试,但却影响帮助调试,但却影响登录的速度。登录的速度。重新启动重新启动SQLServer才可以使修改的值生效。才
11、可以使修改的值生效。SQL ServerSQL ServerSQL ServerSQL Server的登录访问确认的登录访问确认的登录访问确认的登录访问确认验证验证验证验证SQL ServerSQL ServerSQL ServerSQL Server验证信任连接验证信任连接验证信任连接验证信任连接SQL ServerSQL ServerSQL ServerSQL Server验证账户名和密码验证账户名和密码验证账户名和密码验证账户名和密码或或或或SQL SQL SQL SQL ServerServerServerServerWindows 2000 Windows 2000 Windows
12、2000 Windows 2000 组或用户组或用户组或用户组或用户Windows 2000Windows 2000Windows 2000Windows 2000SQL ServerSQL ServerSQL ServerSQL Server登录账户登录账户登录账户登录账户9.2登录管理登录管理9.2.1系统管理员登录账户系统管理员登录账户9.2.2用用T-SQL语句创建、查看、删除语句创建、查看、删除SQLServer登录账户登录账户9.2.3用企业管理器创建、查看、删除用企业管理器创建、查看、删除SQLServer登录账户登录账户9.2.1系统管理员登录账户系统管理员登录账户SQLSer
13、ver有两个默认的系统管理员登录帐户:有两个默认的系统管理员登录帐户:sa和和BUILTINAdministrators。这两个登录帐户具有这两个登录帐户具有SQLServer系统和所有数系统和所有数据库的全部权限。据库的全部权限。sa是一个特殊的登录名,它是是一个特殊的登录名,它是混合验证机制下混合验证机制下SQLServer的系统管理员,的系统管理员,sa始终关联始终关联dbo用户。用户。BUILTINAdministrators是是NT系统的系统管理员组。系统的系统管理员组。具体地说,系统管理员负责下面的工作:具体地说,系统管理员负责下面的工作:l创建登录名创建登录名l配置服务器配置服务
14、器l创建、删除数据库创建、删除数据库l无须考虑所有权和权限,可以操作各种数据库无须考虑所有权和权限,可以操作各种数据库对象对象l停止、启动服务器停止、启动服务器l停止在服务器上运行的无效过程停止在服务器上运行的无效过程l某些权限只能被系统管理员拥有并且不能被授某些权限只能被系统管理员拥有并且不能被授予其他用户。这些功能是管理存储空间,管理用予其他用户。这些功能是管理存储空间,管理用户进程及改变数据库选项。户进程及改变数据库选项。9.2.2用用T-SQL语句创建、查看、删除语句创建、查看、删除SQLServer登录帐户登录帐户SQLServer登录帐户的创建登录帐户的创建使用系统存储过程使用系统
15、存储过程sp_addlogin可以创建一可以创建一个登录帐户。个登录帐户。sp_addlogin存储过程的语法存储过程的语法形式如下:形式如下:sp_addloginlogin,password,default_databaselogin:要被创建的登录帐户。它是唯一必须给定:要被创建的登录帐户。它是唯一必须给定值的参数,而且必须是有效的值的参数,而且必须是有效的SQLServer对象名。对象名。password:新登录帐户的密码。新登录帐户的密码。default_database:新登录帐户访问的默认数:新登录帐户访问的默认数据库。据库。例例1:创建一个登录帐户为:创建一个登录帐户为abc,
16、密码为,密码为123、使用的、使用的默认数据库为默认数据库为StudentEXECsp_addloginabc,123,Student例例2:创建登录名为:创建登录名为”user01”,没有密码和默认数据没有密码和默认数据库的用户库的用户EXECsp_addloginuser01SQLServer登录帐户的查看登录帐户的查看sp_helplogins登录帐户的删除登录帐户的删除删除登录帐户时需要在数据库中做较为复杂删除登录帐户时需要在数据库中做较为复杂的检查,以确保不会在数据库中留下孤儿型的检查,以确保不会在数据库中留下孤儿型的用户。的用户。sp_droploginloginlogin:要被删
17、除的登录帐户。:要被删除的登录帐户。9.2.3用企业管理器创建、查看、删除用企业管理器创建、查看、删除SQLServer登录帐户登录帐户启动启动SQLServer企业管理器。展开服务企业管理器。展开服务器后,展开器后,展开“安全性安全性”文件夹。文件夹。用右键单击登录(用右键单击登录(login)图标,从快捷菜)图标,从快捷菜单中选择新建登录(单中选择新建登录(newlogin)选项,则出)选项,则出现现SQLServer登录属性登录属性新建登录对话框。新建登录对话框。在名称编辑框中输入登录名,在身份验证选项在名称编辑框中输入登录名,在身份验证选项栏中选择新建的用户帐号是栏中选择新建的用户帐号
18、是WindowsNT认证模式,认证模式,还是还是SQLServer认证模式。认证模式。选择服务器角色页框选择服务器角色页框选择数据库访问页框选择数据库访问页框列出了系统的固定服务器角色列出了系统的固定服务器角色列出了该帐号可以访问的数据库列出了该帐号可以访问的数据库2.查看及删除登录帐户查看及删除登录帐户一个新的登录帐户增加后,可以在企业管理器中查一个新的登录帐户增加后,可以在企业管理器中查看其详细信息。查看一个帐户的步骤如下:看其详细信息。查看一个帐户的步骤如下:启动启动SQL服务器企业管理器,并展开到服务器企业管理器,并展开到“安全性安全性”。点击点击“登录登录”,右边窗格显示的是登录,右
19、边窗格显示的是登录帐户的列表。帐户的列表。右击该窗口中的某一登录帐户,在系统右击该窗口中的某一登录帐户,在系统弹出的菜单上点击弹出的菜单上点击“属性属性”可进入可进入“SQL登录属性登录属性”窗口查看该登录帐户的信息;窗口查看该登录帐户的信息;点击点击“删除删除”可以删除该登录帐户。可以删除该登录帐户。9.3用户管理用户管理9.3.1数据库用户名和登录名的关系数据库用户名和登录名的关系9.3.2用用T-SQL语句创建、查看、删除数据库用户语句创建、查看、删除数据库用户9.3.3使用企业管理器创建、查看、删除数据库用户使用企业管理器创建、查看、删除数据库用户9.3.4改变数据库所有权改变数据库所
20、有权9.3.1数据库用户名和登录名的关系数据库用户名和登录名的关系登录名、数据库用户名是登录名、数据库用户名是SQL服务器中两个容服务器中两个容易混淆的概念。易混淆的概念。在数据库中,一个用户或工作组取得合法的登在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了录帐号,只表明该帐号通过了WindowsNT认认证或者证或者SQLServer认证,但不能表明其可以对认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了用户帐号后,才能够作,只有当他同时拥有了用户帐号后,才能够访问数据库。访问数据库。登录名是访问
21、登录名是访问SQL服务器的通行证。每个登录名的定服务器的通行证。每个登录名的定义存放在义存放在master数据库的表数据库的表syslogins中。登录名本身并中。登录名本身并不能让用户访问服务器中的数据库资源。不能让用户访问服务器中的数据库资源。要访问特定的数据库,还必须有数据库用户名。新的要访问特定的数据库,还必须有数据库用户名。新的登录创建以后,才能创建用户,用户在特定的数据库登录创建以后,才能创建用户,用户在特定的数据库内创建,必须和一个登录名相关联。内创建,必须和一个登录名相关联。用户的定义信息存放在与其相关的数据库的用户的定义信息存放在与其相关的数据库的sysusers表中。这个表
22、包含了该数据库的所有用户对象以及表中。这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识。用户名没有密码和和它们相对应的登录名的标识。用户名没有密码和它相关联。它相关联。大多数情况下,登录名和用户名使用相同的名称。大多数情况下,登录名和用户名使用相同的名称。登录帐户和数据库用户是登录帐户和数据库用户是SQL服务器进行权限服务器进行权限管理的两种不同的对象。管理的两种不同的对象。一个登录帐户可以映射到不同的数据库,产生多一个登录帐户可以映射到不同的数据库,产生多个数据库用户,一个数据库用户只能映射到一个个数据库用户,一个数据库用户只能映射到一个登录帐户登录帐户允许数据库为每个用户对
23、象分配不同的权限,允许数据库为每个用户对象分配不同的权限,这一特点为在组内分配权限提供了最大的自由这一特点为在组内分配权限提供了最大的自由度。度。9.3.2用用T-SQL语句创建、查看、删除数据库用户语句创建、查看、删除数据库用户为一个登录帐户授权,最常使用的方法是创建一个为一个登录帐户授权,最常使用的方法是创建一个新的数据库用户,然后将其与一个登录帐户对应起新的数据库用户,然后将其与一个登录帐户对应起来。来。1.用用T-SQL语句创建数据库用户语句创建数据库用户使用系统存储过程使用系统存储过程sp_grantdbaccess可以可以在当前数据库中添加一个用户帐户在当前数据库中添加一个用户帐户
24、sp_grantdbaccesslogin,name_in_dblogin:指定当前数据库中新安全帐户的登录名称。:指定当前数据库中新安全帐户的登录名称。name_in_db:指定数据库中用户帐户的名称。:指定数据库中用户帐户的名称。例:在混合验证模式下,为数据库例:在混合验证模式下,为数据库Student登录帐登录帐户户abc创建一个同名的数据库用户。创建一个同名的数据库用户。useStudentgoexecsp_grantdbaccessabc例:在混合验证模式下,为数据库例:在混合验证模式下,为数据库Student登录帐登录帐户户abc创建一个名称为创建一个名称为userabc的数据库用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 第十 安全管理
限制150内