当前位置:文档之家› 实验五 数据库的安全性与完整性

实验五 数据库的安全性与完整性

实验五 数据库的安全性与完整性
实验五 数据库的安全性与完整性

实验5 数据库的安全性与完整性

一、实验目的

(1)理解数据库的安全性与完整性概念

(2)掌握数据库的安全性控制技术

(3)掌握数据库的完整性控制技术

二、实验环境

Windows XP+SQL Server 2000

三、实验内容

1.设置安全认证模式

方法:服务器组上右键“属性”|“安全性”。

2.创建登录用户

(1)利用企业管理器创建登录用户

方法:安全性|登录,右键。

【例1】创建4个登录用户U1、U2、U3、U4,创建U1和U2时均选中数据库访问为SP,使他们成为SP数据库的用户,创建U3和U4时不选中任何数据库。

(2)使用T-SQL语句创建登录用户

语法为:sp_addlogin 登录名[,登录密码[,默认数据库]]

注意:未指定默认数据库时,默认数据库是master。

【例2】创建登录用户,登录名为丁勇,密码为dy,默认数据库为SP。

3.修改登录用户

(1)利用企业管理器修改登录用户

(2)使用T-SQL语句修改登录用户

语法为:sp_password 旧密码,新密码,登录用户名

【例3】以sa登录服务器,修改登录用户丁勇的密码。

4.删除登录用户

(1)利用企业管理器删除登录用户

(2)使用T-SQL语句删除登录用户

语法为:sp_droplogin 登录用户名

【例4】删除登录用户U4。

注意:若待删除登录用户已是某数据库用户,则需先删除数据库用户,再删除登录用户。

5.创建数据库用户

(1)利用企业管理器创建数据库用户

(2)使用T-SQL语句创建数据库用户

语法为:sp_adduser 登录用户名

【例5】创建SP的数据库用户U3

6.删除数据库用户

(1)利用企业管理器删除数据库用户

(2)使用T-SQL语句删除数据库用户

语法为:sp_dropuser 数据库用户名

【例6】删除SP的数据库用户U2。

7.创建数据库角色

(1)使用企业管理器创建数据库角色

(2)使用T-SQL语句创建数据库角色

语法为:sp_addrole 数据库角色名

sp_addrolemember 角色名用户

sp_droprolemember 角色名用户

【例7】为SP数据库创建数据库角色R2,将用户U1添加至R2中,再从R2中删除U1。

8.删除数据库角色

(1)利用企业管理器删除数据库角色

(2)使用T-SQL语句删除数据库角色

语法为:sp_droprole 数据库角色名

【例8】为SP数据库创建数据库角色R3,再将其删除。

9.权限管理

SQL Server 2000的权限管理分为语句权限管理和对象权限管理,前者是对用户或角色执行语句的权限管理,后者是对用户或角色操作数据库对象的权限管理。

(1)利用企业管理器管理权限

①管理语句权限

②管理对象权限

(2)使用T-SQL语句管理权限

①语句权限授权

语法为:GRANT {ALL|语句权限列表} TO PUBLIC|用户列表

【例9】将SP数据库上CREATE TABLE、CREATE VIEW的权限授予SP数据库用户U1。

②对象权限授权

语法为:GRANT ALL|对象权限列表ON 表名|视图名|存储过程名TO PUBLIC|用户列表

[WITH GRANT OPTION]

【例10】将表SHOP上的全部权限授予全部用户,将视图V1上的SELECT权限、表PRODUCT 上的INSERT和DELETE权限、表SALE上的AMOUNT列UPDATE权限授予SP数据库用户U1。

③语句权限回收

语法为:REVOKE ALL|权限列表FROM PUBLIC|用户列表

④对象权限回收

语法为:REVOKE ALL|对象权限列表ON 表名|视图名|存储过程名FROM PUBLIC|用户列表[CASCADE]

【例11】收回SP数据库用户U1的CREATE TABLE权限,收回所有用户对表SHOP上的修改权限。

10.实施约束

(1)使用企业管理器实施约束

【例12】为SHOP表实施约束:SHOPADDRESS列上创建默认值为上海的默认约束,SHOPNAME 列上创建其值必须是上海、北京或南京之一的检查约束。

