




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络数据库第八章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安安全性管管理概述11.2登录身份验证证管理11.3数数据库用用户管理11.4角色管理11.5权限管理角色管理角色是为了方方便权限管理理而设置的一一种管理单位位。若打算使使一组登录账账户或数据库库用户在数据据库服务器或或数据库对象象上具有相同同的权限,则则可以通过角角色实现。固定角色按其其权限作用范范围可以分为为固定服务器器角色与固定定数据库角色色,其作用范范围分别为整整个数据库服服务器与单个个数据库。这这些角色不能能修改或删除除。角色固定服务器角色数据库角色固定的数据库角色用户自定义的数据库角色角色管理固定服务器角角色根据SQLServer的管理任任务,以及这这些任务的相相对重要性等等级,把具有有SQLServer管理职能的的用户划分为为不同的用户户组,每一组组定义为一种种固定服务器器角色。每一一组所具有的的管理SQLServer的权限限都是SQLServer内置的的,即不能对对其权限进行行添加、修改改和删除,可可以在这些角角色中添加用用户以获得相相关的管理权权限。SQLServer2000具具有如下固定定服务器角色色:sysadmin,有权权在SQLServer中进进行任何活动动。serveradmin,有权设置置服务器一级级的配置选项项,关闭服务务器。setupadmin,,有权管理链链接服务器和和启动过程。。securityadmin,有权权管理登录和和CREATEDATABASE权限,,还可以读取取错误日志和和更改密码。。processadmin,有权管管理在SQLServer中中运行的进程程。dbcreator,有有权创建、更更改和除去数数据库。diskadmin,有有权管理磁盘盘文件。bulkadmin,有有权执行BULKINSERT语句。固定服务器角角色举例:将SQLServer2000账户newlogin1加入入到sysadmin服服务器角色中中。固定服务器角角色SQLServer2000中中的数据库角角色用于对单单个数据库的的操作。每个个数据库都有有一系列固定定数据库角色色,尽管在不不同的数据库库内他们是同同名的,但各各自的作用范范围都仅限于于本数据库。。例如,,如果果Database1和和Database2中中都有有叫UserX的用用户,,将Database1中的的UserX添添加到到Database1的的db_owner固定定数据据库角角色中中,对对Database2中中的UserX是否否是Database2的db_owner角角色成成员没没有任任何影影响。。SQLServer2000具有有如下下固定定数据据库角角色::固定数数据库库角色色Public::每个个数据据库用用户都都属于于public角色色db_owner::在数数据库库中有有全部部权限限db_accessadmin::可以以增加加或删删除数数据库库用户户(组组)和和角色色db_securityadmin::管理理数据据库角角色的的角色色和成成员,,并管管理数数据库库中的的语句句和对对象权权限db_ddladmin:可可以添添加、、修改改或除除去数数据库库中的的任何何对象象db_backupoperator:可可以备备份和和恢复复数据据库db_datareader::可可以以选选择择数数据据库库内内任任何何用用户户表表中中的的所所有有数数据据db_datawriter::可可以以更更改改数数据据库库内内任任何何用用户户表表中中的的所所有有数数据据db_denydatareader::不不能能选选择择数数据据库库内内任任何何用用户户表表中中任任何何数数据据db_denydatawriter::不不能能更更改改数数据据库库内内任任何何用用户户表表中中任任何何数数据据固定数据库角角色Public是一个特殊殊的数据库角角色,数据库库中的每个用用户都是Public角角色中的成员员。固定数据库角角色数据库角色除除了固定角色色外,还有一种角角色是用户定定义的数据库库角色。这种种角色是在SQLServer2000安安装之后根据据需要设置的的,因此可以以创建、修改改或删除,它它们通常由sysadmin、db_securityadmin、、db_owner等固固定角色中的的成员创建。。用户自定义的的数据库角色色在企业管理器器中新建角色色在企业管理器器中管理角色色修改角色:在在角色列表中中,用鼠标右右击角色名,,在弹出菜单单中选择“属属性”命令,,打开数据库库角色属性对对话框。用户户可以在角色色属性对话框框中修改角色色的属性。如如修改角色权权限,添加用用户或删除角角色中的用户户等。删除角色:用用鼠标右击角角色名称,在在弹出的快捷捷菜单中选择择“删除”命命令,可以删删除数据库角角色。但是无无法删除固定定的数据库角角色。使用sp_addrole存储过程程创建自定义义角色sp_addrole存存储过程的功功能是创建SQLServer角角色,基本语语法如下:sp_addrole'数据库角角色名'例如,使用sp_addrole存存储过程创建建数据库角色色newrole。sp_addrole'newrole'执行结果为::新角色已添加加。使用sp_droprole存储过过程删除自定定义角色sp_droprole存储过程的的功能是删除除SQLServer角色,基本本语法如下::sp_droprole'数据库库角色名'例如,使用sp_droprole存储过程删删除数据库角角色newrole。sp_droprole'newrole'执行结果为::角色已除去。。管理角色中的的用户角色只有包含含了用户后才才有存在的意意义。向角色色中添加用户户后,用户就就拥有了角色色的所有权限限;将用户从从角色中删除除后,用户从从角色得到的的权限将被取取消。在企业管理器器中添加和删删除角色成员员右击角色名,,在弹出菜单单中选择“属属性”命令,,打开“数据据库角色属性性”对话框。。使用sp_addrolemember存储过过程添加角色色成员sp_addrolemember存储过程的的功能是向角角色中添加用用户,基本语语法如下:sp_addrolemember'数据库库角色名','数据库库用户名'例如,使用sp_addrolemember存储过程向向数据库角色色newrole中添加加用户lee。sp_addrolemember'newrole','lee'执行结果为::‘lee’已已添加到角角色‘newrole’中。使用sp_droprolemember存储储过程删除角角色成员第11章SQLServer的安全性管管理11.1安安全性管管理概述11.2登录身份验证证管理11.3数数据库用用户管理11.4角色管理11.5权限管理权限数据库中的的用户并不不自动拥有有对该数据据库中所有有对象的操操作权限。。数据库对对象的所有有权归数据据库对象的的创建者所所有。当一一个非数据据库拥有者者想要访问问数据库中中的对象时时,必须事事先由数据据库拥有者者赋予该用用户对指定定对象的操操作权限。。权限用来指指定授权用用户可以使使用的数据据库对象和和这些授权权用户可以以对这些数数据库对象象执行的操操作。在每每个数据库库中,用户户的权限独独立于用户户账户和用用户在数据据库中的角角色,每个个数据库都都有自己独独立的权限限系统。权限的种类类权限分为三三种:对象象权限、语语句权限和和隐含权限限。对象权限::指对特定定的数据库库对象(即即表、视图图等)的操操作权限,,它决定了了能对表、、视图等数数据库对象象执行哪些些操作。如如果用户想想要对某一一对象进行行操作,其其必须具有有相应的操操作权限。。语句权限::表示对数数据库的操操作权限,,即创建数数据库或者者创建数据据库中的其其他内容所所需要的权权限。这些些语句通常常是一些具具有管理性性的操作,,如创建数数据库、表表和存储过过程等。这这种语句虽虽然仍包含含有操作的的对象,但但这些对象象在执行该该语句之前前并不存在在于数据库库中。因此此,语句权权限针对的的是某个SQL语句句,而不是是数据库中中已经创建建的特定的的数据库对对象,如CREATETABLE用用于创建数数据表。权限的种类类隐含权限::指系统安安装以后有有些用户和和角色不必必授权就有有的权限,,如固定服服务器角色色sysadmin或数据库库对象所有有者。只有有固定角色色或者数据据库对象所所有者的成成员才可以以执行某些些操作。说明:可以以对对象权权限或者语语句权限明明确地赋给给某个用户户,但隐含含权限不能能明确地赋赋予和撤销销。权限的种类类权限管理权限管理包包括对权限限的授权、、拒绝和撤撤销。使用企业管管理器管理理权限1)语句权权限的管理理例如,为数数据库BOOKS的的用户newlogin1赋赋予创建表表的权限,,并且拒绝绝此用户创创建规则的的权限。2)对象权权限的管理理对象权限可可以用以下下两种方式式来管理::一种方式式是从用户户/角色的的角度来管管理,即设设置一个用用户/角色色能对那些些对象执行行哪些操作作;另一种种方式是从从对象的角角度来管理理,即设置置一个数据据库对象能能被哪些哪哪些用户/角色执行行哪些操作作。权限管理从用户/角角色的角度度来管理例如,为数数据库用户户newlogin1授予对对“图书基基本信息表表”执行SELECT、INSERT、UPDATE的的权限;拒拒绝该用户户对“图书书借阅信息息表”的DELETE权限;;设置该用用户对“读读者基本信信息表”中中的读者编编号、姓名名、性别、、所在部门门4个字段段的SELECT权权限。权限限管管理理从数数据据库库对对象象的的角角度度管管理理例如如,,为为数数据据库库用用户户newlogin1授授予予对对““图图书书借借阅阅信信息息表表””执执行行SELECT、、INSERT、、UPDATE的的权权限限。。权限限管管理理使用用T-SQL语语句句管管理理权权限限GRANT命命令令::可可以以把把权权限限授授予予某某一一个个用用户户,,允允许许该该用用户户针针对对该该对对象象的的操操作作或或允允许许其其运运行行某某些些语语句句。。DENY命命令令::可可以以禁禁止止用用户户对对某某一一对对象象或或语语句句的的权权限限,,不不允允许许该该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中语文跨学科融合策略与实践探索
- 清洁能源供热改造项目可行性研究报告(仅供参考)
- 收纳培训课件视频
- 功能性食品生产项目可行性研究报告
- 建筑工程维修合同书模板范例
- 个人信用担保协议书
- 二零二五勘探工作合同
- 房屋转租赁协议合同书范例二零二五年
- 产品售后服务合同书范例
- 大棚蔬菜承包合同
- 2024国家安全教育大学生读本题库
- 2025届高考语文二轮复习:文言文知识点与答题技巧汇编 讲义
- Unit 5 Here and now Section A Grammar 说课稿 2023-2024学年人教版英语七年级下册
- 地下综合管廊建设项目可行性研究报告
- 基于多源异构数据的地质知识图谱构建与应用
- 2024年领导干部任前廉政知识考试测试题库及答案
- 《公共资源交易主体信用评价实施指南》编制说明
- 煤矿防突专项设计(样本)
- 绍兴银行社会招聘真题
- 《储水式电热水器的安全使用年限》
- 路灯安装工程项目实施重点、难点和解决方案
评论
0/150
提交评论