实验四data数据库安全与权限.docx

上传人:b****5 文档编号:6203608 上传时间:2023-01-04 格式:DOCX 页数:28 大小:666.86KB
下载 相关 举报
实验四data数据库安全与权限.docx_第1页
第1页 / 共28页
实验四data数据库安全与权限.docx_第2页
第2页 / 共28页
实验四data数据库安全与权限.docx_第3页
第3页 / 共28页
实验四data数据库安全与权限.docx_第4页
第4页 / 共28页
实验四data数据库安全与权限.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

实验四data数据库安全与权限.docx

《实验四data数据库安全与权限.docx》由会员分享,可在线阅读,更多相关《实验四data数据库安全与权限.docx(28页珍藏版)》请在冰豆网上搜索。

实验四data数据库安全与权限.docx

实验四data数据库安全与权限

计算机与信息技术学院

实验报告

姓名

学号

专业班级

计算机科学与技术

课程名称

数据库系统概论实验

实验日期

2011年5月20日

指导教师

成绩

实验名称

实验四数据库的安全与权限

[目的和意义]

•理解SQLServer身份验证模式

•学会创建和管理登录帐户和用户帐户;

•学会创建和管理服务器角色和数据库角色

•学会授予、拒绝和撤销权限的方法

[实验内容]

•设置验证模式,熟悉系统登录验证过程。

•登录管理

•用户管理

•角色管理

•权限管理

[实现步骤]

•SQLServer的安全管理

假若你是SQLServer2005数据库服务器的管理员,服务器中包含7个用户数据库,它们为学校的多个部门应用程序提供数据,每个部门的用户维护自己的数据库,你需要配置服务器和数据库许可权限,让每个维护自己数据库的用户有足够的权限来管理数据库。

你该怎么做呢?

你需要为每个用户创建一个账户,把每个账户映射到它们的数据库中,添加所有的用户账户到自己的数据库中的db_owner角色中去。

一、两个安全性阶段

在SQLServer2005中工作时,用户要经过两个安全性阶段:

身份验证和权限验证(授权)。

每个用户必须通过登录账户建立自己的连接能力(身份验证),以获得对SQLServer2005实例的访问权限。

然后,该登录必须映射到用于控制在数据库中所执行的活动(权限验证)的SQLServer用户账户。

如果数据库中没有用户账户,则即使用户能够连接到SQLServer实例,也无法访问数据库。

二、两种安全验证模式

SQLServer提供了两种安全验证模式,即Windows身份验证模式和混合身份验证模式(也称SQLServer身份验证模式),数据库设计者和数据库管理员可以根据实际情况进行选择。

1、Windows身份验证模式

Windows身份验证模式是指用户通过Windows用户账户连接到SQLServer,即用户身份由Windows系统来验证。

SQLServer使用Windows操作系统中的信息验证账户名和密码。

这是默认的身份验证模式,比混合验证模式安全得多。

一般情况下,客户机都支持混合信任连接,建议使用Windows身份验证方式。

使用Windows身份验证有如下特点。

(1)Windows验证模式下由Windows管理登录账户,数据库管理员主要是使用该账户。

(2)Windows有功能很强的工具与技术去管理用户的登录账户。

(3)可以在SQLServer中增加用户组,可以使用用户组。

2、混合身份验证模式(也称SQLServer身份验证模式)

混合身份验证模式允许用户使用Windows身份和SQLServer身份进行连接。

通过Windows登录账户连接的用户可以使用Windows验证的受信任连接。

当用户使用指定的登录名称和密码进行非信任连接时,SQLServer检测输入的登录名和密码是否与系统表syslogins中记录的情况相同,据此进行身份验证。

如果不存在该用户的登录账户,则身份验证失败。

用户只有提供正确的登录名和密码,才能通过SQLServer的验证。

提供SQLServer身份验证是为了考虑非Windows客户兼容及向后兼容,早期SQLServer的应用程序可能要求使用SQLServer登录和密码。

当SQLServer实例在Windows98/Windows2000professional上运行时,由于Windows98/Windows2000professional不支持Windows身份验证模式,必须使用混合模式。

非Windows客户端也必须使用SQLServer身份验证。

混合身份验证模式有如下特点。

(1)混合模式允许非Windows客户、Internet客户和混合的客户组连接到

SQLServer中。

(2)增加了完全性方面的选择。

