实验8 数据库安全管理Word文件下载.docx
- 文档编号:19698366
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:17
- 大小:866.20KB
实验8 数据库安全管理Word文件下载.docx
《实验8 数据库安全管理Word文件下载.docx》由会员分享,可在线阅读,更多相关《实验8 数据库安全管理Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
(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表)?
不能访问CPXS中的表。
思考:
为什么会有这样的结果?
若要使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表,是否可以看到其他表?
请给出测试结果:
由图中可看出,只能看到CP表,不能访问CPXS中的其他表。
(3)测试对表的访问权限:
打开查询分析器,输入如下语句:
(4)测试对表的访问权限:
思考:
对比以上(3)-(4)的测试结果,思考为什么会有这样的测试结果?
设置权限时,没有给用户myName对于表中列属性‘库存量’的select权限。
8.2.使用T-SQL语句进行权限管理
8.2.1.用户创建与权限分配
以下用户创建与权限管理需以有相应权限的用户来操作,建议以sa用户名或“Windows身份验证”方式登录。
(1)在查询分析器中编制程序,在sqlserver中创建一个新的登陆用户,登陆名为“myTestName”,密码为“testdb”,登陆后连接的数据库为“CPXS”数据库。
(2)在查询分析器中编制程序,使刚创建的登陆用户成为当前数据库用户:
(3)在查询分析器中编制程序,给用户授予创建和查询表的权限:
(4)在查询分析器中查询用户拥有的权限。
练习:
将以上语句中参数改成null改成CP,执行该语句,给出并比较查询结果。
用户myTestName对于表CP只有select权限.
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,
\Exam03\TestDB4.ldf'
size=2,
maxsize=5,
filegrowth=1
(2)执行如下语句,检查用户“myTestName”是否有检查创建表的权限:
完成后在左边对象资源管理视图中找到表t_Test,注意观查其前辍,并与其他表作比较,籍此理解什么是模式?
创建的表名为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表中的数据
GrantselectoncptoZhangFei.
2.GuanYu可以管理XSS表中数据,同时还可以将该权限授予别的用户
GrantallpriviledgesonxsstoGuanYu.
3.LiuBei只能查询CP表的平均价格、最高价格和最低价格(提示:
可借助视图实现)
Createviewview_cpasselectavg(价格)as平均价格,max(价格)as最高价格,min(价格)as最低价格fromcp;
Grantselectonview_cptoLiuBei
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验8 数据库安全管理 实验 数据库 安全管理
![提示](https://static.bdocx.com/images/bang_tan.gif)