版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络数据库第八章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权限;设置该用户对“读者基本信息表”中的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据服务提供商协议
- 2026年教育培训服务合同协议
- 物联网平台定制协议合同
- 区块链溯源服装溯源协议
- 2026年度河南省安全生产月知识竞赛竞答试题及答案
- 验货执行合同书
- 2026年全民国家安全教育日知识竞赛试题及答案
- 技术开发合同到期验收条款
- 即时配送用户信息保护协议
- 慢病防控中心理干预的跨界融合趋势
- 英语绘本Zoo animals 课件
- 手术室护士病情观察
- 全球变暖课件高级
- 五年级下学期数学自然数(课件)
- 幼儿园班级幼儿图书目录清单(大中小班)
- 信息安全等级保护制度-信息分类分级管理制度
- SN-T2632-2010微生物菌种常规保藏技术规范
- 个人发票委托书
- 贵州省黔东南州2022-2023学年八年级上学期期末文化水平测试数学试卷(含答案)
- 青岛啤酒博物馆调查报告
- 新教材2024版高中地理本册整合提升课件新人教版必修第一册
评论
0/150
提交评论