数据库课后题答案第八章管理SQLServer的安全性
要点:
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]
[,[@=defab]database]
[,[@eflanguage=]language]
2、修改和删除帐户
使用系统储备过程sp_defaultdb修改登录帐户的默认数据库
使用系统储备过程sp_defaultlanguage修改登录帐户的默认语言
使用系统储备过程sp_password修改登录帐户的密码
使用系统储备过程sp_droplogin来删除SQL Server标准登录帐户
3、注意:
(1)在SQL Server中删除帐户信息时,有如下限制:
差不多映射到数据库用户的帐户不承诺被删除
系统帐户SA不能被删除,正在使用的帐户不能被删除
拥有数据库的帐户不能被删除
(2)在进行修改和删除操作时用到的所有储备过程和使用企业治理器进行的有关帐户、密码、角、权限的操作,都只有被给予SYSADMIN或securityadmin固定服务器角的帐户才能够使用。
二、与WINDOWS集成的帐户治理
1、帐户的建立
与标准的SQL帐户治理类似,在此仅介绍用系统储备过程的方法:
使用系统储备过程sp_grantlogin来使WINDOWS的用户或工作组映射为SQL Server的登录帐户。
语法:sp_grantlogin[@loginame=]login
2、删除Windows帐户
sp_revokelogin但是从SQL Server中删除用sp_grantlogin创建的Windows帐户
语法:
sp_revokelogin [@loginame=]login
3、拒绝登录帐户
使用系统储备过程sp_denylogin能够设置不承诺Windows的工作组或用户联接到SQL Server服务器。
语法:
sp_denylogin [@loginame=]sqlserver备份表语句’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_addsrcrolemember[@loginame=]login
        [@rolename=]role
(2)将某个帐户从服务器角中删除,能够使用系统储备过程sp_dropsrvrolemember
系统储备过程sp_dropsrvrolemember的功能是收回分配给某登录帐户的指定固定服务器角。
语法:
sp_dropsrvrolemember [@loginame=]login,[@rolename=]role
2、能够使用企业治理器更换服务器角成员
三、服务器角的权限
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_srvrolepermission[[@srvrolename=]role]
第四节 数据库角治理
为了更高效的治理数据库用户的权限,SQL Server在数据库级提供了固定的数据库级角。用户不能修改固定数据库级角的权限,也不能删除固定数据库级角。但用户能够自己创建新的数据库角,在分配权限给新建的角。
一、固定数据库角
固定数据库角是在每个数据库中都定义的预定义组。治理员能够将一个用户加入一个或多个数据库角中。固定数据库角不能被添加、修改或删除。SQL Server在数据库级设置了固定数据库角来提供最差不多的数据库权限的总和治理。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。