如果必须选择“混合身份验证模式”并要求使用SQL登录以适应旧式应用

程序,则必须为所有SQL账户设置强密码。

这对于属于sysadmin角色的账户(特别是sa账户)尤其重要。

3、设置验证模式

安装SQLServer2005默认的是Windows身份验证模式。

系统管理员在managementstudio中有两种设置方法(参看实验指导),均需要重新启动SQLServer后,才能生效。

三、登录管理

1、系统管理员登录账户

SQLServer有两个默认的系统管理员登录账户:

sa和administrators。

这两个登录账户具有SQLServer系统和所有数据库的全部权限。

在安装SQLServer之后,自动创建的登录标识符只有系统管理员sa账户和administrators账户,administrators是Windows系统的系统管理员组。

sa是一个特殊的登录名,它代表SQLServer身份验证机制下SQLServer的系统管理员,sa始终关联dbo(dbo是默认的用户账号,就是指数据库的创建者)数据库用户,并且没有为sa指定口令。

这意味着如果SQLServer身份验证模式,任何得知这个SQLServer存在的人都可以登录到SQLServer上,并且可以做任意操作。

为安全起见,在安装SQLServer后,应尽快地给系统管理员账户指定口令。

为SQLServer系统管理员指定口令的步骤如下。

(1)在“对象资源管理器”窗口中某数据库引擎下。

(2)分别展开“安全性”、“登录名”节点,查看所有当前存在的登录标示符,系统管理员账户sa应包含在其中。

(3)右击sa,然后选择“属性”项,系统弹出“登录属性”窗口。

(4)在“密码”一栏中输入新的口令,并在“确认密码”一栏再次输入相同“密码”。

(5)在“默认数据库”一栏输入sa默认使用的数据库。

(6)单击“确定”按钮,系统关闭对话框,这样完成了为系统管理员设置新口令操作。

2、使用managementstudio管理SQLServer登录账户

在managementstudio中能方便地创建、查看、修改、删除登录账户。

有如下两种方式创建SQLServer登录账户(1和2)。

(1)映射Windows登录账户为SQLServer登录账户

在managementstudio中可以将一个Windows账户或一个组映射成一个SQLServer登录名。

每个SQLServer登录名都可以在指定的数据库中创建数据库用户名。

这个特性可以让Windows组中的用户直接访问服务器上的数据库。

至于这些指定的数据库用户的权限,可以另行指定的。

提示:

Windows账户应是已经存在的。

具体步骤(参看实验指导)。

