实验8 数据库安全管理.docx

上传人:b****7 文档编号:24959755 上传时间:2023-06-03 格式:DOCX 页数:15 大小:646.82KB
下载 相关 举报
实验8 数据库安全管理.docx_第1页
第1页 / 共15页
实验8 数据库安全管理.docx_第2页
第2页 / 共15页
实验8 数据库安全管理.docx_第3页
第3页 / 共15页
实验8 数据库安全管理.docx_第4页
第4页 / 共15页
实验8 数据库安全管理.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

实验8 数据库安全管理.docx

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

实验8 数据库安全管理.docx

实验8数据库安全管理

实验八数据库安全管理

姓名:

方令

学号:

0807022205

专业:

网络工程

班级:

2班

同组人:

实验日期:

【实验目的与要求】

1、了解microsoftsqlsever2005数据库用户创建与权限管理;

2、掌握使用企业管理器和T-SQL进行权限管理的方法

【实验准备】

1.准备好测试所需表和数据

2.熟悉Grant和Revoke语句。

【实验内容】

8.1.使用对象资管理器进行权限管理

8.1.1.用户创建与权限管理

1.用户的创建

(1)在企业管理器中找到“安全性”-->“登录名”,并单击右键,选择“新建登录名”;如图:

(2)输入登录用户名“myName”,登录口令为testdb(或自行设定),并选择sqlserver身份验证,选择数据库为“CPXS”,去掉“强制密码过期”复选条件,如下图:

(3)点“确定”完成用户“myName”的创建。

2.用户登录测试

(1)关闭对象资源管理器,重新使用菜单打开对象资源管理器,如下图:

(2)在登录对话框中身份验证处选择“SQLServer身份验证”,输入登录名和相应的口令,如下图:

(3)点击连接,试图登录数据库,进行用户登录测试。

请给出测试结果截图:

 

结论:

此时,用户myName是无权限登录到数据库的,其原因在于前面实验中仅创建了该用户,而没有给予该用户相应的访问权限。

3.用户权限的分配与管理

(1)重新以sa用户名或“Windows身份验证”方式登录,如下图:

(2)在对象资源管理器中选择“安全性“-->登录名,右击用户名myName,选择属性,如下图:

(3)在登录属性对话框中进行相应的设置:

在左上角选择页中选择“用户映射”,在右边映射到此登录名的用户选项中勾选cpxs,数据库角色成员处勾选public,如下图:

(4)完成设定后退出,重新以SQLServer身份验证,登录名myName登录系统,如下图:

(5)完成登录后,在对象资源管理器左边展开数据库选项,如下图:

(5)在数据库选项下,点击db_shopping(或其他非cpxs数据库),看是否可正常访问?

请给出测试结果截图:

 

(6)在数据库选项下,点击cpxs数据库,展开表节点,看是否可正常访问cpxs中的表(如CP表)?

请给出测试结果截图:

 

思考:

为什么会有这样的结果?

若要使myName对cpxs有完全的权限,应如何做,请尝试。

(请根据以上实现理解数据库中角色的概念)

8.1.2.数据库表访问权限的管理

1.设定用户对表的访问权限

(1)重新以sa用户名或“Windows身份验证”方式登录,对象资源管理器中依次选择:

数据库-->CPXS-->表,右击其中一个表(如CP表),选择“属性”如下图:

(2)在表属性对话框中进行表的访问权限设置:

点击“添加”,如下图:

(3)在选择用户或角色对话框中点击“浏览”,如下图:

(4)在查找对象对话框中选择需设定的用户名myName,如下图:

(5)对myName的访问权限进行设定:

选择Select,如下图:

(6)点击“列权限”,在弹出的对话框中设定“产品编号”、“产品名称”和“价格”被选中,如下图:

2.用户对表的访问权限测试

(1)退出对象资源管理器,重新以SQLServer身份验证模式,以用户名myName和相应的口令登录数据库,如下图:

(2)测试对表的访问权限:

在对象资源管理器中依次展开“数据库”CPXS表,看是否可以看到CP表,是否可以看到其他表?

请给出测试结果:

 

(3)测试对表的访问权限:

打开查询分析器,输入如下语句:

请给出测试结果:

 

(4)测试对表的访问权限:

打开查询分析器,输入如下语句:

请给出测试结果:

 

思考:

对比以上(3)-(4)的测试结果,思考为什么会有这样的测试结果?

 

8.2.使用T-SQL语句进行权限管理

8.2.1.用户创建与权限分配

以下用户创建与权限管理需以有相应权限的用户来操作,建议以sa用户名或“Windows身份验证”方式登录。

(1)在查询分析器中编制程序,在sqlserver中创建一个新的登陆用户,登陆名为“myTestName”,密码为“testdb”,登陆后连接的数据库为“CPXS”数据库。

(2)在查询分析器中编制程序,使刚创建的登陆用户成为当前数据库用户:

(3)在查询分析器中编制程序,给用户授予创建和查询表的权限:

(4)在查询分析器中查询用户拥有的权限。

请给出测试结果截图:

 

练习:

将以上语句中参数改成null改成CP,执行该语句,给出并比较查询结果。

8.2.2.用户权限测试

1.登录数据库

(1)用新建的myTestName登录到数据库。

2.在查询分析器中输入代码检查用户“myTestName”的权限:

(1)执行如下语句,检查用户“myTestName”是否有创建数据库的权限:

createdatabaseTestDB

on

name=TestDB_data,--数据文件的逻辑名称,注意不能与日志逻辑同名

filename='C:

\Exam03\TestDB4.mdf',--物理名称,注意路径必须存在

size=5,--数据初始长度为5M

maxsize=10,--最大长度为10M

filegrowth=1--数据文件每次增长1M

logon

name=TestDB_log,

filename='C:

\Exam03\TestDB4.ldf',

size=2,

maxsize=5,

filegrowth=1

请给出测试结果截图:

 

(2)执行如下语句,检查用户“myTestName”是否有检查创建表的权限:

请给出测试结果截图:

 

思考:

完成后在左边对象资源管理视图中找到表t_Test,注意观查其前辍,并与其他表作比较,籍此理解什么是模式?

(3)执行如下语句,检查用户“myTestName”的查询权限:

请给出测试结果截图:

 

8.2.3.用户权限回收

以下用户创建与权限管理需以有相应权限的用户来操作,执行Revoke语句。

(1)以sa用户名或“Windows身份验证”方式登录,输入命令,回收myTestName的查询“CP”的权限:

(2)再次以用户名myTestName登录到数据库,检查myTestName用户是否具有查询“CP”表的权限:

请给出测试结果截图:

 

思考:

比较此次查询结果与前面相同查询结果的差别,籍此理解用户权限的分配与回收?

8.3.实验练习

在数据库中创建三个用户ZhangFei、GuanYu和LiuBei授予他们对数据库CPXS具有不同的访问权限,写出相应的过程或给出相应的T-SQL语句,并给出测试结果。

(如果可能,尽量也给出否定的测试结果)。

1.ZhangFei只能查询CP表中的数据

 

2.GuanYu可以管理XSS表中数据,同时还可以将该权限授予别的用户

 

3.LiuBei只能查询CP表的平均价格、最高价格和最低价格(提示:

可借助视图实现)

 

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

当前位置:首页 > IT计算机 > 互联网

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

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