(2)使用T-SQL语句实施约束

【例13】为SHOP1表的SHOPADDRESS列创建默认约束,默认值为上海。

【例14】为SHOP1表的SHOPADDRESS列创建检查约束,其值必须是上海、北京或南京之一。【例15】为SHOP1表的SHOPNAME列创建唯一约束。

【例16】为SHOP1表的SHOPNAME列创建非空约束。

【例17】为SHOP1表的SHOPNO列创建主键约束。

【例18】为SALE1表的SHOPNO列创建外键约束,该外键参照SHOP1表的主键SHOPNO。

11.实施规则

(1)利用企业管理器实施规则

【例19】为PRODUCT表的PROPRICE列创建值在10~10000之间的规则,然后删除该规则。(2)使用T-SQL语句实施规则

①创建规则:CREATE RULE 规则名AS…

②绑定规则:sp_bindrule 规则名,‘表名.列名’

③解除绑定:sp_unbindrule ‘表名.列名

④删除规则:drop rule 规则名

【例20】为SHOP表的SHOPNO列创建值在s01~s10之间的规则,然后删除该规则。

12.使用T-SQL语句实施触发器

(1)创建触发器

语法为:CREATE TRIGGER 触发器名ON 表名|视图名FOR|AFTER|INSTEAD OF INSERT,DELETE,UPDATE AS 触发动作体

【例21】创建一个AFTER触发器,为PRODUCT表定义完整性规则“所有商品的价格不得低于100;若低于100,则自动改为100”。

(2)删除触发器

10

11

实验八 数据库的安全性

实验八数据库的安全 T9.1 数据库用户的管理 1、实验目的 (1)掌握Windows登录名的建立与删除方法。 (2)掌握SQL Server登录名的建立与删除方法。 (3)掌握数据库用户创建于管理的方法。 2、实验准备 (1)了解windows身份验证模式与SQL Server身份验证模式的原理。 (2)了解数据库用户的建立与删除方法。 3、实验步骤 (1)Windows登录名。 ①使用界面方式创建Windows身份模式的登录名。方法如下: 第一步以管理员身份登录到Windows,选择“开始”,打开“控制面板”中的“性能和维护”,选择其中的“管理工具”,双击“计算机管理”进入“计算机管理”窗口。 在该窗口中选择“本地用户和组”中的“用户”图标,右击,在弹出的快捷菜单中选择“新用户”菜单项,打开“新用户”窗口,新建一个用户zheng。 第二步一管理员身份登录到SQL Server Management Studio,在对象资源管理器中选择“安全性”,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中单击“搜索”按钮添加Windows用户名zheng。选择“Windows身份验证模式”,单击“确定”按钮完成。 ②使用命令方式创建Windows身份模式的登录名,语句如下: 【思考与练习】 使用用户zheng登录Windows,然后启动SQL Server Management Studio,以Windows 身份验证模式连接。看看与以系统管理员身份登录时有什么不同。 (2)SQL Server登录名。 ①使用界面方式创建SQL Server登录名。方法为:在对象资源管理器的“安全性”中,右击“登录名”,在弹出的快捷菜单中选择“新建登录名”菜单项。在“新建登录名”窗口中输入要创建的登录名“yan”,并选择“SQL Server 身份验证模式”,输入密码,取消选择“用户在下次登录时必须更改密码”选项,单击“确认”按钮。 ②以命令方式创建SQL Server登录名,语句如下:

数据库安全性习题解答和解析

第九章数据库安全性习题解答和解析 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级只提供了非常初级的自主安全保护。能够实现对用户和数据的分离,进行自主

数据库安全性和完整性实验

实验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.用户、角色和权限的职能,以及它们之间的关系。

数据库原理实验报告-实验三-数据完整性与安全性控制

一、实验内容、步骤以及结果 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 ‘李明’

数据库系统概论第5版课后答案第4章 数据库安全性

第4章数据库安全性 1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 CC评估保证级(EAL)的划分 4.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有:

