实验9 数据库的安全性
一实验目的
理解身份验证模式;
理解登录账号、服务器角色、数据库角色和数据库用户,以及之间的关系;
能够创建登录账号,创建数据库角色;
能够为数据库角色和数据库用户分配权限;
二实验内容
身份验证模式:
1.设置数据库服务器的验证方式为windows;
2.在查询分析器中分别选择windows和Sql server身份验证两种方式登录服务器;
3.设置数据库服务器的验证方式为sql server和windows;
4.在查询分析器中分别选择windows和Sql server身份验证两种方式登录服务器;
登录账号、数据库用户和权限:
1.查看sa的服务器角色和数据库访问权限;
2. 查看各数据库的用户;
3.理解sa和dbo之间的关系;
sa :管理员管理员帐号,可以管所有的数据库.
dbo :数据库所有者.只能管当前(一个)数据库.
4.新建登录账号temp,密码为1234;
5.在查询分析器中采用temp用户登录服务器,查看登录效果;
6.在temp用户的“数据库访问”选项中添加studentxk数据库;
7.再次在查询分析器中采用temp用户登录服务器,查看登录效果;
8.执行语句“select * from student”;
9.在企业管理器中打开studentxk数据库的用户,选中temp用户,为其分配对于student
表的select权限;
10.再次执行语句“select * from student”,查看效果;
11.执行“select * from course”,查看效果;
角色:
1.在企业管理器中打开studentxk数据库的角色,新建temprole角色,并为其添加数据库
用户temp;
2.为temprole角色分配对于course表的select权限;
3.执行“select * from course”,查看效果;
4.在企业管理器中打开studentxk数据库的角色,新建temprole2角色,并为其添加数据库
用户temp;
5.为temprole角色分配对于course表的select的拒绝权限;
6.执行“select * from course”,查看效果;
7.查看temp用户对应的角色,理解一个用户同时拥有不同角色的叠加效果;
三实验收获与体会
第九章数据库安全性 一、选择题 1. 以下()不属于实现数据库系统安全性的主要技术和方法。 A. 存取控制技术 B. 视图技术 C. 审计技术 D. 出入机房登记和加锁 2.SQL中的视图提高了数据库系统的()。 A. 完整性 B. 并发控制 C. 隔离性 D. 安全性 3.SQL语言的GRANT和REVOKE语句主要是用来维护数据库的()。 A. 完整性 B. 可靠性 C. 安全性 D. 一致性 4. 在数据库的安全性控制中,授权的数据对象的(),授权子系统就越灵活。 A. 范围越小 B. 约束越细致 C. 范围越大 D. 约束范围大 三、简答题 1. 什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2. 数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 3.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有未被授权的人员无法存取数据。例如C2级中的自主存取控制(DAC),B1级中的强制存取控制(MAC); 3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA可以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知数据的内容。 具体内容请参见《概论》9.2。 4.什么是数据库中的自主存取控制方法和强制存取控制方法? 答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个
一、实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1)非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择‘修改’命 令-->对话框中右击sno-->选择‘设置主键’-->修改主键名为‘pk_sno’ -->保 存 (3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。 唯一约束:单击数据库Student-->单击表-->单击S-->右击sname-->选择‘修改’命令→右击sname-->选择‘索引和键’命令-->打开‘索引和键’框图-->添加--> 是否唯一改为‘是’-->名称改为‘us_sname’ -->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。 设默认约束:单击数据库Student→单击表→单击S→右击sno→选择‘修改’命令→单击cno-->在默认值栏输入‘男’→保存
(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查 条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表分别是S表 和C表,外键名称分别为fk_sno,fk_cno。 2.在图形用户界面中删除以上小题中已经创建的各种约束,用SQL语言分别重新创建第1题中的(2)-(6)小题.(15分,每小题3分,提示:alter table add constraint) 删除约束:单击数据库Student-->表-->单击S-->展开键、约束。一一删除即可。
西安邮电大学 (计算机学院) 课内实验报告 实验:数据库的安全性实验 课程:数据库原理及应用B 班级:网络1203 学号: 学生姓名: 任课教师:孟彩霞
一、实验目的 (1)理解SQL Server验证用户身份的过程,掌握设置身份验证模式的方法(2)理解登录帐号的概念,掌握混合认证模式下登录帐号的建立与取消方法 (3)掌握混合认证模式下数据库用户的建立与取消方法 (4)掌握数据库用户权限的设置方法 (5)理解角色的概念,掌握管理角色技术 二、实验内容 (1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 (2)创建、管理数据库服务器的登录账号。 (3)创建、管理数据库用户。 (4)管理用户权限。 (5)创建、管理数据库角色。 三、实验环境 Windows7 SQL SERVER 2012 四、实验前准备 课本 上机使用代码 五、实验步骤 1.在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server”和“Windows”模式(即混合模式)。 2.创建、管理数据库服务器的登录账号。用T-SQL语句创建、查看、删除登录账号。 创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。 EXEC sp_addlogin ‘student’,’111’,’JWGL’查看登录账号EXEC sp_helplogins 删除登录账号为EXEC sp_droplogins ‘student’ 3.创建、管理数据库用户。 用T-SQL语句创建、查看、删除数据库用户。 为数据库JWGL创建一个用户user1,该用户登录SQL Server服务器的账号为wang,登录密码为secret,相应的程序代码为: EXEC sp_addlogin ‘wang’, ‘secret’, ‘JWGL’ GO EXEC sp_grantdbaccess ‘wang’, ‘user1’查看数据库用户为EXEC sp_helpuser 删除数据库中的“wang”用户为EXEC sp_revokedbaccess ‘wang’ 4.管理用户权限。 使用T-SQL语句完成第3章习题12中(1)~(3)的用户管理和用户权限管理。企业管理器: (1)允许用户李明对Orders表进行插入、删除操作。 GRANT INSERT ,DELETE ON Orders TO ‘李明’
第九章数据库安全性习题解答和解析 1. 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2. 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。 系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 3.试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 答:各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》(Trusted Computer System Evaluation Criteria,简称 TCSEC,又称桔皮书)。(详细介绍参见《概论》9.1.2)。 TDI/TCSEC标准是将TCSEC扩展到数据库管理系统,即《可信计算机系统评估标准关于可信数据库系统的解释》(Trusted Database Interpretation 简称TDI, 又称紫皮书)。在TDI中定义了数据库管理系统的设计与实现中需满足和用以进行安全性级别评估的标准。 TDI与TCSEC一样,从安全策略、责任、保证和文档四个方面来描述安全性级别划分的指标。每个方面又细分为若干项。这些指标的具体内容,参见《概论》9.1.2。 4.试述TCSEC(TDI)将系统安全级别划分为4组7个等级的基本内容。 答:根据计算机系统对安全性各项指标的支持情况,TCSEC(TDI)将系统划分为四组(division)7个等级,依次是D、C(C1,C2)、B(B1,B2,B3)、A(A1),按系统可靠或可信程度逐渐增高。 这些安全级别之间具有一种偏序向下兼容的关系,即较高安全性级别提供的安全保护包含较低级别的所有保护要求,同时提供更多或更完善的保护能力。各个等级的基本内容为:D级 D级是最低级别。一切不符合更高标准的系统,统统归于D组。 C1级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主
实验三:数据库的安全性 一、实验目的 熟悉通过SQL对数据进行安全性控制。 二、实验平台 SQL Server 2008 三、实验内容和要求 1、掌握Windows登录名和SQL SERVER登录名的建立与删除方法; 2、掌握数据库用户创建与管理的方法; 3、掌握服务器角色的用法; 4、掌握数据库权限授予、拒绝和撤销的方法; 四、实验步骤 (一)授权与回收。 [例1]授权。在SQL Sever 中建立多个用户,给他们赋予不同的权限,然后查看是否真正拥有被授予的权限了。 1)建立用户U1、U2、U3、U4、U5、U6、U7。 2)以系统管理员身份对这7个用户进行授权。 [例1-1]把查询Student 表的权限授给用户U1。 GRANT SELECT ON Student TO U1; [例1-2]把对Student 表和Course 表的全部操作权限授予用户U2 和U3。 GRANT ALL PRIVILEGES ON Student TO U2,U3; GRANT ALL PRIVILEGES ON Course TO U2,U3; [例1-3]把对表SC 的查询权限授予所有用户。 GRANT SELECT ON SC TO PUBLIC; [例1-4]把查询Student 表和修改学生学号的权限授给用户U4。 GRANT UPDATE (Sno) , SELECT ON Student TO U4; [例1-5]把对表SC 的INSERT 权限授予U5,并允许U5 将此权限再授予其他用户。 GRANT INSERT ON SC TO U5
WITH GRANT OPTION; [例1-6]用户U5 将对表SC 的INSERT 权限授予U6,并允许将权限转授给其他用户。 首先应该以U5 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U6 WITH GRANT OPTION; [例1-7]用户U6 将对表SC 的INSERT 权限授予U7。 首先应该以U6 的身份重新登录数据库,然后再进行授权。 GRANT INSERT ON SC TO U7; 3)在授权之后验证用户是否拥有了相应的权限。 在执行完上面七个语句之后,我们可以分别以不同用户的身份登录数据库,进行相关操作,检查系统是否许可。例如: [例1-8]U4 更新Student 表的学生学号。 UPDATE Student SET SNO = ‘95101’ WHERE SNO = ‘95001’; 显示更新 1 条记录,即U4 用户拥有了对Student 表Sno 的更新权限。[例1-9]U7 向SC 表中插入一条数据:(95020,20,88)。 INSERT INTO SC V ALUES(‘95020’,’20’,88); 显示插入 1 条记录,即用户U7 拥有了对SC 表的插入权限。 [例2]回收权限。将[例1]授予的权限部分收回,检查回收后,该用户是否真正丧失了对数据的相应权限。 1)回收权限。 [例2-1]收回用户U4 修改学生学号的权限。 当前用户为SYSTEM,直接执行下列语句: REVOKE UPDATE (SNO) ON Student FROM U4; [例2-2]收回所有用户对表SC 的查询权限。 REVOKE SELECT ON SC FROM PUBLIC; [例2-3]收回用户U5 对SC 表的INSERT 权限。 将权限INSERT 授予给用户U5 时,允许该用户将权限再授予给其他用户;之后,用户U5 将INSERT 权限转授给了U6,U6 又将权限转授给U7。因此,将用户U5 的INSERT 权限收回的时候必须级联收回,不然系统将拒绝执行该命令: REVOKE INSERT ON TABLE SC FROM U5 CASCADE;
实验五SQL SERVER 完整性与安全性 一、实验目的 掌握SQL SERVER数据访问控制策略和技术,SQL SERVER数据库管理系统使用安全帐户认证控制用户对服务器的连接,使用数据库用户和角色等限制用户对数据库的访问。 二、实验内容 1.在服务器级别上创建三个以SQL Server身份验证的登录名,登录名称自定。 2.分别为三个登录名在“gongcheng”数据库映射三个数据库用户,数据库用户名为Tom,Mary和John,使这三个登录名可以访问“gongcheng”数据库。
3.授予用户John创建表和视图的权限。 grant create table,create view to John 在“gongcheng”下,安全性—John—属性,选择安全对象,搜索特定对象,选择“gongcheng”表,在权限中选择“创建表”和“创建视图”, 如图:
即可赋予John“创建表”和“创建视图”的权限。 4.完成以下授权: (1)把对表S的INSERT权力授予用户Tom,并允许他再将此权限授予其他用户。 grant insert on S to tom with grant option (2)用户Mary对S,P,J三个表有SELECT和INSERT权力 grant select,insert on S to Mary grant select,insert on P to Mary grant select,insert on J to Mary (3)用户Tom对SPJ表有DELETE权力,对QTY字段具有UPDA TE权力。 grant delete,update(qty) on spj to Tom
实验9:数据库安全性实验 一、实验目的 加深对数据库安全性的理解,并掌握SQL Server中有关用户、角色及操作权限的管理方法。 二、实验内容 1.数据库的安全性实验。在SQL Server企业管理器中,设置SQL Server 的安全认证模式,实现对SQL Server的用户和角色的管理,设置和管理 数据操作权限。 三、实验原理和步骤 1.设置SQL Server的安全认证模式,选择混合模式。 右键服务器属性-安全性:选择SQL Server和Windows身份验证模式。 重启服务,生效。 2.账号: sa账号登录 3.登录帐号的管理
1)将Windows帐号添加到SQL Server 2005中 创建操作系统用户- 4.数据库用户的管理 1)dbo用户; 查看banking数据库的dbo用户,查看用户权限。 2)U1用户; 创建banking数据库的U1用户,查看用户权限。 5.权限管理 1)赋予所创建的U1用户db_datareader角色,查看用户权限 2)赋予所创建的U1用户db_datawriter角色,查看用户权限 3)赋予所创建的U1用户db_owner角色,查看用户权限 4)两种方法赋予所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 5)两种方法赋予所创建的U1用户对banking数据库表branch的select 和对branch_name修改的权限,验证并写出sql语句 6)把对loan表的update权限授予所创建的U1用户用户,并允许将此 权限再授予其他用户,验证并写出sql语句 7)两种方法回收所创建的U1用户对banking数据库表customer的select 权限,验证并写出sql语句 8)两种方法回收所有用户对banking数据库表loan的update权限,验 证并写出sql语句 四、实验报告要求 要求写出如下设计报告: 1.用Transact-SQL写出实验操作的语句 2.实验步骤和实验结果。 3.实验中的问题和提高。 4.SQL Server中有的安全性功能。 五、注意事项 1.用户、角色和权限的职能,以及它们之间的关系。
淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:数据库的安全管理 班级:软件132 学号:2013122907 姓名:孙莹莹 评语: 成绩:指导教师: 批阅时间:年月日
一.目的与要求 1.掌握SQL Server的身份验证模式及其设置; 2.掌握登录账号和用户账号的设置; 3.掌握角色的创建方法; 4.掌握权限设置的一般方法 二.实验内容 在SQL Server管理控制器中完成如下操作: (1)创建一个登录账号XYZ/123(其默认的工作数据库为factory,其“服务器角色”设置为sysadmin;将“映射到此登录名的用户”设置为Factory,并具有public权限; 并设置安全对象LCB-PC服务器具有Connect SQL权限); (2)修改(1)中为factory数据库创建的用户账号XYZ的属性,使XYZ登录账号对factory 数据库具有db_.owner权限。 三.实验步骤、 1.创建登陆账号 (1)启动SQL Server管理控制器,在“对象资源管理器”中展开LCB-PC节点。 (2)展开“安全性”节点,选中“登录名”,单击鼠标右键,在出现的快速菜单中选择“新建登录名”命令,如图1所示。 (3)出现“登录名新建”对话框,其中左侧列表包含有5个选项卡,“常规”选项卡如图2所示。这里,在“登录名”文本框中输入所创建的登录名XYZ,选中“SQL Server 身份验证”模式,在“密码”与“确认密码”输入登录时所用的密码,这里均输入“123”, 不选中“强制实施密码策略”选项。在“默认数据库”与“默认语言”中选择该登录 名登录SQL Server2005后默认使用的数据库与语言。 2.设置服务器角色 (1)用sa登录账号启动SQL Server管理控制器,在“对象资源管理器”中展开LCB-PC 节点。 (2)展开“安全性”节点,展开“服务器角色”节点,下方列出了所有的固定服务器角色,选中服务器角色sysadmin,单击鼠标右键,在出现的快速菜单中选择“属性”命令, 如图3所示。 (3)出现如图4所示的“服务器角色属性-sysadmin”对话框。 (4)单击“添加”按钮,出现如图5所示的“选择登录名”对话框。 (5)单击“浏览”按钮,出现如图6所示的“查找对象”对话框,选中“XYZ”登录名。 (6)单击两次“确定”按钮返回到“服务器角色属性-sysadmin”对话框,从中看到XYZ 登录账号已经作为sysadmin角色成员了。最后单击“确定”按钮设置完毕。 3.设置用户映射 (1)用sa登录账号启动SQL Server管理控制器,在“对象资源管理器”中展开LCB-PC 节点。 (2)展开“登录名”节点,选中“XYZ”,单击鼠标右键,在出现的快速菜单中选择“属性”命令,如图7所示。 (3)出现“登录属性-XYZ”对话框,其中左侧列表包含有5个选项卡,“用户映射”选项卡如图8所示。“映射到此登录名的用户(D):”选择“factory”,“数据库角色成员 身份(R):factory”自动选择为“public”,单击“确定”按钮完成设置。
实验九:T-SQL语言、存储过程及数据库的安全性 一、实验目的 1.掌握数据变量的使用; 2.掌握各种控制语句及系统函数的使用; 3.掌握存储过程的实现; 4.掌握混合模式下数据库用户帐号的建立与取消方法; 5.掌握数据库用户权限的设置方法; 6.掌握在企业管理器中进行备份、恢复操作的步骤; 二、实验学时 2学时 三、实验要求 1.了解T-SQL支持的各种基本数据类型及变量的使用; 2.了解T-SQL各种运算符、控制语句及函数的功能及使用方法; 3.掌握存储过程的编写和运行方法 4.熟悉数据库完全备份及恢复的方法; 5.了解SQL Server 2008系统安全; 6.熟悉数据库用户、服务器角色及数据库角色的用法 7.完成实验报告。 四、实验内容 以student数据库为基础数据,完成以下内容 1.变量及函数的使用: 1)创建局部变量@xh(学号)并赋值,然后输出数据表student中所有等于该值的学生的学号、姓名、性别、所属院系及年龄等信息; 2)将学号为200515008的学生的姓名赋值给变量@name; 3)计算学生信息表student中学生最高年龄和最低年龄之差,并将结果付给@cz;4)定义一函数,按系别统计当前所有学生的平均年龄,并调用该函数。 5)定义一函数,通过姓名查询某学生的学号、性别、年龄、系别、选修课程名及成绩。 2.编写并执行存储过程 ,查询以下信息:班级、学号、姓名、pr_StuScore创建一个无参存储过程(1).性别、课程名称、考试成绩。 (2)创建一个带参数的存储过程stu_info,该存储过程根据传入的学生编号在student表中查询此学生的选修课程及成绩信息。 (3)创建一个带参数的存储过程StuScoreInfo2,该存储过程根据传入的学生编号和课程名称查询以下信息:班级、学号、姓名、性别、课程名称、考试成绩。
实验内容、步骤以及结果 1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。 (18分,每小题3分) (1) 非空约束:为出生日期添加非空约束。 非空约束:取消表S中sbirth的勾。可能需要重建表。 (2) 主键约束:将学号(sno)设置为主键,主键名为pk_sno。 设主键:单击数据库Student-->单击表-->单击S-->右击sno-->选择修改命令-->对话框中右击sno-->选择设置主键'>修改主键名为pk_sno '-->保存
(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname 。 唯一约束:单击数据库Student-->单击表--> 单击S-->右击sname-->选择修改’ 命令T右击 sname-->选择索引和键命令--> 打开索引和键框图--> 添加--> 是否唯一改为是--> 名称改为us sname '-->关闭。
(4)缺省约束:为性别(ssex)添加默认值,其值为男 设默认约束:单击数据库Student宀单击表宀单击右击sno^选择修改命令宀单击cno-->在默认值栏输入男’保存
D62.s1udent - Diagram_0* D62.sludent - dbo.S* SQLQuery5.sql - D... (D62\A^m i n (52J)* 列容 埶据类型 允祥值 Q 5TI0 Ctiar(lO) n sname nvarchar (20) a 卜:S5SX nchai ■⑵ 團 sbirtti date □ adept nv ar char (20) sPhoneNo ctiar(LQ) @] 数捐类型 允傑Mdl 值 曰表设计器 RowGuid E 标识魁 不用于复制 大小 (5) CHECK 约束:为SC 表的成绩(grade)添加CHECK 约束,约束名为ck grade ,其 检查条件为:成绩应该在0-100之间。 ffin har 妊 2 Nnrh 昙否否否二
数据库原理及应用 实验报告 题目:数据库安全性与完整性实验 专业:网络工程 班级: 学号: 姓名: 太原工业学院计算机工程系 2016年10 月15日一、实验目的与要求 目的: 使学生加深对数据安全性与完整性实验的理解,并掌握SQL Server中有关用户,角色及操作权限的管理方法,熟悉通过SQL语句副i数据进行完整性控制。 要求: 1.数据库的安全性实验,在SQL Server企业管理器中设置SQL server的安全认证模式,实现对SQL server的用户和角色管理,设置和管理数据操作权限。 2.指出用户和角色的区别 二、实验内容 1.设置SQL server的安全认证模式(windows或SQL server和Windows(s)认证模式)、。 2.登陆的管理 创建一个登录用户 3.数据库用户的管理 登录用户只有成为数据库(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。 4.角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。 5.在学生表中定义主键、外键约束 6.在课程表的“课程名”字段上定义唯一约束 7.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100. “课程号”字段只能输入数字字符 8.定义规则,并绑定到学生表的“性别”字段,使之只能取“男、女”值 9.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。
第九章习题 一、选择题: 1.保护数据库,防止未经授权的或不合法的使用造成的数据泄漏、更改破坏。这是指数据的____。 A.安全性B.完整性C.并发控制D.恢复 答案:A 2.在数据系统中,对存取权限的定义称为____。 A.命令B.授权C.定义D.审计 答案:B 3.数据库管理系统通常提供授权功能来控制不同用户访问数据的权限,这主要是为了实现数据库的____。 A.可靠性B.一致性C.完整性D.安全性 答案:D 4.授权编译系统和合法性检查机制一起组成了____子系统。 A.安全性B.完整性C.并发控制D.恢复 答案:A 5.在数据库的安全性控制中,为了保证用户只能存取他有权存取的数据。在授权的定义中,数据对象的____,授权子系统就越灵活。 A.范围越小B.范围越大 C.约束越细致D.范围越适中 答案:A 6.按TCSEC(TDI)系统安全标准,系统可信程度逐渐增高的次序是________。 A. D、C、B、A B. A、B、C、D C. D、B2、B1、C D. C、B1、B2、D 答案:A 7.________是最低级别,在安全性方面几乎没有什么专门的机制来保障。 A.D级B.C2级 C.B1级D.A级 答案:A 8.________是安全产品的最低档次,提供受控的存取保护(DAC)。很多商业产品已得到该级别的认证。 A.D级B.C2级 C.B1级D.A级
答案:B 9.________对系统的数据加以标记,并对标记的主体和客体实施强制存取控制(MAC)以及审计等安全机制,能够较好地满足大型企业或一般政府部门对于数据的安全需求,是真正意义上的安全产品。 A.D级B.C2级 C.B1级D.A级 答案:C 10.________提供验证设计,即提供B3级保护的同时给出系统的形式化设计说明和验证以确信各安全保护真正实现。 A.D级B.C2级 C.B1级D.A级 答案:D 二、填空题: 1.保护数据安全性的一般方法是____。 答案:设置用户标识和存取权限控制 2.数据的安全性是指____。 答案:保护数据库,防止未经授权的,或不合法的使用造成的数据泄露、更改或破坏3.安全性控制的一般方法有①、②、③、④和视图的保护五级安全措施。 答案:①用户标识鉴定②存取控制③审计④数据加密 4.存取权限包括两方面的内容,一个是①,另一个是②。 答案:①要存取的数据对象②对此数据对象进行操作的类型 5.①和②一起组成了安全性子系统。 答案:①授权编译系统②合法权检查机制 6.在数据库系统中对存取权限的定义称为____。 答案:授权 7.在SQL语言中,为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用①语句,收回所授的权限使用②语句。 答案:①GRANT ②REVOKE 三、简答题和综合题: 1.什么是数据库的安全性?有哪些安全性措施? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。数据库的安全性是为了防止对数据库的恶意破坏和非法存取。 DBMS的安全措施通常分为两级: 授权登录:通过控制服务器登录账号和密码,判断用户能否获得对数据库的访问权。 授权访问:是指把对数据库对象的访问分为若干权限,对不同的用户授予不同的权限。2.Oracle系统提供哪些安全性措施?
数据库的安全性和完整性 一、实验目的和要求 1、理解数据库安全性和完整性的概念。 2、掌握SQL Server2000中有关用户、角色及操作权限管理等安全性技术。 3、掌握SQL Server2000中有关约束、规则、默认值的使用等完整性技术。 二、实验内容和步骤 ㈠数据库的安全性 1、SQL Server的安全模式 认证是指来确定登陆SQL SERVER的用户的登陆账号和密码是否正确,以此来验证其是否具有连接SQL SERVER的权限,但是通过认证阶段并不代表能够访问数据,用户只有在获取访问数据库的权限之后才能对服务器上的数据库进行权限许可下的各种操作。 ⑴设置SQL Server的安全认证模式:使用企业管理器来设置,步骤如下: Step1: 展开服务器组,右击需要设置的SQL服务器,在弹出菜单中选择“属性”。 Step2: 在弹出的SQL服务器属性对话框中,选择“安全性”选项卡。 Step3: 选择仅Windows选项(NT/2000验证模式) 或SQL Server和Windows选项(混合模式)。 注:设置改变后,用户必须停止并重新启动SQL Server服务,设置才生效。 如果设置成NT认证模式,则用户在登录时输入一个具体的登陆名时,SQL SERVER将忽略该登录名。 ⑵添加SQL Server账号:若用户没有Windows NT/2000账号,则只能为他建立SQL Server账号。 ①利用企业管理器 Step1: 展开服务器,选择安全性/登录。 Step2: 右击登录文件夹,出现弹出式菜单。 Step3: 在弹出式菜单中选择“新建登录”选项后,就会出现一个登录属性对话框。 step4: 在名称框中输入一个不带反斜杠的用户名,选中SQL Server身份验证单选按钮,并在密码框中输入口令(如下图所示)。
实验6:RDBMS的数据库安全性实验 【实验目的】 1.掌握user的创建与授权(all,select,update和delete等) 2.掌握收回权限 3.熟悉级联授权与级联收回 【实验条件】 1. 具有2台PC,接入LAN网络,1台作为数据库服务器,1台客户机。 2. 服务器端装有MySQL,防火墙允许3306端口,root密码可以远程访问。 【实验过程】 1. 创建账户并授权。 登录root账户后,创建user,5个账户,分别是mag、student1、student2、teacher1和teacher2。>>对mag的创建与授权。 命令:Grant <权限>
课程设计报告题目:数据库实验上机实验报告 专业班级:计算机科学与技术1210班 学号:U201215079 姓名:候宝峰 指导教师: 报告日期:2015-06-04 计算机科学与技术学院
目录 一、基本SQL操作(部分选做) (1) 1)数据定义 (1) 2)数据更新 (3) 3)用SQL语句完成下述查询需求: (4) 二、DBMS综合运用(部分选做) (8) 1)学习sqlserver的两种完全备份方式:数据和日志文件的脱机备份、系统的备份功能(选做)。 (8) 2)学习系统的身份、权限配置操作 (9) 3)了解SQLSERVER的存储过程、触发器、函数实现过程 (14) 三、实验总结 (17) 1)实验问题及解决 (17) 2)实验心得 (18)
一、基本SQL操作(部分选做) 1)数据定义 参照下面的内容建立自己实验所需的关系数据 创建三个关系: 商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10)】 主关键字为(商品名称)。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20),PAREA c har(20)】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】 SALE【GNAME char(20),PNAME char(20),PRICE FLOAT,ATYPE c har(10)】 主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。 create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname));
信息工程学院实验报告 课程名称:《数据库原理》 实验项目名称:数据库的完整性和安全性 一、实 验 目 的: (1)掌握数据库约束的概念; (2)熟悉SQL SERVER 的完整性约束技术。 (3)了解SQL SERVER 的违反完整性处理措施。 (4)了解登录账户的管理理念与具体方法。 (5)了解数据库用户的管理的要则。 (6)了解用户权限管理的内涵与方法。 二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤 (一)测试完整性 运行附录中的SQL 语句,理解SQL 语句中包含的完整性定义。然后执行下面的SQL 语句,看是否能正常运行,若无法执行,请说明原因。 1.对dept 表进行数据增删改,并检查完整性规则 Dept 已存在的完整性规则如下: dno CHAR(2) PRIMARY KEY dname VARCHAR(20) NOT NULL,UNIQUE (1)增加数据 INSERT INTO dept VALUES('D1','计科系');----正常插入 INSERT INTO dept VALUES('D2','电信系');----正常插入 INSERT INTO dept VALUES(NULL,'机械系'); ----违反dno 主键(NOT NULL )规则 INSERT INTO dept VALUES('D2','机械系'); ----违反dno 主键(UNIQUE ) INSERT INTO dept VALUES('D3',NULL); ----违反dname 的NOT NULL 规则
第 9 章数据库安全性 1. 数据库的安全性是指保护数据库以防止不合法的使用所造成的 _______ 、 _______ 或______ 。 2. 什么是数据库的安全性? 3. 数据库安全性和计算机系统的安全性有什么关系? 4. 计算机系统有三类安全性问题,即 ________ 、 _________ 和 ________ 。 5. 用户标识和鉴别的方法有很多种,而且在一个系统中往往是多种方法并举,以获得更强的安全性。 常用的方法有通过输入 ________ 和 ________ 来鉴别用户。 6. 试述可信计算机系统评测标准的情况,试述TDI/TCSEC标准的基本内容。 7 ._______ 和 _______ 一起组成了 DBMS 的安全子系统。 8. 试述TCSEC(TDI)将系统安全级别划分为四组七个等级的基本内容。 9. 当前大型的 DBMS 一般都支持 ________ ,有些DBMS同时还支持 ________ 。 10. 试述实现数据库安全性控制的常用方法和技术。 11. 用户权限是由两个要素组成的: ________ 和 ________ 。 12. 什么是数据库中的自主存取控制方法和强制存取控制方法? 13. 在数据库系统中,定义存取权限称为 ________ 。SQL语言用 ________ 语句向用户授予对数据的操作权限,用 ________ 语句收回授予的权限。 14. SQL 语言中提供了哪些数据控制(自主存取控制)的语句?请试举几例说明它们的使用方法。 15. 对数据库模式的授权由DBA在 ________ 时实现。 16. 为什么强制存取控制提供了更高级别的数据库安全性? 17. 理解并解释MAC机制中主体、客体、敏感度标记的含义。 18. 一个DBA用户可以拥有 ________ 、 ________ 和 ________ 权限,一个RESOURCE用户可以拥有 ________ 权限。 19. 数据库角色是被命名的一组与 ________ 相关的权限,角色是 ________ 的集合。 20. 什么是数据库的审计功能,为什么要提供审计功能? 21. 统计数据库中存在何种特殊的安全性问题? 22. 通过 ________ 可以把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据提供一定程度的安全保护。 23. 审计一般可以分为 ________ 审计和 ________ 审计。 答案 1. 数据泄漏更改破坏 2. 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 3. 安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的, 4. 技术安全类管理安全类政策法律类 5. 用户名口令 6. 各个国家在计算机安全技术方面都建立了一套可信标准。目前各国引用或制定的一系列安全标准中,最重要的是美国国防部(DoD)正式颁布的《DoD可信计算机系统评估标准》
北华航天工业学院 《数据库原理与应用》 实验报告 报告题目:_______ 数据库安全性管理__________ 作者所在系部:计算机
作者学号:201322542 作者所在专业:—软件工程____________________
作者姓名:魏志鹏 指导教师姓名:贾振华 完成时间:2015.5.20 北华航天工业学院教务处制 数据库安全性管理 1、 2理解数据库的安全性机制; 掌握SQL Server 2008的验证模式、登录管理、用户管理、角色管理以及权限管理; _ 、实验内容 (一)附加上次实验所创建的数据库“db_Library ”,并回顾该库的数据表信息。 (二)设置SQL Server的安全验证模式,并以两种方式尝试登录。 (三)登录账户管理 1、在当前Windows系统中新建一个用户Test,密码为secret,然后以管理员身份登录SQL Server,并将该系统用户添加为登录用户,并赋予系统管理员的权限。然后以该用户身份登录SQL Server。 2、使用SQL语句创建一个SQL Server登录账户,账户名为你的名字拼音,密码自定义。创建完成后,以该账户来进行登录。 3、使用SQL语句来修改上述登录账户的密码。 4、禁用上述登录账户连接SQL Server,并进行验证。 5、设置上述登录账户为数据库创建者的权限。 (四)数据库用户管理 1、使用SSMS添加db_Library数据库用户User1,其登录账户为上题所创建的Windows账户,使用默认dbo架构。 2、使用SQL语句添加db_Library数据库用户User2,其登录账户为上题所创建的SQL Server 登录账户,使用默认dbo架构,并赋予该用户能够运行Select语句的权限。 (五)权限管理 1、使用SSMS将创建数据表和创建视图的权限授予User2。 2、使用SQL语句将对db_Library数据库中图书信息表的查询、插入、以及对书名和作者列的修改权限授予用户User2。 3、使用SSMS收回User2创建数据表和创建视图的权限。 4、使用SQL语句收回User2修改书名和作者列的权限。 实验目的