(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。

(2)在managementstudio中创建SQLServer登录账户

提示:

首先需将验证模式设置为SQLServer验证模式。

具体步骤参看实验指导。

(在用户映射选项卡中,选定某数据库后用户名默认与登录名一样,也可设定为不一样的。

注意:

在创建登录名时,在点击“新建登录名”后,进入“登录名-新建”对话框时,选择的默认数据库要与用户映射选项卡中选择的数据库一致,再去掉“强制实施密码策略”的对勾即可创建成功。

在通过新创建的登录名连接SQLServer后,会发现只能访问和打开所选的数据库,而其他数据库无法访问和打开。

(3)在ManagementStudio中查看、修改或删除登录账户

具体步骤(参看实验指导)

四、用户管理

用户是基于数据库的名称,是和登录账户相关联的。

1、登录名与数据库用户名的关系

登录名、数据库用户名是SQLServer中两个容易混淆的概念。

登录名是访问SQLServer的通行证。

每个登录名的定义存放在master数据库的表syslogins(登录名是服务器级的)中。

登录名本身并不能让用户访问服务器中的数据库资源。

要访问具体数据库中的资源,还必须有该数据库的用户名。

新的登录创建以后,才能创建数据库用户,数据库用户在特定的数据库内创建,必须和某个登录名相关联。

数据库用户的定义信息存放在与其相关的数据库的sysusers表(用户名是数据库级的)中的,这个表包含了该数据库的所有用户对象以及和它们相对应的登录名的标识。

用户名没有密码和它相关联,大多数情况下,用户名和登录名使用相同的名称,数据库用户名主要用于数据库权限的控制。

就如同企业门口先刷卡进入(登录服务器),然后再拿钥匙打开自己的办公室(进入数据库)一样。

数据库用户创建后,通过授予用户权限来指定用户访问特定对象的权限。

用户用一个登录名登录SQLServer,以数据库用户的身份访问服务器上的数据库。

当一个登录账户试图访问某个数据库时,SQLServer将在库中的sysusers表中查找对应的用户名,如果登录名不能映射到数据库的某个用户,系统尝试将该登录名映射成guest用户,如果当前数据库不许可guest用户,这个用户访问数据库将失败。

在SQLServer中,登录账户和数据库用户是SQLServer进行权限管理的两种不同的对象。

一个登录账户可以与服务器上的所有数据库进行关联,而数据库用户是一个登录账户在某数据库中的映射,也即一个登录账户可以映射到不同的数据库,产生多个数据库用户(但一个登录账户在一个数据库至多只能映射一个数据库用户),一个数据库用户只能映射到一个登录账户。

允许数据库为每个用户分配不同的权限,这一特性为在组内分配权限提供了最大的自由度与可控性。

2、使用ManagementStudio管理数据库用户

管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。

首先如何创建数据库用户呢?

一般有两种方法。

一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。

如前面使用ManagementStudio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名(具体步骤参看实验指导)。

五、角色管理

SQLServer2005数据库管理系统利用角色设置,管理用户的权限。

通过角色,可以将用户集中到一个单元中,然后对这个单元应用权限。

对角色授予、拒绝或吊销权限时,将对其中的所有成员生效。

角色的功能非常强大,其原因如下。

(1)除固定的服务器角色外,其他角色都是在数据库内实现的。

这意味着数据库管理员无需依赖Windows管理员来组织用户。

(2)角色可以嵌套。

嵌套的深度没有限制,但不允循环嵌套。

(3)数据库用户可以同时是多个角色的成员。

这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。

在SQLServer2005中,可以认为有5中角色类型。

1、public角色

Public角色在每个数据库(包括所有的系统数据库)中都存在,它也是数据库角色成员。

Public角色提供数据库中用户的默认权限,不能删除。

每个数据库用户都自动是次角色的成员,因此,无法在此角色中添加或删除用户。

当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象在public角色中对应的权限。

SQLServer2005包括几个预定义的角色,这些角色具有预定义的、不能授予其他用户账户的内在的权限。

其中有两种最主要的预定义角色是:

固定服务器角色和固定数据库角色。

2、固定服务器角色

固定服务器角色的作用域在服务器范围内。

它们存在于数据库之外,固定服务器角色的每个成员都能够向该角色中添加其他登录。

打开ManagementStudio,用鼠标单击“对象资源管理器”窗口中某数据库引擎的“安全性”目录下的“服务器角色”,显示当前数据库服务器的所有服务器角色,共有8个,具体名称及角色描述如下。

(1)bulkadmin角色成员:

可以运行bulkinsert语句。

(2)dbcreator角色成员:

可以创建、更改、删除和还原任何数据库。

(3)diskadmin角色成员:

用于管理磁盘文件。

(4)processadmin角色成员:

可以终止SQLServer实例中运行的进程。

(5)securityadmin角色成员:

将管理登录名及其属性。

它们可以grant、deny和revoke服务器级权限。

也可以grant、deny和revoke数据库级权限。

另外,它们可以重置SQLServer登录名的密码。

(6)serveradmin角色成员:

可以更改服务器范围配置选项和关闭服务器。

(7)setupadmin角色成员:

可以添加和删除链接服务器,并且也可以执行某些系统存储过程。

(8)sysadmin角色成员:

可以在服务器中执行任何活动。

默认情况下,windowsadministrators组(即本地管理员组)的所有成员都是sysadmin固定服务器角色的成员。

固定服务器角色成员的添加与删除(有两种方法,具体步骤参看实验指导)

3、数据库角色

固定数据库角色在数据库级别定义以及每个数据库中都存在。

Db_owner和db_security管理员角色的成员可以管理固定数据库角色的成员身份。

但是,只有Db_owner角色可以将其他用户添加到Db_owner固定数据库角色中。

打开ManagementStudio,用鼠标单击“对象资源管理器”窗口中某数据库下的“安全性”目录下的“角色”的“数据库角色”,显示的所有数据库角色,共有10个,具体名称及角色描述如下。

(1)db_accessadmin:

可以为Windows登录账户、Windows组和SQLServer

登录账户添加或删除访问权限。

(2)db_backupoperator:

可以备份该数据库。

(3)db_datareader:

可以读取所有用户表中的所有数据。

(4)db_datawriter:

可以在所有用户表中添加、删除或更改数据。

(5)db_ddladmin:

可以在数据库中运行任何数据定义语言(DDL)命令。

(6)db_denydatareader:

不能读取数据库内用户表中的任何数据。

(7)db_denywriter:

不能添加、修改或删除数据库内用户表中的任何数据。

(8)db_owner:

可以执行数据库的所有配置和维护活动。

(9)db_securityadmin:

可以修改角色成员身份和管理权限。

固定数据库角色到权限有映射关系,请参阅联机帮助查询。

固定数据库角色与固定服务器角色不能被删除,用户自定义的角色可以删除。

4、用户定义的角色

当一组用户执行SQLServer中一组指定的活动时,通过用户定义的角色可以轻松地管理数据库中的权限。

在没有合适的Windows组,或数据库管理员无权管理Windows用户账户的情况下,用户定义的角色为数据库管理员提供了与Windows组同等的灵活性。

用户定义的角色只适用于数据库级别,并且只对创建时所在的数据库起作用。

(1)数据库角色创建、修改与删除(具体步骤参看实验指导)

(2)数据库角色成员的添加与删除(具体步骤参看实验指导)

5、应用程序角色(略,不作要求)

六、权限管理

(数据库应用技术SQLServer2005提高篇,参看复印资料)

设置安全验证模式——

Windows身份验证模式——默认的系统管理员登录账户:

administrators。

Windows身份

混合身份验证模式

SQLServer身份——默认的系统管理员登录账户:

sa

创建SQLServer登录账户——

映射Windows登录账户为SQLServer登录账户

将验证模式设置为SQLServer验证模式,在managementstudio中创建SQLServer登录账户

数据库A—1—用户名a

1用户名b

登录名a1数据库B—1—用户名a

1用户名b

登录名b数据库C—1—用户名a

用户名b

 

1.验证模式

安装SQLServer2005默认的是Windows身份验证模式。

可能使用ManagementStudio

工具来设置验证模式,但设置验证模式的工作只能由系统管理员来完成,以下是在ManagementStudio中的两种设置方法,以下两种方法均需要重新启动SQLServer后,才能生效。

方法之一:

(1)打开ManagementStudio。

(2)在“已注册的服务器”子窗口中要设置验证模式的服务器上单击鼠标右键,然后在弹出的快捷菜单上选择“属性”项,系统弹出“编辑服务器注册属性”窗口。

(3)在“常规”选项卡中,“服务器名称”栏按“<服务器名>[\<实例名>]”格式选择要注册的服务器实例“身份验证”栏在连接到SQLServer实例时,可以使用两种身份验证模式:

Windows身份验证和SQLServer身份验证(或称混合身份验证)。

如图4-1。

(4)设置完成后,单击“测试”按钮以确定设置是否正确。

(5)单击“保存”按钮,单击对话窗口,完成验证模式的设置或改变。

图4-1

重新登陆后验证如图:

图4-2

方法之二:

(1)在ManagementStudio对象资源管理器中,右键单击服务器,再单击“属性”项。

(2)在“安全性”页上的“服务器身份验证”下,选择新的服务器身份验证模式,再单击“确定”按钮。

如图4-3。

图4-3

2.帐号和角色

1)登录管理

使用ManagementStudio管理SQLServer登录账户

(1)映射WindowsStudio登录账户为SQLServer登录账户

在ManagementStudio中可以将一个Windows账户或一个组映射成一个SQLServer登录名。

每个SQLServer登录名都可以在指定的数据库中创建数据库用户名。

这个特性可以让Windows组中的用户直接访问服务器上的数据库。

至于这些指定的数据库用户的权限,可以另行指定的。

使用ManagementStudio将已经存在的Windows账户或组映射到SQLServer中的操作步骤如下:

1启动ManagementStudio,分别展开“服务器”、“安全性”、“登录名”。

2右击“登录名”,选择“新建登录名”项,进入“登录名-新建”对话框。

3选择Windows验证模式,登录名通过按“搜索”按钮来自动产生,单击“搜索”按钮后“选择用户或组”对话框,在对象名称框内直接输入名称或单击“高级”按钮后查找用户或组的名称来完成输入。

4单击“服务器角色”选项卡,可以查看或更改登录名在固定服务器角色中的成员身份。

5单击“用户映射”选项卡,以查看或修改SQL登录名到数据库用户的映射,并可选择其在该数据库中允许担任的数据库角色。

单击“确定”按钮,一个Windows组或用户即可增加到SQLServer登录账户中去了。

图4-4

(2)在ManagementStudio中创建SQLServer登录账户

在ManagementStudio中创建SQLServer登录账户的具体步骤类似于“在ManagementStudio中映射Windows登录账户为SQLServer登录账户”,只是,要选择SQLServer验证模式,这是需要输入登录账户名称、密码及确认密码。

其他选项卡的设置操作类似。

最后按“确定”按钮,即增加了一个新的登录账户。

(3)在ManagementStudio中查看、修改或删除登录账户

一个新的登录账户增加后,可以在ManagementStudio中查看其详细信息,并能做修改或删除操作。

方法如下:

1启动ManagementStudio,分别展开“服务器”、“安全性”、“登录名”。

如图4-3。

2单击“登录名”下的某一个登录账户,在系统弹出菜单上单击“属性”项,可进入“登录属性”对话框查看该登录账户的信息,同时需要时能直接修改相应账户设置信息。

3在上一步系统弹出菜单上单击“删除”菜单,能出现“删除对象”对话框,在对话框上单击“确定”按钮,能删除该登录账户。

图4-5

2)用户管理

