实验4--数据库安全保护实验.doc
《实验4--数据库安全保护实验.doc》由会员分享,可在线阅读,更多相关《实验4--数据库安全保护实验.doc(8页珍藏版)》请在咨信网上搜索。
实验4 数据库安全保护实验 一、实验目的和要求 (1) 通过实验使学生加深对数据完整性的理解; (2) 掌握使用SQL语句进行数据库权限授予和回收的方法; (3) 掌握使用SQL语句进行视图建立; (4) 掌握SQL Server中数据库备份和恢复的方法. 二、实验内容和步骤 数据库的安全性是指保护数据库,以防止不合法的使用所造成的数据泄露、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性,是紧密联系、相互支持的。 对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作。SQL Server正日益广泛地应用于各种场合,作为SQL Server的数据库系统管理员,需要深入理解SQL Server的安全性控制策略,以实现安全管理的目标. SQL Server包含各种精确的可配置的安全功能。使用这些功能,管理员可实施针对其所处环境的特定安全风险优化的深度防御.SQL Server 2008具有了最新的安全技术,以保证数据的安全。微软公司利用自己Windows操作系统产品的安全性设置,将SQL Server的安全性建构在其上,并且增加了专门的数据安全管理等级。这些机制保证了数据库的访问层次与数据安全. SQL Server安全策略是通过系统的身份验证实现的.身份验证是指当用户访问系统时,系统对该用户的账号和口令的确认过程。身份验证的内容包括确认用户的账号是否有效、能否访问系统、能访问系统的哪些数据等. 身份验证模式是指系统确认用户的方式。SQL Server系统是基于Windows操作系统的,这样SQL Server的安全系统可以通过两种方式实现:SQL Server和Windows结合使用以及只使用Windows。Windows系统用户能否访问SQL Server系统,取决于SQL Server系统身份验证方式的设置。 Windows 身份验证模式只允许使用Windows身份验证方式。此时,用户无法以SQL Server的登录账号登录服务器。它要求用户登录到Windows系统,当用户访问SQL Server时,不用再次登录。虽然用户仍会被提示登录,但SQL Server的用户名会自动从用户网络登录ID中提取。Windows 身份验证模式最适用于只在部门访问数据库的情况.与SQL Server身份验证方式相比,Windows身份验证方式具有下列优点:提供了更多的功能,如安全确认和口令加密、审核、口令失效、最小口令长度和账号锁定;通过增加单个登录账号,允许在SQL Server系统中增加用户组;允许用户迅速访问SQL Server系统,而不必使用另一个登录账号和口令。 混合身份验证模式既允许使用Windows身份验证方式,又允许使用SQL Server身份验证方式。它使用户既可以登录SQL Server,也可用Windows的集成登录。 当使用混合模式时,无论是使用Windows身份验证方式的用户,还是使用SQL Server身份验证方式的用户,都可以连接到SQL Server系统上。也就是说,身份验证模式是对服务器来说的,而身份验证方式是对客户端计算机来说的。 查看与更改身份验证模式 (1)在【对象资源管理器】面板中,展开服务器结点,右键鼠标,快捷菜单中执行【属性】命令。 (2)在【服务器属性】对话框中,选择【安全性】,窗口右侧即会显示出当前的身份验证模式。 注:设置改变后,用户必须停止并重新启动SQL Server服务,设置才生效. 创建SQL Server登录 一、创建Windows系统账户登录 (1)打开【计算机管理】面板,找到【本地用户和组】,右键单击【用户】,执行快捷菜单中的【新用户】命令,按下图所示新建【TEST】用户。 (2)启动并登录SQL Server Management Studio,在【对象资源管理器】面板中展开【安全性】分支. (3)鼠标右键单击【登录名】分支,在弹出的快捷菜单中选择【新建登录名】命令,弹出【登录名—新建】对话框,选中【Windows身份验证】单选按钮,单击【搜索】按钮. (4)在弹出的【选择用户或组】对话框中点击【高级】按钮。 (4)单击【立即查找】按钮,在搜索结果中选择【TEST】,确定操作. (5)观察实验结果.在【安全性】分支中已可看到新建的【TEST】登录名,验证实验成功. 二、创建标准登录账户 假设要在SQL Server系统中新加一个名为MyLog的用户,操作步骤如下。 (1)启动并登录SQL Server Management Studio,在【对象资源管理器】面板中展开【安全性】分支。 (2)右击【登录名】分支,在弹出的快捷菜单中选择【新建登录名】命令,弹出【登录名—新建】对话框。 (3)在【登录名】文本框中输入“MyLog",点选【SQL Server身份验证】单选按钮,在【密码】与【确认密码】文本框中输入“SO9”.注意,不要采用与用户名相同的密码,大家在实际使用时要特别留意,因为这样做会大大降低数据库的安全性。在【默认数据库】下拉列表框中选择【master】选项,也就是当新建的用户登录,所有的默认操作都将是针对数据库master的。确认操作。 (4)验证实验结果。 (5)退出SSMS,并重新启动,在【SQL Server身份验证】模式下,用MyLog登录服务器。尝试连接【MASTER】数据库。尝试连接【MyDB】数据库.观察结果,分析原因. 利用T_SQL添加SQL Server账号:执行系统存储过程sp_addlogin: Sp_addlogin login_id[,passwd[,defdb[,deflanguage]]] 如:Sp_addloginFOX,Saying,pubs 其中:Login_id为注册标识或SQL Server用户名;Passwd为口令,默认口令是NULL(即不需要口令),用户可以在任何时候使用;sp_password系统存储过程改变自己的口令;Defdb指定用户在注册时连接到的默认数据库,如果没有指定默认数据库,则默认数据库是master;Deflanguage说明用户注册到SQL Server时使用的默认语言代码。 Ø 修改登录账号的属性 ①利用企业管理器:用鼠标双击要修改属性的登录账号,在属性对话框中进行修改. ②利用T_SQL:涉及以下几个系统存储过程:sp_password修改账号口令,sp_defaultdb修改账号默认数据库,sp_defaultlanguage修改账号默认语言。其中,系统存储过程sp_password的格式是: sp_password old_passwd,new_passwd[,login_id] sp_passwordSaying,Singing,FOX Ø 删除登录账号 ①利用企业管理器:右击要删除的账号,在弹出的快捷菜单中选择“删除”命令,在确认对话框中单击“是”按钮,这个登录账号就永久被删除了. ②利用T_SQL:使用系统存储过程sp_droplogin来删除SQL Server登录账号。如: sp_droplogin student sp_droploginFOX 启用和禁用登录 要启用、禁用或解锁一个登录的操作步骤: (1)启动Microsoft SQL Server Management Studio,在【对象资源管理器】视图中,连接到适当的服务器,然后向下浏览至【安全性】文件夹. (2)展开【安全性】文件夹和【登录名】文件夹以列出当前的登录.右击【MyLog】,然后从快捷菜单中选择“属性"以查看此登录的属性.这样会打开“登录属性"对话框。 (3)在【登录属性】对话框左侧列表中选择【状态】选项,打开【状态】页面。 (4)然后可以进行以下操作: ² 要启动登录,在“登录”选项区下选择“启用”单选按钮。 ² 要禁用登录,在“登录”选项区下选择“禁用"单选按钮。 (5)最后单击“确定”按钮,完成操作。 修改登录 具体操作步骤如下: (1)选择Mylog,打开“登录属性”对话框。 (2)单击【登录属性】对话框左侧的【用户映射】选项,可以为当前用户添加一个连接数据库【MyDB】。 (3)切换用MyLog登录连接服务器,观察MYDB数据库. 创建数据库用户 (1) 通过设置“用户映射”指明数据库用户。首先将【MyDB】数据库【安全性】下面的【MyLog】删除。 (2)选择【MyDB】数据库结点,展开,定位至【安全性】,鼠标右键点击【用户】,执行快捷菜单中的【新建用户】命令。 (3)如下图所示的位置,点击【··· 】按钮. (4)在【选择登录名】对话框中,点击【浏览】按钮。 (5)在【查找对象】对话框中,勾选【MyLog】,确定操作. (6)录入新建的用户名【MyUser】,再次执行【确定】按钮。 (7)观察并确认试验结果. 操作权限 权限分为3种状态:授予、拒绝、撤销,可以使用如下的语句来修改权限的状态. v 授予权限(GRANT):授予权限以执行相关的操作。通过角色,所有该角色的成员继承此权限. v 撤销权限(REVOKE):撤销授予的权限,但不会显示阻止用户或角色执行操作。用户或角色仍然能继承其他角色的GRANT权限。 v 拒绝权限(DENY):显式拒绝执行操作的权限,并阻止用户或角色继承权限,该语句优先于其他授予的权限. 一、授予权限 语法格式: GRANT {ALL|statement[,..n] } TO security_account[,.。n] 试分析以下语句功能: USEMyDB Go GRANTSELECT,INSERT ONSTUDENTS TOMyUser GO 切换至 MYLOG连接服务器。 按照下图所示执行对应操作,理解权限和授权的含义。 分析为何SQL Server系统对于语法正确的SQL语句会差别对待,允许执行或拒绝执行的依据是什么? 切换至 Windows 验证。分析下语句功能: USEMyDB Go GRANTCREATETABLE TOMyUser GO 二、回收权限 REVOKE {ALL|statement[,。。n] } FROM security_account[,..n] 执行以下语句,分析其功能: USEMyDB Go REVOKEINSERT ONSTUDENTS FROMMyUser GO 删除SQL Server登录 当一个用户不再需要具有数据库操作的权限时,在安全管理上要进行用户的删除操作。下面以删除用户Teacher为例,讲解在SQL Server中删除用户登录的操作步骤。 (1)启动并登录SQL Server Management Studio,在【对象资源管理器】面板中展开【安全性】|【登录名】分支,右击用户名【Mylog】,在弹出的快捷菜单中选择【删除】命令,弹出【删除对象】对话框. (2)单击【确定】按钮,这个用户就删除了,此时会弹出一个删除登录名提示框. (3)如果要彻底删除用户,还要展开【数据库】|【MyDB】|【安全性】|【用户】分支,右击【MyUser】,弹出【删除对象】对话框.单击【确定】按钮,登录名将彻底从系统中删除。 备份数据库 备份就是制作数据库结构和数据的拷贝,以便在数据库遭到破坏时能够修复数据库。数据库的破坏是难以预测的,因此必须采取能够还原数据库的措施。一般地,造成数据丢失的常见原因包括以下几种。 v 软件系统瘫痪 v 硬件系统瘫痪 v 人为误操作 v 存储数据的磁盘被破坏 v 地震、火灾、战争、盗窃等灾难 用户执行完全的数据库备份,包括所有对象、系统表以及数据。在备份开始时,SQL Server复制数据库中的一切,而且还包括备份进行过程中所需要的事务日志部分.因此,利用完整备份还可以还原数据库在备份操作完成时的完整数据库状态.完整备份方法首先将事务日志写到磁盘上,然后创建相同的数据库和数据库对象及复制数据。由于是对数据库的完整备份,因而这种备份类型速度较慢,将占用大量磁盘空间。在对数据库进行完整备份时,所有未完成的事务或者发生在备份过程中的事务都将被忽略。 完整备份是指备份整个数据库,不仅包括表、视图、存储过程和触发器等数据库对象,还包括能够恢复这些数据的足够的事务日志。完整备份的优点是操作比较简单,在恢复时只需要一步就可以将数据库恢复到以前的状态。 SQL Server2000有数据库完全备份、数据库差异备份、事务日志文件备份、文件及文件组备份等四种形式。在备份一个数据库之前,需要先创建一个备份设备,然后再去复制要备份的数据库、事务日志、或文件/文件组等,而备份设备可以是磁带、磁盘文件或是网络驱动。 一、备份设备 使用SQL Server Management Studio 创建备份设备的具体步骤如下: (1)启动 SQL Server Management Studio,打开SQL Server Management Studio窗口,并使用windows或者SQL Server 身份验证建立连接。 (2)在“对象资源管理器”视图中,展开服务器的“服务器对象”文件夹 (3)右击“备份设备”,然后从快捷菜单中选择“新建备份设备”,打开“备份设备”对话框, (4)在“设备名称”文本框中,输入“我的备份"。设置好目标文件或者保持默认值,这里必须保证SQL Server 2008所选择的硬盘驱动器上有足够的可用空间。 (5)单击“确定"按钮完成创建永久备份设备. 二、数据库的备份 按步骤实现对数据库【MyDB】的备份操作. (1)启动SSMS,并连接到SQL Server中的数据库。在【对象资源管理器】中展开【数据库库】结点,右键快捷菜单中执行【新建数据库】命令。 (2)将新建的数据库命名为【MyDB】,其余保留默认设置不变。 (3)在下图所示的位置处,点击【可用数据库】列表,将其由默认的【master】改选为我们刚新建的数据库【MyDB】。 (4)将下面所有的SQL语句复制、粘贴至查询窗口中执行。 CREATETABLEStudents ( SnoCHAR(5)PRIMARYKEY, SnameCHAR(20)NOTNULLUNIQUE, SsexCHAR(2)CONSTRAINTde_SsexDEFAULT’男', SageINTCHECK (SageBETWEEN 16 AND 24), SdeptCHAR(15)CHECK (SdeptIN(’电子商务’,’计算机’,’数学')) ) CREATETABLECourses ( CnoCHAR(5)PRIMARYKEY, CnameCHAR(20)NOTNULL, Pre_CnoCHAR(5)REFERENCESCOURSES(Cno), CreditsINT, ); CREATETABLEReports ( SnoCHAR(5)REFERENCESSTUDENTS(Sno), CnoCHAR(5)REFERENCESCourses(Cno), GradeINTCHECK (Grade〉=0 ANDGrade〈=100), CONSTRAINTSno_CnoPRIMARYKEY(Sno,Cno) ); INSERTINTOStudentsVALUES ('S01’,’王建平’,’男',21,’电子商务'); INSERTINTOStudentsVALUES (’S02’,'刘华’,’女',19,’电子商务’); INSERTINTOStudentsVALUES (’S03',’范林军','女’,18,’计算机'); INSERTINTOStudentsVALUES (’S04','李伟',’男',19,'计算机’); INSERTINTOCoursesVALUES(’C01','英语’,NULL,4); INSERTINTOCoursesVALUES(’C05','C++',NULL,3); INSERTINTOCoursesVALUES(’C02’,'数据结构’,’C05',2); INSERTINTOCoursesVALUES('C03’,’数据库’,'C02’,2); INSERTINTOCoursesVALUES('C04’,'DB_设计’,'C03’,2); INSERTINTOCoursesVALUES(’C07’,'操作系统’,’C05’,3); INSERTINTOCoursesVALUES('C06’,’网络原理',’C07',3); INSERTINTOReportsVALUES(’S01',’C01',92); INSERTINTOReportsVALUES(’S01',’C03',84); INSERTINTOReportsVALUES(’S02',’C01',90); INSERTINTOReportsVALUES(’S02',’C02’,94); INSERTINTOReportsVALUES(’S02’,’C03’,82); INSERTINTOReportsVALUES('S03’,'C01’,72); INSERTINTOReportsVALUES(’S03',’C02',90); INSERTINTOReportsVALUES(’S04',’C03’,75); 语句执行完毕后,请先检查【MyDB】数据库中是否成功新建三张表,三张表中的数据是否成功录入. (5)鼠标右键点击要备份的数据库【MyDB】, 在弹出的快捷菜单中选择【任务】/【备份】命令,如下图所示: (6)进入【备份数据库】对话框,在【常规】选项卡中设置数据库的数据源和备份地址。 下图中,先点击右下角的【添加】按钮. 【选择备份目标】处,点击【···】按钮。 打开了【定位数据库文件】对话框,设置备份路径为D:\,备份文件名为MyBack,确定你的操作。 (7)回到【选择备份目标】对话框,点击【确定】按钮,等待备份成功的提示。 执行下语句,分析其功能: USEMyDB GO TRUNCATETABLEREPORTS GO 请同学自己在相应的操作窗口,用相应的方法来验证你的分析. 恢复数据库 (1)鼠标右键单击要恢复的数据库【MyDB】,在弹出的快捷菜单中依次选择【任务】/【还原】/【数据库】命令,如下图所示: (2)进入【还原数据库】对话框,在【常规】选项卡中,确认还原的目标和源数据库以及用于还原的备份。 (3)在【还原数据库】对话框的【选项】选项卡中,勾选【覆盖现有数据库】复选框。 (4)对数据库【MyDB】的还原成功完成。 分离和附加数据库 看图说话.参考以下操作截图,结合你的实验过程,请用你的语言描述如何将数据库从服务器上分离出去,又如何将数据库重新附加回来,要求给出详尽步骤。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数据库 安全 保护
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文