1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用 户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有 未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。 3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐 藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可 以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知 数据的内容。 5.什么是数据库中的自主存取控制方法和强制存取控制方法? 答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 6.对下列两个关系模式使用GRANT语句完成下列授权功能: 学生(学号,姓名,年龄,性别,家庭住址,班级号) 班级(班级号,班级名,班主任,班长) 1)授予用户U1对两个表的所有权限,并可给其他用户授权。 GRANT ALL PRIVILEGES ON TABLE学生,班级 TO U1 WITH GRANT OPTION ; 2)授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。 GRANT SELECT,UPDATE(家庭住址) ON TABLE学生 TO U2; 3)将对班级表查看权限授予所有用户。 GRANT SELECT ON TABLE 班级 TO PUBLIC; 4)将对学生表的查询、更新权限授予角色R1。 CREATE ROLE R1; GRANT SELECT,UPDATE ON TABLE 学生 TO R1; 5)将角色R1授予用户U1,并且U1可继续授予给其他角色。 GRANT R1 TO U1 WITH ADMIN OPTION;称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号; GRANT SELECT ON 部门工资 TO 杨兰; 7.针对习题7 中1)~7)的每一种情况,撤销各用户所授予的权限。 1)REVOKE SELECT ON TABLE职工,部门 FROM 王明; 2)REVOKE INSERT , DELETE ON TABLE职工,部门 FROM 李勇; 3)REOVKE SELECT ON TABLE职工WHEN USER ( ) =NAMEFROM ALI; 4)REVOKE SELECT , UPDATE ON TABLE职工FROM 刘星; 5)REVOKE ALTER TABLE ON TABLE职工,部门FROM 张新; 6)REVOKE ALL PRIVILIGES ON TABLE职工,部门FROM 周平;

实验五 SQL SERVER 完整性与安全性 实验报告

实验五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

201509-实验三:数据库的安全性课案

实验三:数据库的安全性 一、实验目的 熟悉通过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;

实验3:数据库安全性

实验3:数据库安全性 第1个实验.安全性定义——第5章实验八 使用订单数据库完成下面的实验内容: (1) 分别创建登录账号user01、user02,其密码皆为p888888,并设置为订单数据库OrderDB的用户。 sp_addlogin'user01','p888888','orderdb' sp_addlogin'user02','p888888','orderdb' (2) 创建登录账号login03,并加入到OrderDB数据库中,其用户名为user03。 sp_adduser'user03','login03' (3) 将员工表的所有权限授予全部用户。 grant all privileges on customer to public (4) 授予user03用户对Product表的查询权限,对Employee表的编号、名称的查询和更新权限。 grant select on product to login03 grant select(employeeno,employeename),update(employeeno,employeename)on employee to login03 (5) 创建角色r3、r4,将订单明细表所有列的SELECT权限、UNIT_PRICE列的UPDA TE 权限授予r3。 sp_addrole'r3' sp_addrole'r4' grant select,update(price)on orderdetail to r3 (6) 收回全部用户对员工表的所有权限。 revoke all on employee from public (7) 将user01、user02两个用户赋予r3角色。 sp_addrolemember user01,r3 sp_addrolemember user02,r3 (8) 收回user02对订单明细表所有列的SELECT权限。 sp_addrole user02 revoke select on orderdetail from user02 (9) 在当前数据库中删除角色r4。 sp_droprole r4 (10) 授予user01建表和建视图的权限,user01用户分别建立一张表和一个视图(表和视图自定),然后将该表和视图的查询权限授予user02和user03。 由于数据库中存在user01而user01的密码未知user01用user04 代替 grant create view to user04

数据库安全性习题解答和解析学习资料

数据库安全性习题解 答和解析

第九章数据库安全性习题解答和解析 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),按系统可靠或可信程度逐渐增高。

数据库安全性与完整性实验

数据库原理及应用 实验报告 题目:数据库安全性与完整性实验 专业:网络工程 班级: 学号: 姓名: 太原工业学院计算机工程系 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.在学生表中增加出生年月字段,定义缺省,并绑定到学生表的出生日期上,使之只能取当前日期。

实验7+数据库的安全管理实验报告

淮海工学院计算机工程学院实验报告书 课程名:《数据库原理及应用》 题目:数据库的安全管理 班级:软件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”,单击“确定”按钮完成设置。

