您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 实验7:数据库安全性控制
实验7:数据库安全性控制一、实验目的1.了解SQLServer2005的身份验证方法;2.掌握SQLServer中登录用户和数据库用户的管理;3.掌握SQLServer中的用户权限控制。二、实验内容1.Windows和SQLServer2005身份验证的比较;2.使用SSMS和SQL管理登录用户和数据库用户;3.数据库中的自主存取权限控制。三、实验内容1.使用SSMS设置身份验证模式①登录SQLServerManagementStudio,如实验4步骤类似,附加提供的数据库“Teaching”,载入数据;②在窗口左侧目录树顶层节点上单击右键,在弹出菜单中选择“属性”,打开“属性”对话框,选择“安全性”选项页,“服务器身份验证”区域中有如下身份验证模式选择。•Windows身份验证模式:指定用户只能使用Windows身份验证连接SQLServer。•SQLServer和Windows身份验证模式:指定用户可以使用SQLServer身份验证或Windows身份验证连接到SQLServer。③选择后者,单击“确定”按钮,即完成身份验证模式的选择和设置。2.使用SSMS创建登录用户①在窗口左侧目录树窗口中,展开希望创建新的登录用户的数据库实例。②展开文件夹“安全性”,单击“登录名”,即可在窗口右边看到目前DBMS上所有的登录用户名称。③在“登录名”上单击鼠标右键,从弹出菜单中选择“新建登录名”,打开“新建登录”窗口。④以创建一个“test”登录用户为例,进行如下操作:在“登录名——新建”窗口的“常规”选项卡中进行如下配置:•在“登录名”文本框中输入一个SQLServer登录的账号名“test”。•选择登录模式为“SQLServer身份验证”,设置密码为“Database-1234”。⑤在窗口的“安全对象”选项页中,可以选择允许登录账户访问的数据对象,在“服务器角色”选项页中,可以为登录账户指定数据库系统角色。此处暂且不作任何操作。⑥单击“确定”按钮,完成登录账户的创建。3.使用SSMS创建数据库用户①在窗口左侧目录树窗口中,展开附加的数据库节点“Teaching”;②继续展开该节点下“安全性”的下一级节点“用户”,单击鼠标右键,在弹出的菜单中选择“新建用户”,弹出“数据库用户—新建”对话框。③在对话框的“常规”选项页中进行如下配置:•在“用户名”后的文本框中输入“test”;z单击“登录名”后的按钮,然后在“选择登录名”对话框中单击“浏览”按钮,选择刚才创建的登录用户“test”;•在“数据库角色成员身份”列表框中为账号“test”分配角色“db_accessadmin”;④单击“安全对象”选项卡,在“安全对象”中添加对“Teaching”数据库中“Students”表的操作。添加成功后,在下方将列出该表上所有可操作的显式权限:授予(Grant):表示允许某个用户或角色对数据对象执行某种操作。(如授予test用户在STUDENTS数据表上的select、insert和update权限);拒绝(Deny):表示禁止某个用户或角色对数据对象执行某种操作。(如拒绝test用户在STUDENTS数据表上的alter、references和delete权限)具有授予权限(withgrantoption):表示允许某用户将当前已获得的某种权限授予给其他用户。(如允许test用户将其在STUDENTS数据表上的insert、update权限授予给其他用户).还可以单击“列权限”按钮,打开“列权限”对话框,将授权粒度控制到属性列级别。设置完毕后,单击“确定”按钮,完成用户在数据库对象权限上的设置。⑤断开当前与对象资源管理器的连接,以“test”用户身份登录ManagementStudio,尝试在STUDENTS表上依次执行数据查询、数据修改和表结构修改、表删除操作,查看操作结果,验证用户权限。4.使用SQL管理用户权限-(相关命令语法请参阅联机丛书)。断开当前与对象资源管理器的连接,以sa用户身份登录SSMS,设计正确的SQL语句实现如下操作要求:①使用Createlogin创建一个名为test2的登录用户,密码为Database-4567②使用Createuser语句将test2登录用户创建为Teaching数据库用户;③授予test2在Teaching数据库中创建表、创建视图的权限;④授予test2对Teaching数据库中SCTS表上的所有操作权限(AllPrivileges),并允许他将这些权限转授给其他用户;⑤关闭当前查询窗口,断开当前连接,以test2用户身份登录SSMS,然后新建一个查询窗口,尝试执行如下操作:UseTeachingCreateTabletemptable(Tnochar(5),Tnamevarchar(12));上述语句如果执行成功,则代表sa用户向test2用户授权成功;否则不成功。同理,以“test2”用户身份尝试执行视图创建、在SCTS表上的SELECT/INSERT/UPDATE/DELETE等授权操作,以及修改表、删除表等非授权操作,验证用户权限。h将test2用户所拥有的在SCTS表上的DELETE权限转授给test用户;i断开当前连接,以sa用户身份登录SSMS,新建查询窗口,然后回收test用户在STUDENTS表上的UPDATE权限,回收test2用户在SCTS表上的DELETE权限。j切换到以test用户身份登录,新建查询窗口,验证其被回收的权限,特别注意其在SCTS表上的DELETE权限是否被级联回收。5.使用“角色(role)”管理用户权限(相关命令语法请参阅联机丛书)①新建登录用户“U1”、“U2”、“U3”、“U4”,并将这四个用户定义为Teaching数据库的数据库用户;②在Teaching数据库中,使用角色创建向导或者“CreateRole”语句创建一个数据库角色“db_selector”,并将先前创建的U1、U2、U3和U4用户添加为db_selector角色的成员。z若使用语句实现对用户的角色指派:需调用系统存储过程sp_addrolemember调用语法为:EXECsp_addrolemember'role','security_account'z若使用对话框交互实现对用户的角色指派:在新建数据库角色对话框的“常规”选项页中,单击“添加”,即可将已创建的数据库用户添加到角色成员中。③授予角色查询Teaching数据库中各数据表(STUDENTS、COURSES、TEACHERS、COLLEGES和SCTS)的权限,验证U1、U2、U3和U4用户是否通过角色获得了相应权限。
本文标题:实验7:数据库安全性控制
链接地址:https://www.777doc.com/doc-1261206 .html