数据库四章课后练习笔记

数据库四章课后练习笔记

    • 1.什么是数据库安全性?
    • 2.举例说明对数据库安全性产生威胁的因素?
        • 非授权用户对数据库的恶意存取和破坏
        • 数据库中重要或敏感的数据被泄露
        • 安全环境的脆弱
    • 5.什么是数据库中的自主存取控制方法和强制存取控制方法?
        • 自主存取控制方法
        • 强制存取控制方法
    • 6.对下列两个关系模式使用GRANT语句完成下列授权功能:
        • (1)授权用户U1对两个表的所有权限,并可给其他用户授权。
        • (2)授予用户U2对学生表具有查看权限,对家庭住址具有更新的权限。
        • (3) 将对班级表查看权限授予所有用户。
        • (4) 将对学生表的查询、更新权限授予角色R1。
        • (5) 将角色R1授予用户U1,并且U1可继续授权给其他角色。
    • 7.今有一下两个关系模型:
      • 请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:
        • (1)用户王明对两个表有SELECT权限。
        • (2)用户李勇对两个表有INSERT和DELETE权限。
        • (3)每个职工只对自己的记录有SELECT权限。
        • (4)用户刘星对职工表有SELECT权限,对工资字段具有更新权限。
        • (5)用户张新具有修改这两个表的结构的权限。
        • (6)用户周平具有对两个表的所有权限(读、插、改、删数据),井具有给其他用户授权的权限。
        • (7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权限,她不能查看每个人的工资。
    • 8.针对习题7中(1)~(7)的每一种情况,撤销个用户所授予的权限。
    • 9.解释强制存取控制机制是如何确定主体能否存取客体的。
    • 11.什么是数据库的审计功能,为什么要提供审计功能?

1.什么是数据库安全性?

数据库的安全性是指保护数据库以防止不合法使用所造成的的数据泄露、更改或破坏。

2.举例说明对数据库安全性产生威胁的因素?

非授权用户对数据库的恶意存取和破坏

  • 一些黑客和犯罪分子在用户存取数据库时猎取用户名和用户口令,然后假冒合法用户偷取、修改甚至破坏用户数据

数据库中重要或敏感的数据被泄露

  • 黑客和敌对分子千方百计盗窃数据库中的重要数据,一些机密信息被暴露。

安全环境的脆弱

  • 操作系统安全的脆弱,网络协议安全保障的不足等都会造成数据库安全性的破坏。

5.什么是数据库中的自主存取控制方法和强制存取控制方法?

自主存取控制方法

用户对于不同的数据库对象有不同的存取权限,不同的用户对同一个对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户,因此自主存取控制非常灵活。

强制存取控制方法

每一个数据库对象被标以一定的密级,每一个用户也被授予某一个级别的许可证。对于任意一个对象,只有具有合法许可证的用户才可以存取,强制存取控制因此也就比较严格。

6.对下列两个关系模式使用GRANT语句完成下列授权功能:

  • 学生(学号,姓名,年龄,性别,家庭住址,班级号)
  • 班级(班级号,班级名,班主任,班长)
    授权功能:

(1)授权用户U1对两个表的所有权限,并可给其他用户授权。

GRANT ALL PRIVILEGES
ON TABLE student
TO U1
WITH GRANT OPTION;
GRANT ALL PRIVILEGES
ON TABLE team
TO U1
WITH GRANT OPTION;

(2)授予用户U2对学生表具有查看权限,对家庭住址具有更新的权限。

GRANT UPDATE(saddress),SELECT
ON TABLE student
TO U2;

(3) 将对班级表查看权限授予所有用户。

GRANT SELECT
ON TABLE team
TO PUBLIC;

(4) 将对学生表的查询、更新权限授予角色R1。

 GRANT SELECT,UPDATE
ON TABLE student
TO R1;

(5) 将角色R1授予用户U1,并且U1可继续授权给其他角色。

GRANT ROLE R1;
GRANT R1
TO U1;

7.今有一下两个关系模型:

职工(职工号,姓名,年龄,职务,工资,部门号)
部门(部门号,名称,经理名,地址,电话号)

请用SQL的GRANT和REVOKE语句(加上视图机制)完成以下授权定义或存取控制功能:

(1)用户王明对两个表有SELECT权限。

GRANT SELECT 
ON 职工,部门
TO 王明

(2)用户李勇对两个表有INSERT和DELETE权限。

GRANT INSERT,DELECT
ON 职工,部门
TO 李勇

(3)每个职工只对自己的记录有SELECT权限。

GRANT SELECT
ON 职工
WHEN USER() = NAME
TO ALL

(4)用户刘星对职工表有SELECT权限,对工资字段具有更新权限。

GRANT SELECT,UPDATE(工资)
ON 职工
TO 刘星

(5)用户张新具有修改这两个表的结构的权限。

GRANT ALTER TABLE
ON 职工,部门
TO 张新

(6)用户周平具有对两个表的所有权限(读、插、改、删数据),井具有给其他用户授权的权限。

GRANT ALL PRIVILIGES
ON 职工,部门
TO 周平

(7)用户杨兰具有从每个部门职工中SELECT最高工资、最低工资、平均工资的权限,她不能查看每个人的工资。

GRANT VIEW 部分工资
AS SELECT 部门,名称
MAX(工资),MIN(工资),AVG(工资)

8.针对习题7中(1)~(7)的每一种情况,撤销个用户所授予的权限。

(1)

REVOKE  SELECT 
ON 职工,部门
FROM 王明

(2)

REVOKE INSERT,DELECT
ON 职工,部门
FROM 李勇

(3)

REVOKE SELECT
ON 职工
WHEN USER() = NAME
FROM ALL

(4)

REVOKE SELECT,UPDATE(工资)
ON 职工
FROM 刘星

(5)

REVOKE ALTER TABLE
ON 职工,部门
FROM 张新

(6)

REVOKE ALL PRIVILIGES
ON 职工,部门
FROM 周平

(7)

REVOKE VIEW 部门工资
AS SELECT 部门,名称
MAX(工资),MIN(工资),AVG(工资)
DROP VIEW 部门工资

9.解释强制存取控制机制是如何确定主体能否存取客体的。

  • 数据库管理系统为它们每个实例(值)指派一个敏感度标记。
  • 主体的敏感度标记称为许可证级别,客体的敏感度标记称为密级。
  • 强制存取控制机制就是通过对比主体的敏感度标记和客体的敏感度标记,最终确定主体是后能够存取客体

11.什么是数据库的审计功能,为什么要提供审计功能?

审计功能:

  • 基本功能,提供多种审计查阅方式:基本的、可选的、有限的,等等。
  • 提供多套审计规则,审计规则一般在数据库初始化时设定,以方便审计员管理。
  • 提供审计分析和报表功能。
  • 审计日志管理功能。
  • 系统提供查询审计设置及审计记录信息的专门视图。

为什么要提供审计功能:

  • 因为任何系统的安全保护措施都不是完美无缺的,蓄意盗窃、破话数据的人总是想方设法打破控制。审计功能就是把用户对数据库的所有操作自动记录下来放入审计日志中。审计员可以利用审计日志监控数据库中的各种行为,重视导致数据库现有状况的一系列事件,找初非法存取数据的人、事件和内容等。还可以通过对审计日志分析,对潜在的威胁提前采取措施加以方法。

你可能感兴趣的:(Mysql数据库笔记)