数据库系统概论第5版课后答案第4章 数据库安全性

1.什么是数据库的安全性? 答:数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。 2.数据库安全性和计算机系统的安全性有什么关系? 答:安全性问题不是数据库系统所独有的,所有计算机系统都有这个问题。只是在数据库系统中大量数据集中存放,而且为许多最终用户直接共享,从而使安全性问题更为突出。系统安全保护措施是否有效是数据库系统的主要指标之一。 数据库的安全性和计算机系统的安全性,包括操作系统、网络系统的安全性是紧密联系、相互支持的。 CC评估保证级(EAL)的划分 4.试述实现数据库安全性控制的常用方法和技术。 答:实现数据库安全性控制的常用方法和技术有: 1)用户标识和鉴别:该方法由系统提供一定的方式让用户标识自己的名字或身份。每次用 户要求进入系统时,由系统进行核对,通过鉴定后才提供系统的使用权。 2)存取控制:通过用户权限定义和合法权检查确保只有合法权限的用户访问数据库,所有 未被授权的人员无法存取数据。例如CZ 级中的自主存取控制( DAC ) , Bl 级中的强制存取控制(MAC )。

3)视图机制:为不同的用户定义视图,通过视图机制把要保密的数据对无权存取的用户隐 藏起来,从而自动地对数据提供一定程度的安全保护。 4)审计:建立审计日志,把用户对数据库的所有操作自动记录下来放入审计日志中,DBA 可 以利用审计跟踪的信息,重现导致数据库现有状况的一系列事件,找出非法存取数据的人、时间和内容等。 5)数据加密:对存储和传输的数据进行加密处理,从而使得不知道解密算法的人无法获知 数据的内容。 5.什么是数据库中的自主存取控制方法和强制存取控制方法? 答:自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。 强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。 6.对下列两个关系模式使用GRANT语句完成下列授权功能: 学生(学号,姓名,年龄,性别,家庭住址,班级号) 班级(班级号,班级名,班主任,班长) 1)授予用户U1对两个表的所有权限,并可给其他用户授权。 GRANT ALL PRIVILEGES ON TABLE学生,班级 TO U1 WITH GRANT OPTION ; 2)授予用户U2对学生表具有查看权限,对家庭住址具有更新权限。 GRANT SELECT,UPDATE(家庭住址) ON TABLE学生 TO U2; 3)将对班级表查看权限授予所有用户。 GRANT SELECT ON TABLE 班级 TO PUBLIC; 4)将对学生表的查询、更新权限授予角色R1。 CREATE ROLE R1; GRANT SELECT,UPDATE ON TABLE 学生 TO R1; 5)将角色R1授予用户U1,并且U1可继续授予给其他角色。 GRANT R1 TO U1 WITH ADMIN OPTION;称,MAX(工资),MIN(工资),AVG(工资) FROM 职工,部门 WHERE 职工.部门号=部门.部门号 GROUP BY 职工.部门号; GRANT SELECT ON 部门工资 TO 杨兰; 7.针对习题7 中1)~7)的每一种情况,撤销各用户所授予的权限。 1)REVOKE SELECT ON TABLE职工,部门 FROM 王明; 2)REVOKE INSERT , DELETE ON TABLE职工,部门 FROM 李勇; 3)REOVKE SELECT ON TABLE职工WHEN USER ( ) =NAMEFROM ALI; 4)REVOKE SELECT , UPDATE ON TABLE职工FROM 刘星; 5)REVOKE ALTER TABLE ON TABLE职工,部门FROM 张新; 6)REVOKE ALL PRIVILIGES ON TABLE职工,部门FROM 周平; 7)REVOKE SELECT ON TABLE部门工资FROM 杨兰; DROP VIEW 部门工资; 8.理解并解释MAC 机制中主体、客体、敏感度标记的含义。 答:主体是系统中的活动实体,既包括DBMS 所管理的实际用户,也包括代表用户的各进程。

数据库原理实验报告_实验三_数据完整性与安全性控制

实验内容、步骤以及结果 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 昙否否否二

数据库系统概论第五版课后习题答案王珊版

