《实验三-数据库安全性技术(共8页).doc》由会员分享,可在线阅读,更多相关《实验三-数据库安全性技术(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上实验三 数据库安全性技术班级: 姓名: 学号: 任课教师: 实验教师: 上机时间: 【实验目的】 1、理解安全性的概念。 2、理解用户及角色的相关概念。 3、掌握Oracle的安全性技术,系统权限及对象权限的授予和回收方法。【实验性质】 综合性实验 【实验学时】2H【实验内容】 今有两个关系模式:部门(部门号,名称,经理名,地址,电话号) 职工(职工号,姓名,年龄,职务,工资,部门号) 一、在Hr用户模式下,创建职工和部门表,各插入2条测试数据。drop table 职工CREATE TABLE 部门( 部门号 VARCHAR2(10) PRIMARY KEY, 名称
2、 VARCHAR2(10), 经理名 VARCHAR2(8), 地址 VARCHAR2(10), 电话号 VARCHAR2(11);CREATE TABLE 职工( 职工号 VARCHAR2(10) PRIMARY KEY, 姓名 VARCHAR2(8), 年龄 INT, 职务 VARCHAR2(10), 工资 INT, 部门号 VARCHAR2(10), FOREIGN KEY (部门号) REFERENCES 部门(部门号);INSERT INTO 部门 VALUES(D1,人事部,张三,湖北,);INSERT INTO 部门 VALUES(D2,财务部,李四,湖北,);SELECT *
3、FROM 部门;INSERT INTO 职工 VALUES(E1,王五,32,科长,2300,D1);INSERT INTO 职工 VALUES(E2,赵六,48,部长,4300,D2);SELECT * FROM 职工;二、定义用户,用SQL的GRANT和REVOKE语句完成以下授权定义或存取控制功能。1、创建数据库本地用户test,密码为oracle,默认表空间为users,临时表空间为temp,同时具有create session系统权限。DROP user t_TEST;CREATE USER t_TEST IDENTIFIED BY oracleDEFAULT TABLESPACE
4、usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_TEST; REVOKE CREATE SESSION FROM t_TEST; 2、用户王明对两个表有SELECT权力;DROP user t_王明;CREATE USER t_王明 IDENTIFIED BY ORACLEDEFAULT TABLESPACE usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_王明; GRANT SELECT ON 部门 TO t_王明;GRANT SELECT ON 职工 TO t
5、_王明;REVOKE CREATE SESSION FROM t_王明; REVOKE SELECT ON 部门 FROM t_王明;REVOKE SELECT ON 职工 FROM t_王明;3、用户李勇对两个表有INSERT和DELETE权力;CREATE USER t_李勇 IDENTIFIED BY ORACLEDEFAULT TABLESPACE usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_李勇; GRANT INSERT ,DELETE ON 部门 TO t_李勇;GRANT INSERT ,DELETE ON
6、职工 TO t_李勇;REVOKE CREATE SESSION FROM t_李勇; REVOKE INSERT ,DELETE ON 部门 FROM t_李勇;REVOKE INSERT ,DELETE ON 职工 FROM t_李勇;4、用户刘星对职工表有SELECT权力,对工资字段具有更新权力;CREATE USER t_刘星 IDENTIFIED BY ORACLEDEFAULT TABLESPACE usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_刘星; GRANT UPDATE(工资) ON 职工 TO t_刘星;
7、 GRANT SELECT ON 职工 TO t_刘星; REVOKE CREATE SESSION FROM t_刘星; REVOKE UPDATE ON 职工 FROM t_刘星; REVOKE SELECT ON 职工 FROM t_刘星; 5、用户周平具有对两个表所有权力(读、插、改、删数据),并具有给其他用户授权的权力;提示:所有权力为ALL PRIVILEGE,在GRANT语句中使用WITH GRANT OPTION选项,被授权的用户就具有了再次将对象权限授予其他用户的能力。CREATE USER t_周平 IDENTIFIED BY ORACLEDEFAULT TABLESPAC
8、E usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_周平; GRANT ALL PRIVILEGES ON 部门 TO t_周平 WITH GRANT OPTION; GRANT ALL PRIVILEGES ON 职工 TO t_周平 WITH GRANT OPTION;SELECT * FROM 职工;REVOKE CREATE SESSION FROM t_周平; REVOKE ALL PRIVILEGES ON 部门 FROM t_周平; REVOKE ALL PRIVILEGES ON 职工 FROM t_周平;6、用
9、户杨兰具有从每个部门职工中SELECT最高工资,最低工资,平均工资的权力,他不能查看每个人的工资。提示:首先创建视图查询每个部门职工中的最高工资,最低工资和平均工资,然后授予用户查询视图的权限。CREATE VIEW 职工_VIEW(最高工资,最低工资,平均工资) AS SELECT MAX(工资),MIN(工资),AVG(工资) FROM 职工; CREATE USER t_杨兰 IDENTIFIED BY ORACLEDEFAULT TABLESPACE usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_杨兰; GRANT S
10、ELECT ON 职工_VIEW TO t_杨兰; REVOKE CREATE SESSION FROM t_杨兰; REVOKE SELECT ON 职工_VIEW FROM t_杨兰; 三、设计安全机制使得用户“liming”只能查询年龄在40岁以上(包括)职工。提示:用视图实现CREATE VIEW liming_VIEW1(职工号,姓名,年龄,职务,工资,部门号) AS SELECT * FROM 职工 WHERE 年龄40; drop user t_liming;CREATE USER t_liming IDENTIFIED BY ORACLEDEFAULT TABLESPACE u
11、sersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_liming; GRANT SELECT ON liming_VIEW1 TO t_liming; REVOKE CREATE SESSION FROM t_liming; REVOKE SELECT ON liming_VIEW1 FROM t_liming; 四、设计安全机制使得用户“liming”只能访问“职工”的职工号、姓名。提示:用视图实现CREATE VIEW liming_VIEW2(职工号,姓名) AS SELECT 职工号,姓名 FROM 职工 ;CREATE US
12、ER t_liming2 IDENTIFIED BY ORACLEDEFAULT TABLESPACE usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_liming2; GRANT SELECT ON liming_VIEW2 TO t_liming2;REVOKE CREATE SESSION FROM t_liming2; REVOKE SELECT ON liming_VIEW2 FROM t_liming2;五、设计角色“student”,可以查看“职工”的职工号、姓名、年龄。将用户“liming”添加到角色“stude
13、nt”中。提示:用视图实现CREATE VIEW liming_VIEW3(职工号,姓名,年龄) AS SELECT 职工号,姓名,年龄 FROM 职工 ;CREATE ROLE t_student ;GRANT SELECT ON liming_VIEW3 TO t_student;CREATE USER t_liming3 IDENTIFIED BY ORACLEDEFAULT TABLESPACE usersTEMPORARY TABLESPACE TEMP;GRANT CREATE SESSION TO t_liming3; GRANT t_student TO t_liming3;REVOKE CREATE SESSION FROM t_liming3; REVOKE t_student FROM t_liming3;【实验总结】 请根据实验内容谈谈你对本次实验的收获、感想,或提出你对实验内容的建议等等。批改教师评语:实验报告成绩:批改教师签字批改时间:专心-专注-专业