实验七《数据的安全性》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》实验指导
实验7 数据的安全性
一、实验目的
本实验的目的是通过实验使学生加深对数据安全性的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法。
相关知识介绍:
SQL Server提供以下四种防线:
(1)Windows NT操作系统的安全防线
Windows NT的网络管理员负责建立用户组,设置帐号并注册,同时决定不同的用户对不同的系统资源的访问级别。用户只有拥有了一个有效的Windows NT登录帐号,才能对网络资源进行访问。
(2)SQL Server的运行安全防线
SQL Server 通过另外一种帐号设置来创建附加安全层。SQL Server具有标准登录和集成登录两种用户登录方式,用户只有登录成功,才能与SQL Server 建立一次连接。
(3)SQL Server数据库的安全防线
SQL Server的特定数据库都有自己的用户和角色(用户组),该数据库只能由它的用户或角色访问,其他用户无权访问其数据,数据库系统可以通过创建和管理特定的数据库的用户和角色来保证数据库不被非法用户访问。
(4)SQL Server数据库对象的安全防线
SQL Server可以对权限进行管理,SQL的DCL功能保证合法用户即使登陆了数据库也不能进行超越权限的数据操作,即合法用户必须在自己的权限范围内进行数据操作。
二、实验内容
(1)在SQL Server Management Studio中设置SQL Server的安全认证模式。
(2)通过图形界面,实现对SQL Server的用户和角色管理。
(3)分别通过SQL Server图形界面和SQL的数据控制功能,设置和管理数据操作权限。
三、实验步骤
1.在SQL Server Management Studio中为所属的SQL服务器设置为SQL Server和Windows NT混合安全认证模式。其步骤如下:
(1)在对象资源管理器中,用鼠标右击需要设置的SQL服务器,在弹出的菜单中选择“属性”项,则出现服务器对话框。如图6-1所示,在“选择页”中选择“安全性”。
(2)在“服务器身份验证”中选择“SQL Server和Windows身份验证模式”单选项。
图6-1 服务器属性对话框
2.在SQL Server Management Studio中为自己建立一个服务器用户、数据库用户和数据库角色。
(1)在对象资源管理器中展开服务器,用鼠标单击“安全性”文件夹右侧的‘+’,再用鼠标右击“登录名”,在弹出的菜单中选择“新建登录名”选项,则出现新建登录名对话框。
(2)如图6-2所示,选择“选择页”中的“常规”选项,输入登录名(本例为U1),选择SQL Server身份验证,并输入用户口令。指定此登录名可以访问的数据库(本例选中Test数据库)。
图6-2 新建登录名对话框——常规选项
(3)如图6-3所示,选择“选择页”中的“服务器角色”选项,需要确定用户所属的服务器角色,在本例中采用缺省值public即可。
图6-3 新建登录名对话框——服务器角色
(4)如图6-4所示,选择“选择页”中的“用户映射”选项,需要确定映射到此登录名的用户,在本例中勾选Test。数据库角色成员身份选择public。
图6-4 新建登录名对话框——用户映射
(5)单击“确定”按钮,即完成了创建登录用户的工作。
(6)按照上述方法创建登录用户U2、U3。
3.登录新建用户。
(1)重新登录SQL Server Management Studio,如图6-5所示,选择“SQL Server身份验证”,用户名为U1,输入用户口令,连接到SQL Server。
图6-5 新建用户登录
(2)新建查询,选择Test数据库,在查询编辑窗口中键入SQL查询命令“SELECT * FROM Student”。运行后,在运行结果窗口得到消息“拒绝了对对象'Student'(数据库'Test',所有者'dbo')的SELECT 权限。”,可见用户U1没有对Student表的SELECT权限。
4.要将Test数据库的部分操作权限赋予数据库用户U1,有两种方法。
方法一:通过图形界面方式
(1)以sa身份进入SQL Server Management Studio,展开服务器,用鼠标单击“数据库”文件夹右侧的‘+’,用鼠标单击Test数据库文件夹右侧的‘+’,用鼠标右击“用户”。在屏幕右侧的“用户”窗口中选择“U1”项,用鼠标右击,在弹出的菜单中选择“属性”项,则出现数据库用户属性对话框,选择“安全对象”选项,如图6-6所示。
图6-6 数据库用户U1对话框——安全对象选项(2)点击“搜索”按钮,出现“添加对象”对话框,选择“特定对象”,点击“确定”按钮,如图6-7所示。
图6-7 添加权限对象对话框
(3)如图6-8所示,在“选择对象”对话框中点击“对象类型”按钮。
图6-8 选择权限对象对话框
(4)如图6-9所示,在“选择对象类型”对话框中勾选“表”,然后点击“确定”按钮,返回到“选择对象”对话框。
图6-9 选择权限对象类型
(5)如图6-10所示,在“选择对象”对话框中,点击“浏览”按钮,进入“查找对象”对话框。
图6-10 选择权限对象
(6)如图6-11所示,在“查找对象”对话框中勾选表Student,然后点击“确定”按钮,再次返回到“选择对象”对话框。
图6-11 查找权限对象
(7)如图6-12所示,点击“确定”按钮,返回到安全对象设置对话框。
图6-12 选择权限对象对话框
(8)在安全对象设置对话框中,通过勾选dbo.Student对应的权限给用户U1授权。如图6-13所示,勾选“选择”权限对应的授权框,再点击“确定”按钮,使得用户U1获得Student表的查询权限。
图6-13 授权
(9)验证用户U1对Student表的操作权限。以用户U1的身份登录,在SQL Server Management Studio中新建查询,并在查询编辑区中使用SQL语句查询到Student表中的数据。但是如果以用户U1的身份查询其他基本表,依然无法查看表中数据。