第二章关系数据库 1 .试述关系模型的三个组成部分。 答:关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。 2 .试述关系数据语言的特点和分类。 答:关系数据语言可以分为三类: 关系代数语言。 关系演算语言:元组关系演算语言和域关系演算语言。 SQL:具有关系代数和关系演算双重特点的语言。 这些关系数据语言的共同特点是,语言具有完备的表达能力,是非过程化的集合操作语言,功能强,能够嵌入高级语言中使用。 3 (略) 4 . 5 . 述关系模型的完整性规则。在参照完整性中,为什么外部码属性的值也可以为空?什么情况下才可以为空? 答:实体完整性规则是指若属性A是基本关系R的主属性,则属性A不能取空值。 若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:或者取空值(F的每个属性值均为空值);或者等于S中某个元组的主码值。即属性F本身不是主属性,则可以取空值,否则不能取空值。 6.设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式: 1)求供应工程J1零件的供应商号码SNO: πSno(σJno=‘J1’(SPJ)) 2)求供应工程J1零件P1的供应商号码SNO: πSno(σJno=‘J1’∧Pno=‘P1‘(SPJ)) 3)求供应工程J1零件为红色的供应商号码SNO: πSno(πSno,,Pno(σJno=‘J1‘(SPJ))∞πPno(σCOLOR=’红‘(P))) 4)求没有使用天津供应商生产的红色零件的工程号JNO: πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘红‘(S∞SPJ∞P) 5)求至少用了供应商S1所供应的全部零件的工程号JNO: πJno,Pno(SPJ)÷πPno(σSno=‘S1‘(SPJ)) 7. 试述等值连接与自然连接的区别和联系。 答:连接运算符是“=”的连接运算称为等值连接。它是从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉。 8.关系代数的基本运算有哪些? 如何用这些基本运算来表示其他运算? 答:并、差、笛卡尔积、投影和选择5种运算为基本的运算。其他3种运算,即交、连接和除,均可以用这5种基本运算来表达。 第三章关系数据库语言SQL 1 .试述sQL 语言的特点。 答: (l)综合统一。sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL

(安全生产)数据库的安全性与完整性

数据库的安全性和完整性 一、实验目的和要求 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身份验证单选按钮,并在密码框中输入口令(如下图所示)。

实验八 数据完整性和安全性

苏州科技学院数理学院 实验报告 课程名称数据库原理与应用A 班级信计1412 学号0姓名0实验地点逸夫楼236 实验日期5、25 实验学时2学时实验名称实验八数据完整性和安全性 实验类型□√验证性 综合性 设计性 实验目的: 数据完整性方面: ●掌握域完整性的实现方法。 ●掌握实体完整性的实现方法。 ●掌握参照完整性的方法。 数据库安全性方面: ●掌握SQL Server身份验证模式。 ●掌握创建登录账户、数据库用户的方法。 ●掌握使用角色实现数据库安全性的方法。 ●掌握权限的分配。 实验内容: 数据完整性方面: 数据库的完整性设置。 数据库的安全性方面: 1、设置身份验证模式:Windows身份验证模式和混合模验证模式。 2、设置登录账户 3、设置数据库用户 4、设置数据库角色。 5、设置管理对象的权限

实验内容及步骤(记录实验的过程): 案例学习 3.1 数据完整性管理 ●可视化界面的操作方法: 实体完整性 1.将student表的“sno”字段设为主键:在表设计界面中,单击左边的行选定块,选定“sno”字段,单击工具按钮设置主键。如图1所示: 图1 1.将“sc”表的“sno”和“cno”设置为主键:在表设计界面中,单击并按住Ctrl键拖动左边的行选定块,选定sno和cno字段,单击工具按钮设置主键。如图2 所示:

图2 域完整性 3. 将“ssex”字段设置为只能取“男”,“女”两值:在表设计界面,点击鼠标右键——CHECK 约束,——添加约束,添加CK_student_sex名称,然后在约束表达式框中输入“ssex in ('男','女') ”。如图3所示。 图3 参照完整性 4. 将“student”表和“sc”表中的“sno”字段设为参照: 打开“sc”表的设计界面, 点击工

相关主题
文本预览
相关文档 最新文档