您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第八章SQLServer安全性管理
网络数据库第八章SQLServer安全性管理第11章SQLServer的安全性管理11.1安全性管理概述11.2登录身份验证管理11.3数据库用户管理11.4角色管理11.5权限管理安全性管理概述对于网络环境下的多用户数据库而言,安全问题是至关重要的。必须对不同的用户赋予不同的访问权限,才能保证数据库中的数据不被泄露或破坏。本章将介绍SQLServer2000实现安全管理的方法。SQLServer2000的安全管理模型中包括SQLServer登录、角色、数据库用户和权限4个主要方面,具体如下:SQLServer登录:要想连接到SQLServer服务器实例,必须拥有相应的登录账户和密码。角色:类似于Windows的用户组,角色可以对用户进行分组管理。可以对角色赋予数据库访问权限,此权限将应用于角色中的每一个用户。数据库用户:通过身份认证后,用户可以连接到SQLServer服务器实例。但是,这并不意味着该用户可以访问到指定服务器上的所有数据库。在每个SQLServer数据库中,都存在一组SQLServer用户账户。登录账户要访问指定数据库,就要将自身映射到数据库的一个用户账户上,从而获得访问数据库的权限。一个登录账户可以对应多个用户账户。权限:权限规定了用户在指定数据库中所能进行的操作。安全性管理概述第11章SQLServer的安全性管理11.1安全性管理概述11.2登录身份验证管理11.3角色管理11.4数据库用户管理11.5权限管理登录身份验证模式SQLServer2000身份验证Windows身份验证SQLServer2000身份验证又称为标准登录模式验证。使用SQLServer2000身份验证时,系统管理员为用户创建一个登录账户和密码,并把它们存储在SQLServer2000系统数据库中。当用户想要连接到SQLServer2000服务器上时,必须提供一个已存在的SQLServer2000登录账户,并提供正确的密码。一般来说,系统管理员可以使用一个特殊的账户sa进行登录,当SQLServer2000安装完成后,SQLServer2000就建立了账户sa(SystemAdministrator)。sa账户拥有最高的管理权限,它可以访问服务器和所有的数据库,可以执行服务器范围内的所有操作。同时sa账户无法删除。系统管理员应该定期更换sa账户的密码。Windows身份验证使用Windows身份验证时,已经成功登录Windows操作系统的WindowsNT/2000用户账户或组账户不需要提供SQLServer2000登录账户和密码,就可以连接SQLServer2000服务器。此时,SQLServer2000认为WindowsNT/2000已对该用户作了身份验证。在安装SQLServer2000的过程中,系统会让用户选择在登录SQLServer2000时使用哪种身份验证模式。在SQLServer2000安装成功后,用户也可以根据需要随时修改身份验证模式,修改的方法如下:Windows身份验证Windows身份验证Windows身份验证单击“是”按钮,则系统会停止当前服务并重新启动SQLServer2000服务器,使修改后的设置开始生效。Windows身份验证SQLServer2000的登录账户与SQLServer2000提供的两种确认用户的验证模式相对应,在SQLServer2000中存在两类登录账户:SQLServer账户和Windows账户。其中Windows账户又包含“Windows用户”账户和“Windows组”账户两种类型。查看登录账户添加登录账户企业管理器添加系统存储过程添加企业管理器添加SQLServer登录账户在“名称”文本框中输入一个用户名,在“密码”文本框输入密码,在“数据库”下拉列表框选择默认的数据库,在“语言”下拉列表框选择默认语言。然后单击“确定”,出现“确认密码”对话框。企业管理器添加SQLServer登录账户再次输入密码,单击“确定”,即可创建一个新的SQLServer登录账户“newlogin1”。可用之前的查看方法查看。企业管理器添加SQLServer登录账户系统存储过程添加SQLServer登录账户sp_addlogin‘账户名’[,‘密码’][,’默认数据库’][,’默认语言’]例8-1使用系统存储过程创建一个SQLServer登录账户newlogin2,并指定密码为login2,默认数据库为master。EXECUTEsp_addlogin‘newlogin2’,’login2’,’master’系统存储过程添加SQLServer登录账户企业管理器添加Windows登录账户在Windows中单击“开始”按钮,选择“管理工具”—“计算机管理”。输入新用户名和密码,单击“创建”按钮,关闭“新用户”对话框。在企业管理器中,展开需要添加新账户的服务器,“安全性—登录—新建登录”,打开“新建登录”对话框。企业管理器添加Windows登录账户在名称框输入“计算机名称\用户名”形式的用户账户名称,或者单击右侧的按钮选择添加的用户,单击“添加”,然后选择默认数据库、默认语言,单击“确定”即可。企业管理器添加Windows登录账户企业管理器添加Windows登录账户系统存储过程添加Windows登录账户sp_grantlogin计算机名称(或域名)\用户名(或组名)例8-2使用系统存储过程sp_grantlogin为Windows用户newwinuser2添加Windows登录账户。此题的完成分两步。(1)打开“计算机管理”对话框,创建一个新的Windows用户newwinuser2,设置结果如图所示:(2)在查询分析器中输入以下的程序段:EXECUTEsp_grantlogin‘PC-200301010034\newwinuser2’系统存储过程添加Windows登录账户修改登录账户属性修改SQLServer登录账户属性修改Windows登录账户属性修改SQLServer登录账户属性(1)企业管理器:双击需要修改属性的SQLServer登录账户,这里双击newlogin2,打开“SQLServer登录属性”对话框,在里面可以修改密码、默认数据库和默认语言。(2)系统存储过程:1)sp_password:修改账户密码。2)sp_defaultdb:修改默认数据库。3)sp_defaultlanguage:修改默认语言。修改SQLServer登录账户属性例8-3使用系统存储过程将登录账户newlogin2的密码改为12345。EXECUTEsp_passwordNULL,’12345’,’newlogin2’例8-4使用系统存储过程将登录账户newlogin2的默认数据库设置为BOOKS。EXECUTEsp_defaultdb‘newlogin2’,’BOOKS’例8-5使用系统存储过程将登录账户newlogin2的默认语言设置为英语。EXECUTEsp_defaultlanguage‘newlogin2’,’English’修改完成后,在企业管理器中查看结果。修改SQLServer登录账户属性修改SQLServer登录账户属性(1)使用企业管理器修改(以修改PC-200301010034\newwinuser2的访问方式为例)(2)使用系统存储过程修改例8-6使用系统存储过程禁止Windows用户PC-200301010034\newwinuser1登录到SQLServer2000服务器。EXECUTEsp_denylogin‘PC-200301010034\newwinuser1’恢复连接用系统存储过程sp_grantlogin。修改Windows登录账户属性删除登录账户使用企业管理器删除(以newlogin1为例)使用系统存储过程删除登录账户时,要根据不同类型的登录账户而使用不同的系统存储过程。对于Windows账户需要使用sp_revokelogin;而对于SQLServer账户则需使用sp_droplogin。例8-7使用系统存储过程删除Windows账户PC-200301010034\newwinuser2。EXECUTEsp_revokelogin‘PC-200301010034\newwinuser2’例8-8使用系统存储过程删除SQLServer账户newlogin2。EXECUTEsp_droplogin‘newlogin2’删除登录账户第11章SQLServer的安全性管理11.1安全性管理概述11.2登录身份验证管理11.3数据库用户管理11.4角色管理11.5权限管理数据库用户管理拥有登录账户的用户才能通过SQLServer身份验证,从而获得对SQLServer实例的访问权限。但通过SQLServer的身份验证并不代表用户就能够访问SQLServer中的数据,要访问某个具体的数据库,还必须使登录账户成为某数据库的用户。在SQLServer2000中,每个数据库一般都有两个默认的数据库用户:Dbo:在创建一个数据库时,SQLServer2000自动将创建该数据库的登录账户设置为该数据库的一个用户,并起名为dbo。dbo是数据库的拥有者,不能从数据库中删除,dbo对本数据库拥有所有操作权限,并可以将这些权限全部或部分授予其他数据库用户。另外,属于固定服务器角色sysadmin的成员也映射为所有数据库的dbo。特殊数据库用户Guest:允许没有用户账户的登录访问数据库。当一个登录者登录数据库服务器时,如果该服务器上的所有数据库都没有为其建立用户账户,则该登录者只能访问那些具有guest用户的数据库。在安装SQLServer2000系统时,guest用户被加入到master,msdb,pubs,northwind和tempdb数据库中,guest用户不必对应一个登录账户,可以直接在数据库中创建。系统数据库Master与tempdb中的guest用户不能被删除,而其他数据库中的guest用户可以被添加或删除。特殊数据库用户查看数据库用户在企业管理器中添加例如:在BOOKS数据库中为SQLServer2000登录账户newlogin1添加新的数据库用户,用户名称不变,并为其赋予db_owner数据库角色。添加数据库用户也可以使用系统存储过程sp_grantdbaccess添加数据库用户。例8-9使用系统存储过程在BOOKS数据库中为Windows用户PC-200301010034\newwinuser1添加数据库用户,并取名为newwinuser1。USEBOOKSGOEXECUTEsp_grantdbaccess‘PC-200301010034\newwinuser1’,’newwinuser1’执行成功后,再次查看BOOKS数据库的用户。添加数据库用户添加数据库用户修改数据库用户属性可以对已有的数据库用户修改属性,如赋予用户新的权限或改变数据库角色等。使用企业管理器修改数据库用户:双击要修改属性的数据库用户,或者右击数据库用户名,从弹出菜单中选择“属性”命令,打开“用户属性”对话框。(与“新建用户”对话框类似,但其“权限”按钮变为有效)可以在此对话框中修改用户信息。删除数据库用户删除数据库用户实际上就是删除一个登录账户到一个数据库中的映射。使用企业管理器删除数据库用户:右击数据库用户名,从弹出菜单中选择“删除”命令(以删除数据库用户newlogin1为例)。使用sp_revokedbaccess存储过程删除数据库用户,基本语法如下:sp_revokedbaccess'数据库用户名'例8-10使用系统存储过程从BOOKS数据库中删除数据库用户newwinuser1。USEBOOKSGOEXECUTEsp_revokedbaccess‘newwinuser1’删除数据库用户第11章SQLServer的安全性管理11.1安全性管理概述1
本文标题:第八章SQLServer安全性管理
链接地址:https://www.777doc.com/doc-1267684 .html