数据库课后题答案第八章管理SQLServer的安全性.doc_第1页
数据库课后题答案第八章管理SQLServer的安全性.doc_第2页
数据库课后题答案第八章管理SQLServer的安全性.doc_第3页
数据库课后题答案第八章管理SQLServer的安全性.doc_第4页
数据库课后题答案第八章管理SQLServer的安全性.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章 SQL Server的安全性要点:SQL Server 2000两级权限管理机制登陆帐户和服务器角色数据库用户和数据库角色权限的管理第一节 SQL Server 2000安全性概述作为一种数据库管理系统,SQL Server2000系统中存储了用户大量的业务数据,这些数据都是用户的商业机密。这些商业数据必须得到安全保障。安全性管理是数据库管理系统的一个重要组成部分。安全性就是确保只有授权的用户才能使用数据库中的数据和执行相应的操作,安全性管理包括两个方面的内容,一是用户能否登录系统和如何登录的管理,二是用户能否使用数据库中的对象和执行相应操作的管理。SQL Server2000提供了一套完整的安全机制。一、认证进程和认证模式认证进程就是指当用户访问数据库系统时,系统对该用户帐号和口令的确认过程,认证的内容包括确认用户的帐号是否有效、是否能访问系统、能访问系统中的哪些数据等。认证模式就是指系统选择何种认证进程确认用户的方式。用户必须使用一个登录帐号,才能连接到SQL Server系统中。SQL Server系统通过两种认证进程来确认用户的身份,这两种认证进程是:(1) WINDOWS认证进程(2) SQL Server认证进程当SQL Server在WINDOWS环境中运行时,系统管理员必须指定系统的认证模式类型。认证模式类型有两种:(1) WINDOWS认证模式(2) 混合模式WINDOWS认证模式只允许使用WINDOWS认证进程。这时,用户不能指SQL Server的登录帐号。混合认证模式既允许使用WINDOWS认证进程,又允许使用SQL Server认证进程。在混合认证模式中,当某个用户希望登录SQL Server系统时,系统是采用WINDOWS认证进程还是采用SQL Server认证进程取决于该用户连接到系统的网络协议类型。注意:在SQL Server系统中,除了网络协议Named pipes和TCP/IP,其他的网络通信协议都是非信任连接协议。举例说明:首先在SQL Server中建立一个登录帐户:选中服务器下的“安全性”“登录”,右单击选择“新建登录”,在弹出的菜单常规选项卡中输入“帐号”例如:hello,选择SQL Server身份验证,输入密码:123456,在“服务器角色”卡中选择相应的服务器角色,例如选择:security administrators和databases creators,在“数据库访问”卡中选择允许该帐号访问的数据库名,例如选择:studentborrow数据库。单击确定,这样登录帐号:hello就建立完成了。此时,我们在服务器名右单击选择“编辑SQL Server注册属性”,在弹出的对话框中选择使用SQL Server身份验证,这时在登录名处输入新建立的帐号:hello,选择总是提示输入用户名和密码,输入密码:123456,单击“确定”,然后重新打开SQL Server,此时提示我们输入用户名和密码,并且只能创建数据库和只能访问studentborrow数据库。如果我们在服务器上右单击选择属性,在“安全性”卡片上可以选择认证模式,如果选择“仅WINDOWS认证”,那么在重复刚才的操作,就不能够进入了,因为此时仅仅WINDOWS帐号才可以访问SQL Server。二、帐号验证SQL Server的安全性机制可以划分为4个等级:(1) 客户机操作系统的安全性(2) SQL Server的登录安全性(3) 数据库的使用安全性(4) 数据库对象的使用安全性因而使用数据库的帐户也应从四个方面进行验证1、操作系统级别的验证2、服务器级别的验证SQL Server服务器级别安全性建立在控制服务器登录帐户和密码的基础上也就是前面所说的两种认证模式:WINDOWS认证模式和混合模式。3、数据库级别的验证在默认情况下,数据库的所有者可以访问该数据库的对象,还可以分配访问权给别的用户,以便让别的用户也拥有针对该数据库的访问权利。4、数据库对象级别的验证默认情况下,只有数据库的所有者可以在该数据库下进行操作。当一个非数据库所有者想访问数据库里的对象时,必须事先由数据库的所有者赋予该用户对指定对象的执行特定操作的权限。第二节 登录帐号管理一、标准的SQL帐户管理1、帐户的建立方式有三种:使用查询分析器,通过系统提供的存储过程;通过SQL Server企业管理器;使用SQL Server提供的创建登录向导存储过程:sp_addlogin建立标准登录帐户语法:sp_addlogin loginame=ligin,passwd=psaaword,=defabdatabase,eflanguage=language2、修改和删除帐户使用系统存储过程sp_defaultdb修改登录帐户的默认数据库使用系统存储过程sp_defaultlanguage修改登录帐户的默认语言使用系统存储过程sp_password修改登录帐户的密码使用系统存储过程sp_droplogin来删除SQL Server标准登录帐户3、注意:(1)在SQL Server中删除帐户信息时,有如下限制:l 已经映射到数据库用户的帐户不允许被删除l 系统帐户SA不能被删除,正在使用的帐户不能被删除l 拥有数据库的帐户不能被删除(2)在进行修改和删除操作时用到的所有存储过程和使用企业管理器进行的有关帐户、密码、角色、权限的操作,都只有被赋予SYSADMIN或securityadmin固定服务器角色的帐户才可以使用。二、与WINDOWS集成的帐户管理1、帐户的建立与标准的SQL帐户管理类似,在此仅介绍用系统存储过程的方法:使用系统存储过程sp_grantlogin来使WINDOWS的用户或工作组映射为SQL Server的登录帐户。语法:sp_grantloginloginame=login2、删除Windows帐户sp_revokelogin可是从SQL Server中删除用sp_grantlogin创建的Windows帐户语法:sp_revokelogin loginame=login3、拒绝登录帐户使用系统存储过程sp_denylogin可以设置不允许Windows的工作组或用户联接到SQL Server服务器。语法:sp_denylogin loginame=login第三节 服务器角色管理角色是SQL Server 2000引进的用来集中管理数据库或服务器权限的概念。SQL Server在服务器级提供了固定服务器角色,用户不能增加、修改和删除服务器角色。一、固定服务器角色1、固定服务器角色服务器角色是一些系统定义好操作权限的用户组,其中的成员是登录帐户。服务器角色不能增加或删除,只能对其中的成员进行修改。服务器角色是SQL Server在安装是就创建好的用于分配服务器级管理权限的实体。常用的固定服务器角色有:sysadmin、serveradmin、securityadmin、dbcreator、diskadmin、processadmin、setupadmin和bulkadmin。2、浏览服务器角色使用系统存储过程sp_helpsrvrole浏览服务器角色语法:sp_helpsrvrole srvrolename=role二、管理服务器角色成员一个登录帐户可以不属于任何角色,也可以同时属于多个角色。将一个登录帐户加入一个角色,可以令使用该帐户登录的用户自动的具有角色预定义的权限。Windows系统管理员组自动属于sysadmin角色1、使用系统存储过程更改服务器角色成员(1)将一个帐户加入一个服务器角色,可使用系统存储过程sp_addsrcrolemember语法:sp_addsrcrolememberloginame=login rolename=role(2)将某个帐户从服务器角色中删除,可以使用系统存储过程sp_dropsrvrolemember系统存储过程sp_dropsrvrolemember的功能是收回分配给某登录帐户的指定固定服务器角色。语法:sp_dropsrvrolemember loginame=login,rolename=role2、可以使用企业管理器更改服务器角色成员三、服务器角色的权限1、固定服务器角色的权限(1) sysadmin拥有最高的权限,可以执行服务器范围内的一切操作.(2) Securityadmin可以在服务器范围内进行有关权限的一切管理操作。如管理登录帐户,管理数据库对象权限,阅读日志文件等。(3) Serveradmin可以设置服务器范围的配置选项,关闭服务器。(4) Dbcreator可以创建、更改和除去数据库(5) Setupadmin可以管理链接服务器和启动过程(6) Processadmin可以管理在SQL Server中运行的进程(7) Diskadmin可以管理磁盘文件(8) Bulkadmin可以执行bulk insert语句2、可以使用系统存储过程sp_srvrolepermission浏览固定服务器角色的权限语法:sp_srvrolepermissionsrvrolename=role第四节 数据库角色管理为了更高效的管理数据库用户的权限,SQL Server在数据库级提供了固定的数据库级角色。用户不能修改固定数据库级角色的权限,也不能删除固定数据库级角色。但用户可以自己创建新的数据库角色,在分配权限给新建的角色。一、固定数据库角色固定数据库角色是在每个数据库中都定义的预定义组。管理员可以将一个用户加入一个或多个数据库角色中。固定数据库角色不能被添加、修改或删除。SQL Server在数据库级设置了固定数据库角色来提供最基本的数据库权限的总和管理。1、使用系统存储过程sp_helpdbfixedrole浏览固定数据库角色语法:sp_helpdbfixedrole rolename=role例如:exec sp_helpdbfixedrole2、固定数据库角色的权限public:维持所有的默认权限db_owner:可以执行所有数据库角色的活动db_accessadmin:可以加入或删除数据库用户、组和角色db_ddladmin:可以加入、修改或删除数据库对象db_securityadmin:管理角色、角色成员,管理对象和语句权限db_backupoperator:备份数据库db_datareader:可以从所有表中读数据db_datawriter:可以在所有表中增加、修改或删除数据db_denydatareader:看不到数据库任何数据db_denydatawriter:不能改变任何表的数据3、管理固定数据库角色成员(1) 使用系统存储过程sp_addrolemember将某个登录帐户加入某个固定数据库角色。语法:sp_addrolememberrolename=role,membername=security_account(2)使用系统存储过程sp_droprolemember从某个固定数据库角色中删除指定的登录帐户。语法:sp_droprolemember rolename=role,membername=security_account4、角色的应用(1)public角色在前面提到的数据库角色中,SQL Server还有一个特殊的数据库角色public。所有的数据库用户都属于public角色。Public角色的特点是:l 替数据库用户捕获所有的数据库默认权限l 不能将public角色分配给任何用户、工作组,因为所有用户都默认为属于该角色l public角色存在于每一个数据库中,包括系统数据库和用户建立的数据库l public角色不允许被删除(2)sysadmin角色与dbo在所有数据库用户中,特殊用户dbo具有最高的管理权限。它被认为是所有数据库对象的所有者,可以访问所有的数据库对象,可以在数据库范围内执行一切操作。在固定数据库级角色和dbo之间有着一种奇特的对应关系。任何被赋予sysadmin固定服务器角色的用户都映射着每个数据库的特殊用户dbo。所有由sysadmin成员创建的数据库对象都自动将所有者设置为dbo。例如:如果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论