使用ManagementStudio管理数据库用户

管理数据库用户包括对数据库的创建、查看、修改、删除等管理操作。

首先如何创建数据库用户呢?

一般有两种方法。

一种是在创建登录帐户的同时指定该登录帐户允许访问的数据库,同时生成该登录帐户在数据库中的用户。

如前面使用ManagementStudio创建登录帐户时就能完成数据库用户的创建;另一种方法是先创建登录帐户,再将登录帐户映射到某数据库,在其中创建同名用户名。

(1)在ManagementStudio中创建数据库用户

在ManagementStudio中创建数据库用户中创建数据库用户的步骤如下:

①启动ManagementStudio,分别展开“服务器”、“数据库”、“KCGL”、“安全

性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。

②右击“用户”文件夹,选择“新创建数据库用户”,弹出“数据库用户-新建”对话框。

③输入要创建的数据库用户的名字,然后再“登陆名”对应的文本框中输入相对应的

登录名,或单击“浏览”按钮,在系统中选择相应的登录名。

④单击“确定”按钮,将新创建的数据库用户添加到数据库中。

(2)在ManagementStudio中查看、修改或删除数据库用户

操作方式是:

①启动ManagementStudio,分别展开“服务器”、“数据库”、“KCGL”、“安全

性”、“用户”,在“用户”文件夹下能看到该数据库的已有用户。

②右击某要操作的用户,在系统弹出的快捷菜单中含有“属性”、“删除”等菜单项。

③若选择“属性”菜单项,可以查看或修改用户的权限信息,如“常规”中的“拥有

架构”“角色成员”;“安全对象”中的具体权限设置及“扩展属性”等。

④若选择“删除”菜单项,可从数据库中删除该用户。

3)角色管理

固定服务器角色成员的添加与删除

固定服务器角色成员的添加与删除操作可以通过ManagementStudio或T-SQL两种方法来操作。

在ManagementStudio中添加或删除固定服务器角色成员。

方法一:

打开ManagementStudio,用鼠标单击“对象资源管理器”窗口->某数据库引擎->“安全性”->“服务器角色”,显示当前数据库服务器的所有服务器角色,再要添加或删除成员的某固定服务器角色上单击鼠标右键,选择快捷菜单中的“属性”菜单项。

在“服务器角色属性”对话框中,能方便单击“添加”或“删除”按钮实现对成员的添加或删除。

图4-6

方法二:

打开ManagementStudio,用鼠标单击”对象资源管理器“窗口->某数据库引擎->”安全性“->”登录名“;在某登录名上右击,选择”属性“菜单项,出现”登陆属性“对话框或单击”新建登录名“出现”登陆-新建”对话框;单击“服务器角色”选项卡,能直接多项选择登陆名需要属于的固定服务器角色。

这样也完成了对固定服务器角色成员的添加与删除。

用户定义的角色

(1)数据库角色创建、修改与删除

数据库角色的创建、修改与删除操作可以通过ManagementStudio或T-SQL两种方法来操作。

在ManagementStudio中创建、修改与删除数据库角色:

①打开Management

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1