【数据库系统概论期末复习】第四章 数据库安全性重点与常考题整理

【数据库系统概论期末复习】第四章 数据库安全性重点与常考题整理

适用教材:《数据库系统概论》第 6 版,王珊

适用场景:大学数据库期末复习、选择题、判断题、填空题、简答题、SQL 授权题

本章关键词:数据库安全性、用户身份鉴别、存取控制、DAC、MAC、GRANT、REVOKE、视图、审计、数据加密


文章目录

  • 二、数据库安全性的概念
  • 三、安全性和完整性的区别
  • 四、数据库安全控制方法
  • 五、用户身份鉴别
  • 六、存取控制
    • [1. 定义用户权限](#1. 定义用户权限)
    • [2. 合法权限检查](#2. 合法权限检查)
  • [七、自主存取控制 DAC](#七、自主存取控制 DAC)
  • [八、SQL 授权语句 GRANT](#八、SQL 授权语句 GRANT)
    • [1. 常见权限](#1. 常见权限)
    • [2. 授予查询权限](#2. 授予查询权限)
    • [3. 授予多个权限](#3. 授予多个权限)
    • [4. 授予多个用户](#4. 授予多个用户)
    • [5. 授予所有用户](#5. 授予所有用户)
    • [6. 授予某一列的修改权限](#6. 授予某一列的修改权限)
    • [7. 授予成绩列修改权限](#7. 授予成绩列修改权限)
    • [8. 允许用户继续授权](#8. 允许用户继续授权)
  • [九、SQL 收回权限 REVOKE](#九、SQL 收回权限 REVOKE)
    • [1. 收回查询权限](#1. 收回查询权限)
    • [2. 收回多个权限](#2. 收回多个权限)
    • [3. 收回所有用户权限](#3. 收回所有用户权限)
    • [4. 收回 Grade 列修改权限](#4. 收回 Grade 列修改权限)
  • [十、WITH GRANT OPTION 和连锁收回](#十、WITH GRANT OPTION 和连锁收回)
    • [1. 授权过程示例](#1. 授权过程示例)
    • [2. 连锁收回](#2. 连锁收回)
  • [十一、数据库角色 Role](#十一、数据库角色 Role)
    • [1. 创建角色](#1. 创建角色)
    • [2. 给角色授权](#2. 给角色授权)
    • [3. 把角色授给用户](#3. 把角色授给用户)
    • [4. 收回角色](#4. 收回角色)
  • [十二、强制存取控制 MAC](#十二、强制存取控制 MAC)
    • [1. 主体和客体](#1. 主体和客体)
    • [2. 安全级别](#2. 安全级别)
    • [3. 强制存取控制规则](#3. 强制存取控制规则)
  • [十三、DAC 和 MAC 对比](#十三、DAC 和 MAC 对比)
  • 十四、视图机制与安全性
    • [1. 通过视图限制访问列](#1. 通过视图限制访问列)
    • [2. 通过视图限制访问行](#2. 通过视图限制访问行)
    • [3. 视图安全作用](#3. 视图安全作用)
  • [十五、审计 Audit](#十五、审计 Audit)
  • 十六、数据加密
  • 十七、第四章常考选择题
    • [1. 数据库安全性是为了防止( )](#1. 数据库安全性是为了防止( ))
    • [2. 数据库安全性保护的是数据库免受非法使用造成的( )](#2. 数据库安全性保护的是数据库免受非法使用造成的( ))
    • [3. 数据库安全控制的第一道防线通常是( )](#3. 数据库安全控制的第一道防线通常是( ))
    • [4. 数据库安全性的核心是( )](#4. 数据库安全性的核心是( ))
    • [5. SQL 中用于授权的语句是( )](#5. SQL 中用于授权的语句是( ))
    • [6. SQL 中用于收回权限的语句是( )](#6. SQL 中用于收回权限的语句是( ))
    • [7. WITH GRANT OPTION 的含义是( )](#7. WITH GRANT OPTION 的含义是( ))
    • [8. 下列属于自主存取控制的是( )](#8. 下列属于自主存取控制的是( ))
    • [9. 强制存取控制中,权限主要由( )决定。](#9. 强制存取控制中,权限主要由( )决定。)
    • [10. 审计的主要作用是( )](#10. 审计的主要作用是( ))
  • 十八、第四章常考判断题
    • [1. 数据库安全性是防止不合法使用数据库造成数据泄露、更改或破坏。](#1. 数据库安全性是防止不合法使用数据库造成数据泄露、更改或破坏。)
    • [2. 数据库安全性和完整性是同一个概念。](#2. 数据库安全性和完整性是同一个概念。)
    • [3. 用户身份鉴别是数据库安全系统的第一道防线。](#3. 用户身份鉴别是数据库安全系统的第一道防线。)
    • [4. 存取控制是数据库安全性的核心。](#4. 存取控制是数据库安全性的核心。)
    • [5. GRANT 用于收回权限。](#5. GRANT 用于收回权限。)
    • [6. REVOKE 用于授予权限。](#6. REVOKE 用于授予权限。)
    • [7. WITH GRANT OPTION 表示用户可以继续把权限授给其他用户。](#7. WITH GRANT OPTION 表示用户可以继续把权限授给其他用户。)
    • [8. 自主存取控制中,用户可以将自己拥有的权限授予其他用户。](#8. 自主存取控制中,用户可以将自己拥有的权限授予其他用户。)
    • [9. 强制存取控制的灵活性通常高于自主存取控制。](#9. 强制存取控制的灵活性通常高于自主存取控制。)
    • [10. 视图可以用于数据库安全保护。](#10. 视图可以用于数据库安全保护。)
    • [11. 审计是一种事后检查机制。](#11. 审计是一种事后检查机制。)
    • [12. 数据加密后,即使数据泄露,也可以降低数据被直接理解的风险。](#12. 数据加密后,即使数据泄露,也可以降低数据被直接理解的风险。)
  • 十九、第四章常考填空题
    • [1. 数据库安全性是保护数据库,防止不合法使用所造成的数据泄露、________ 或 。](#1. 数据库安全性是保护数据库,防止不合法使用所造成的数据泄露、 或 ________。)
    • [2. 数据库安全控制的常用方法包括用户身份鉴别、、视图机制、审计和数据加密。](#2. 数据库安全控制的常用方法包括用户身份鉴别、、视图机制、审计和数据加密。)
    • [3. 数据库安全系统的第一道防线是 ________。](#3. 数据库安全系统的第一道防线是 ________。)
    • [4. 数据库安全性的核心是 ________。](#4. 数据库安全性的核心是 ________。)
    • [5. SQL 中用于授权的语句是 ________。](#5. SQL 中用于授权的语句是 ________。)
    • [6. SQL 中用于收回权限的语句是 ________。](#6. SQL 中用于收回权限的语句是 ________。)
    • [7. WITH GRANT OPTION 表示被授权用户可以 ________。](#7. WITH GRANT OPTION 表示被授权用户可以 ________。)
    • [8. 自主存取控制的英文缩写是 ________。](#8. 自主存取控制的英文缩写是 ________。)
    • [9. 强制存取控制的英文缩写是 ________。](#9. 强制存取控制的英文缩写是 ________。)
    • [10. 审计是把用户对数据库的操作自动记录下来,放入 ________ 中。](#10. 审计是把用户对数据库的操作自动记录下来,放入 ________ 中。)
  • 二十、第四章常考简答题
    • [1. 什么是数据库安全性?](#1. 什么是数据库安全性?)
    • [2. 数据库安全性和完整性有什么区别?](#2. 数据库安全性和完整性有什么区别?)
    • [3. 数据库安全控制有哪些主要方法?](#3. 数据库安全控制有哪些主要方法?)
    • [4. 什么是自主存取控制?](#4. 什么是自主存取控制?)
    • [5. 什么是强制存取控制?](#5. 什么是强制存取控制?)
    • [6. 简述 DAC 和 MAC 的区别。](#6. 简述 DAC 和 MAC 的区别。)
    • [7. 视图如何提高数据库安全性?](#7. 视图如何提高数据库安全性?)
    • [8. 审计的作用是什么?](#8. 审计的作用是什么?)
    • [9. 数据加密的作用是什么?](#9. 数据加密的作用是什么?)
  • [二十一、第四章常考 SQL 授权题](#二十一、第四章常考 SQL 授权题)
    • [1. 把 Student 表的查询权限授给用户 U1](#1. 把 Student 表的查询权限授给用户 U1)
    • [2. 把 Student 表的查询和插入权限授给用户 U1](#2. 把 Student 表的查询和插入权限授给用户 U1)
    • [3. 把 Student 表的所有权限授给用户 U1 和 U2](#3. 把 Student 表的所有权限授给用户 U1 和 U2)
    • [4. 把 Student 表的查询权限授给所有用户](#4. 把 Student 表的查询权限授给所有用户)
    • [5. 把 SC 表中 Grade 列的修改权限授给 Teacher1](#5. 把 SC 表中 Grade 列的修改权限授给 Teacher1)
    • [6. 把 Course 表的查询权限授给 U1,并允许 U1 转授权](#6. 把 Course 表的查询权限授给 U1,并允许 U1 转授权)
    • [7. 收回 U1 对 Student 表的查询权限](#7. 收回 U1 对 Student 表的查询权限)
    • [8. 收回 U1 对 Student 表的查询和插入权限](#8. 收回 U1 对 Student 表的查询和插入权限)
    • [9. 收回 Teacher1 对 SC 表 Grade 列的修改权限](#9. 收回 Teacher1 对 SC 表 Grade 列的修改权限)
    • [10. 收回所有用户对 Course 表的查询权限](#10. 收回所有用户对 Course 表的查询权限)
  • 二十二、第四章高频易错点
    • [1. 安全性和完整性混淆](#1. 安全性和完整性混淆)
    • [2. GRANT 和 REVOKE 混淆](#2. GRANT 和 REVOKE 混淆)
    • [3. WITH GRANT OPTION 忘记作用](#3. WITH GRANT OPTION 忘记作用)
    • [4. DAC 和 MAC 混淆](#4. DAC 和 MAC 混淆)
    • [5. 审计和加密混淆](#5. 审计和加密混淆)
  • 二十三、考前必背
  • 二十四、考前速记口诀

一、第四章考试重点总览

第四章主要讲数据库安全保护。

期末常考内容:

text 复制代码
1. 数据库安全性的概念
2. 数据库安全性和完整性的区别
3. 数据库安全控制方法
4. 用户身份鉴别
5. 存取控制
6. 自主存取控制 DAC
7. 强制存取控制 MAC
8. SQL 授权语句 GRANT
9. SQL 收权语句 REVOKE
10. WITH GRANT OPTION
11. 角色 Role
12. 视图机制
13. 审计
14. 数据加密
15. 常见选择题、判断题、填空题、简答题

二、数据库安全性的概念

数据库安全性是数据库保护的重要内容之一。

定义:

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

关键词:

text 复制代码
防止非法用户
防止非法操作
防止数据泄露
防止数据篡改
防止数据破坏

常考形式:

text 复制代码
名词解释:数据库安全性
填空:数据库安全性是保护数据库,防止不合法使用所造成的数据泄露、____ 或 ____。

答案:

text 复制代码
更改、破坏

三、安全性和完整性的区别

安全性和完整性非常容易混淆,是选择题、判断题常考点。

对比 安全性 完整性
目的 防止非法访问和破坏 保证数据正确、有效、相容
关注点 用户能不能访问 数据本身是否合法
典型问题 未授权用户查看成绩表 成绩不能超过 100
控制对象 用户权限、访问范围 数据取值、数据关系
所属章节 第四章 第五章

一句话区分:

text 复制代码
安全性管"谁能用",完整性管"数据对不对"。

例子:

text 复制代码
普通学生不能查看全校成绩表:安全性
成绩 Grade 必须在 0 到 100 之间:完整性
选课表中的学号必须来自学生表:完整性
只有教务员能修改成绩:安全性

四、数据库安全控制方法

数据库安全控制常用方法包括:

text 复制代码
1. 用户身份鉴别
2. 存取控制
3. 视图机制
4. 审计
5. 数据加密

考试中常考简答题:

text 复制代码
简述数据库安全控制的主要方法。

答案直接写以上五点即可。


五、用户身份鉴别

用户身份鉴别是数据库安全系统的第一道防线。

定义:

text 复制代码
用户身份鉴别是系统根据用户提供的身份标识,确认用户是否为合法用户的过程。

常见方式:

text 复制代码
用户名和口令
动态口令
短信验证码
IC 卡
磁卡
指纹
虹膜
人脸识别
数字证书

易考点:

text 复制代码
用户身份鉴别是 DBMS 提供的最外层安全保护措施。

六、存取控制

存取控制是数据库安全性的核心。

基本思想:

text 复制代码
只允许有权限的用户访问其有权访问的数据,并执行被允许的操作。

存取控制主要包括两个部分:

text 复制代码
1. 定义用户权限
2. 合法权限检查

1. 定义用户权限

系统规定用户可以对哪些数据库对象执行哪些操作。

例子:

text 复制代码
用户 U1 可以查询 Student 表
用户 U2 可以修改 SC 表中的 Grade 列
用户 U3 可以删除 Course 表中的记录

数据库对象包括:

text 复制代码
表
视图
列
索引
数据库
模式

常见操作权限:

text 复制代码
SELECT
INSERT
UPDATE
DELETE
REFERENCES
ALL PRIVILEGES

2. 合法权限检查

当用户发出数据库操作请求时,DBMS 检查该用户是否具有相应权限。

如果有权限:

text 复制代码
允许执行

如果没有权限:

text 复制代码
拒绝执行

七、自主存取控制 DAC

自主存取控制,英文是 Discretionary Access Control,简称 DAC。

定义:

text 复制代码
自主存取控制是指用户可以按照自己的权限,将其拥有的数据访问权限授予其他用户,也可以收回权限。

特点:

text 复制代码
1. 权限由对象拥有者或授权用户决定
2. 用户可以把自己拥有的权限授予其他用户
3. 灵活性高
4. 安全性相对较弱

SQL 中体现 DAC 的语句:

sql 复制代码
GRANT
REVOKE

易考点:

text 复制代码
GRANT 和 REVOKE 主要体现的是自主存取控制。

八、SQL 授权语句 GRANT

GRANT 用于向用户授予权限。

基本格式:

sql 复制代码
GRANT 权限
ON 对象类型 对象名
TO 用户
[WITH GRANT OPTION];

说明:

text 复制代码
权限:SELECT、INSERT、UPDATE、DELETE 等
对象类型:TABLE、VIEW 等
对象名:具体表名或视图名
用户:被授权用户
WITH GRANT OPTION:允许被授权用户继续把权限授给其他用户

1. 常见权限

权限 含义
SELECT 查询
INSERT 插入
UPDATE 修改
DELETE 删除
REFERENCES 引用
ALL PRIVILEGES 所有权限

2. 授予查询权限

题目:

text 复制代码
把 Student 表的查询权限授给用户 U1。

SQL:

sql 复制代码
GRANT SELECT
ON TABLE Student
TO U1;

3. 授予多个权限

题目:

text 复制代码
把 Student 表的查询和修改权限授给用户 U1。

SQL:

sql 复制代码
GRANT SELECT, UPDATE
ON TABLE Student
TO U1;

4. 授予多个用户

题目:

text 复制代码
把 Student 表的查询权限授给用户 U1 和 U2。

SQL:

sql 复制代码
GRANT SELECT
ON TABLE Student
TO U1, U2;

5. 授予所有用户

题目:

text 复制代码
把 Student 表的查询权限授给所有用户。

SQL:

sql 复制代码
GRANT SELECT
ON TABLE Student
TO PUBLIC;

6. 授予某一列的修改权限

题目:

text 复制代码
把 Student 表中 Smajor 列的修改权限授给用户 U1。

SQL:

sql 复制代码
GRANT UPDATE(Smajor)
ON TABLE Student
TO U1;

7. 授予成绩列修改权限

题目:

text 复制代码
把 SC 表中 Grade 列的修改权限授给教师用户 Teacher1。

SQL:

sql 复制代码
GRANT UPDATE(Grade)
ON TABLE SC
TO Teacher1;

8. 允许用户继续授权

题目:

text 复制代码
把 Course 表查询权限授给 U1,并允许 U1 再授权给其他用户。

SQL:

sql 复制代码
GRANT SELECT
ON TABLE Course
TO U1
WITH GRANT OPTION;

重点:

text 复制代码
WITH GRANT OPTION 表示被授权用户可以把该权限再授予其他用户。

九、SQL 收回权限 REVOKE

REVOKE 用于收回权限。

基本格式:

sql 复制代码
REVOKE 权限
ON 对象类型 对象名
FROM 用户;

1. 收回查询权限

题目:

text 复制代码
收回用户 U1 对 Student 表的查询权限。

SQL:

sql 复制代码
REVOKE SELECT
ON TABLE Student
FROM U1;

2. 收回多个权限

题目:

text 复制代码
收回用户 U1 对 Student 表的查询和修改权限。

SQL:

sql 复制代码
REVOKE SELECT, UPDATE
ON TABLE Student
FROM U1;

3. 收回所有用户权限

题目:

text 复制代码
收回所有用户对 Course 表的查询权限。

SQL:

sql 复制代码
REVOKE SELECT
ON TABLE Course
FROM PUBLIC;

4. 收回 Grade 列修改权限

题目:

text 复制代码
收回 Teacher1 对 SC 表中 Grade 列的修改权限。

SQL:

sql 复制代码
REVOKE UPDATE(Grade)
ON TABLE SC
FROM Teacher1;

十、WITH GRANT OPTION 和连锁收回

如果用户获得权限时带有:

sql 复制代码
WITH GRANT OPTION

那么该用户可以把获得的权限继续授予其他用户。


1. 授权过程示例

DBA 把 Student 表查询权限授给 U1,并允许 U1 转授权:

sql 复制代码
GRANT SELECT
ON TABLE Student
TO U1
WITH GRANT OPTION;

U1 把该权限授给 U2:

sql 复制代码
GRANT SELECT
ON TABLE Student
TO U2;

2. 连锁收回

如果 DBA 收回 U1 的权限:

sql 复制代码
REVOKE SELECT
ON TABLE Student
FROM U1;

那么 U1 授给 U2 的权限通常也会被收回。

关键词:

text 复制代码
连锁收回

易考点:

text 复制代码
WITH GRANT OPTION 允许转授权。
REVOKE 可能导致连锁收回。

十一、数据库角色 Role

角色是一组权限的集合。

作用:

text 复制代码
简化权限管理。

理解:

text 复制代码
角色就像一个权限包。
用户获得角色,就获得角色中的权限。

1. 创建角色

sql 复制代码
CREATE ROLE Teacher;

2. 给角色授权

题目:

text 复制代码
把查询 Student 表和修改 SC 表 Grade 列的权限授给 Teacher 角色。

SQL:

sql 复制代码
GRANT SELECT
ON TABLE Student
TO Teacher;

GRANT UPDATE(Grade)
ON TABLE SC
TO Teacher;

3. 把角色授给用户

sql 复制代码
GRANT Teacher
TO U1;

4. 收回角色

sql 复制代码
REVOKE Teacher
FROM U1;

十二、强制存取控制 MAC

强制存取控制,英文是 Mandatory Access Control,简称 MAC。

定义:

text 复制代码
强制存取控制是系统根据主体和客体的安全级别进行访问控制,用户不能随意改变安全级别和访问权限。

特点:

text 复制代码
1. 由系统统一规定安全级别
2. 用户不能自主改变权限
3. 安全性高
4. 灵活性较差

1. 主体和客体

主体:

text 复制代码
系统中的活动实体,如用户、进程、事务。

客体:

text 复制代码
系统中的被动实体,如表、视图、记录、属性。

2. 安全级别

常见安全级别从高到低:

text 复制代码
绝密 TS
机密 S
可信 C
公开 U

英文对应:

text 复制代码
Top Secret
Secret
Confidential
Unclassified

安全级别顺序:

text 复制代码
TS > S > C > U

3. 强制存取控制规则

常见规则:

text 复制代码
1. 主体的许可证级别大于或等于客体的密级时,主体可以读客体。
2. 主体的许可证级别小于或等于客体的密级时,主体可以写客体。

速记:

text 复制代码
不上读,不下写。

解释:

text 复制代码
不上读:低级别主体不能读取高级别客体。
不下写:高级别主体不能向低级别客体写入信息。

目的:

text 复制代码
防止高密级信息泄露到低密级对象中。

十三、DAC 和 MAC 对比

对比 DAC MAC
中文名 自主存取控制 强制存取控制
英文 Discretionary Access Control Mandatory Access Control
权限决定 用户或对象拥有者 系统安全策略
是否可转授权 可以 一般不可以
SQL 体现 GRANT、REVOKE 安全级别控制
灵活性 较低
安全性 相对较弱 较强

简答题答法:

text 复制代码
DAC 灵活性较高,但安全性相对较弱。
MAC 安全性较高,但灵活性较差。

十四、视图机制与安全性

视图可以隐藏用户不应该看到的数据,从而提高安全性。


1. 通过视图限制访问列

题目:

text 复制代码
只允许用户 U1 查看学生的学号和姓名,不允许查看性别、出生日期和专业。

创建视图:

sql 复制代码
CREATE VIEW Student_View
AS
SELECT Sno, Sname
FROM Student;

授权查询视图:

sql 复制代码
GRANT SELECT
ON TABLE Student_View
TO U1;

说明:

text 复制代码
U1 只能查询 Student_View 中的 Sno 和 Sname,不能直接看到 Student 表的全部字段。

2. 通过视图限制访问行

题目:

text 复制代码
只允许 U1 查看信息安全专业的学生信息。

创建视图:

sql 复制代码
CREATE VIEW IS_Student
AS
SELECT *
FROM Student
WHERE Smajor = '信息安全';

授权:

sql 复制代码
GRANT SELECT
ON TABLE IS_Student
TO U1;

3. 视图安全作用

text 复制代码
通过视图可以只向用户暴露其有权访问的数据,隐藏用户无权访问的数据,从而提高数据库安全性。

十五、审计 Audit

审计是数据库安全控制的重要措施。

定义:

text 复制代码
审计是把用户对数据库的所有操作自动记录下来,放入审计日志中。

审计日志可用于:

text 复制代码
事后检查
追踪非法操作
分析安全事故
发现可疑行为

审计一般记录:

text 复制代码
操作用户
操作时间
操作类型
操作对象
操作结果

常考点:

text 复制代码
审计是一种事后安全检查机制。

十六、数据加密

数据加密是防止数据泄露的重要方法。

作用:

text 复制代码
即使数据被非法获取,攻击者也无法直接理解数据内容。

常见加密对象:

text 复制代码
存储数据加密
传输数据加密
口令加密
敏感字段加密

敏感字段例子:

text 复制代码
身份证号
银行卡号
用户密码
工资信息
成绩信息

十七、第四章常考选择题

1. 数据库安全性是为了防止( )

A. 数据不一致

B. 非法使用数据库

C. 数据冗余

D. 数据重复

答案:B


2. 数据库安全性保护的是数据库免受非法使用造成的( )

A. 泄露、更改或破坏

B. 插入、删除或查询

C. 冗余、不一致或异常

D. 查询、统计或排序

答案:A


3. 数据库安全控制的第一道防线通常是( )

A. 审计

B. 视图

C. 用户身份鉴别

D. 数据加密

答案:C


4. 数据库安全性的核心是( )

A. 用户身份鉴别

B. 存取控制

C. 数据加密

D. 数据备份

答案:B


5. SQL 中用于授权的语句是( )

A. GRANT

B. REVOKE

C. SELECT

D. CREATE

答案:A


6. SQL 中用于收回权限的语句是( )

A. GRANT

B. REVOKE

C. UPDATE

D. DELETE

答案:B


7. WITH GRANT OPTION 的含义是( )

A. 可以查询数据

B. 可以删除数据

C. 可以把获得的权限再授予其他用户

D. 可以创建表

答案:C


8. 下列属于自主存取控制的是( )

A. 安全级别控制

B. GRANT 和 REVOKE

C. 数据加密

D. 审计日志

答案:B


9. 强制存取控制中,权限主要由( )决定。

A. 用户自己

B. 表的拥有者

C. 系统安全策略

D. 应用程序

答案:C


10. 审计的主要作用是( )

A. 提高查询速度

B. 记录数据库操作,便于事后检查

C. 减少数据冗余

D. 保证数据完整性

答案:B


十八、第四章常考判断题

1. 数据库安全性是防止不合法使用数据库造成数据泄露、更改或破坏。

答案:对


2. 数据库安全性和完整性是同一个概念。

答案:错

解析:

text 复制代码
安全性管谁能访问,完整性管数据是否正确。

3. 用户身份鉴别是数据库安全系统的第一道防线。

答案:对


4. 存取控制是数据库安全性的核心。

答案:对


5. GRANT 用于收回权限。

答案:错

解析:

text 复制代码
GRANT 用于授权,REVOKE 用于收回权限。

6. REVOKE 用于授予权限。

答案:错


7. WITH GRANT OPTION 表示用户可以继续把权限授给其他用户。

答案:对


8. 自主存取控制中,用户可以将自己拥有的权限授予其他用户。

答案:对


9. 强制存取控制的灵活性通常高于自主存取控制。

答案:错

解析:

text 复制代码
DAC 灵活性高,MAC 安全性高但灵活性较差。

10. 视图可以用于数据库安全保护。

答案:对


11. 审计是一种事后检查机制。

答案:对


12. 数据加密后,即使数据泄露,也可以降低数据被直接理解的风险。

答案:对


十九、第四章常考填空题

1. 数据库安全性是保护数据库,防止不合法使用所造成的数据泄露、________ 或 ________。

答案:

text 复制代码
更改、破坏

2. 数据库安全控制的常用方法包括用户身份鉴别、________、视图机制、审计和数据加密。

答案:

text 复制代码
存取控制

3. 数据库安全系统的第一道防线是 ________。

答案:

text 复制代码
用户身份鉴别

4. 数据库安全性的核心是 ________。

答案:

text 复制代码
存取控制

5. SQL 中用于授权的语句是 ________。

答案:

text 复制代码
GRANT

6. SQL 中用于收回权限的语句是 ________。

答案:

text 复制代码
REVOKE

7. WITH GRANT OPTION 表示被授权用户可以 ________。

答案:

text 复制代码
继续把该权限授予其他用户

8. 自主存取控制的英文缩写是 ________。

答案:

text 复制代码
DAC

9. 强制存取控制的英文缩写是 ________。

答案:

text 复制代码
MAC

10. 审计是把用户对数据库的操作自动记录下来,放入 ________ 中。

答案:

text 复制代码
审计日志

二十、第四章常考简答题

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

答案:

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

2. 数据库安全性和完整性有什么区别?

答案:

text 复制代码
数据库安全性是防止非法用户非法访问数据库,避免数据泄露、更改或破坏,关注的是"谁能访问"。

数据库完整性是保证数据库中数据的正确性、有效性和相容性,关注的是"数据是否正确"。

3. 数据库安全控制有哪些主要方法?

答案:

text 复制代码
数据库安全控制的主要方法包括:

1. 用户身份鉴别
2. 存取控制
3. 视图机制
4. 审计
5. 数据加密

4. 什么是自主存取控制?

答案:

text 复制代码
自主存取控制是指用户可以按照自己的权限,将其拥有的数据访问权限授予其他用户,也可以收回权限。

SQL 中的 GRANT 和 REVOKE 体现了自主存取控制。

5. 什么是强制存取控制?

答案:

text 复制代码
强制存取控制是系统根据主体和客体的安全级别进行访问控制。

在强制存取控制中,系统为主体和客体分配安全级别,用户不能随意改变权限。

6. 简述 DAC 和 MAC 的区别。

答案:

text 复制代码
DAC 是自主存取控制,权限通常由用户或对象拥有者决定,用户可以把权限授予其他用户,灵活性高,但安全性相对较弱。

MAC 是强制存取控制,权限由系统安全策略决定,依据主体和客体的安全级别进行访问控制,安全性较高,但灵活性较差。

7. 视图如何提高数据库安全性?

答案:

text 复制代码
视图可以只向用户提供其有权访问的数据,隐藏用户无权访问的数据。

通过对视图授权,而不是直接对基本表授权,可以限制用户访问的数据范围,从而提高数据库安全性。

8. 审计的作用是什么?

答案:

text 复制代码
审计可以自动记录用户对数据库的操作,形成审计日志。

审计日志可用于事后检查、追踪非法操作、分析安全事故和发现可疑行为。

9. 数据加密的作用是什么?

答案:

text 复制代码
数据加密可以防止数据泄露。

即使数据被非法获取,攻击者也难以直接理解数据内容,从而提高数据库安全性。

二十一、第四章常考 SQL 授权题

1. 把 Student 表的查询权限授给用户 U1

sql 复制代码
GRANT SELECT
ON TABLE Student
TO U1;

2. 把 Student 表的查询和插入权限授给用户 U1

sql 复制代码
GRANT SELECT, INSERT
ON TABLE Student
TO U1;

3. 把 Student 表的所有权限授给用户 U1 和 U2

sql 复制代码
GRANT ALL PRIVILEGES
ON TABLE Student
TO U1, U2;

4. 把 Student 表的查询权限授给所有用户

sql 复制代码
GRANT SELECT
ON TABLE Student
TO PUBLIC;

5. 把 SC 表中 Grade 列的修改权限授给 Teacher1

sql 复制代码
GRANT UPDATE(Grade)
ON TABLE SC
TO Teacher1;

6. 把 Course 表的查询权限授给 U1,并允许 U1 转授权

sql 复制代码
GRANT SELECT
ON TABLE Course
TO U1
WITH GRANT OPTION;

7. 收回 U1 对 Student 表的查询权限

sql 复制代码
REVOKE SELECT
ON TABLE Student
FROM U1;

8. 收回 U1 对 Student 表的查询和插入权限

sql 复制代码
REVOKE SELECT, INSERT
ON TABLE Student
FROM U1;

9. 收回 Teacher1 对 SC 表 Grade 列的修改权限

sql 复制代码
REVOKE UPDATE(Grade)
ON TABLE SC
FROM Teacher1;

10. 收回所有用户对 Course 表的查询权限

sql 复制代码
REVOKE SELECT
ON TABLE Course
FROM PUBLIC;

二十二、第四章高频易错点

1. 安全性和完整性混淆

错误理解:

text 复制代码
成绩不能超过 100 是安全性。

正确理解:

text 复制代码
成绩不能超过 100 是完整性。
普通学生不能修改成绩才是安全性。

2. GRANT 和 REVOKE 混淆

text 复制代码
GRANT:授权
REVOKE:收回权限

3. WITH GRANT OPTION 忘记作用

text 复制代码
WITH GRANT OPTION 表示允许被授权用户把权限继续授给其他用户。

4. DAC 和 MAC 混淆

text 复制代码
DAC:自主存取控制,用户可授权。
MAC:强制存取控制,系统按安全级别控制。

5. 审计和加密混淆

text 复制代码
审计:记录操作,便于事后检查。
加密:隐藏数据内容,防止泄露后被直接理解。

二十三、考前必背

text 复制代码
1. 数据库安全性:
保护数据库,防止不合法使用造成数据泄露、更改或破坏。

2. 安全性和完整性:
安全性管"谁能访问";
完整性管"数据对不对"。

3. 安全控制方法:
用户身份鉴别、存取控制、视图机制、审计、数据加密。

4. 存取控制:
定义用户权限 + 合法权限检查。

5. DAC:
自主存取控制,用户可以把权限授予其他用户。
SQL 中 GRANT 和 REVOKE 体现 DAC。

6. MAC:
强制存取控制,系统按主体和客体的安全级别控制访问。

7. GRANT:
授予权限。

8. REVOKE:
收回权限。

9. WITH GRANT OPTION:
允许被授权用户继续转授权。

10. 视图:
通过限制用户可见的数据范围提高安全性。

11. 审计:
记录用户操作,便于事后检查。

12. 加密:
防止数据泄露后被直接理解。

二十四、考前速记口诀

text 复制代码
安全性,防非法;
谁能访问它来管。

完整性,管数据;
正确有效不冲突。

身份鉴别第一关,
存取控制是核心。

GRANT 授权,
REVOKE 收权,
WITH GRANT OPTION 可转权。

DAC 自主灵活,
MAC 强制更安全。

视图限范围,
审计留记录,
加密防泄露。
相关推荐
拾贰_C2 小时前
【mysql | windows | installation】 MySQL5.安装
数据库·windows·mysql
睡不醒男孩0308232 小时前
达梦数据安装详细步骤(包含CLup一键部署达梦数据库实例)
数据库·达梦·clup
真实的菜2 小时前
【无标题】Redis 从入门到精通(七):缓存设计与最佳实践 —— 穿透、击穿、雪崩与一致性终极指南
数据库·redis·缓存
念何架构之路2 小时前
存储技术Redis
数据库·redis·缓存
淘源码d2 小时前
医院专业级PACS系统完整源码(C+VC+MSSQL)
c语言·数据库·sqlserver·源码·pacs系统·医学影像系统
wu8587734572 小时前
向量数据库不是银弹:从枚举漏检到 ReACT 多轮召回的实践路径
前端·数据库·react.js
hsg773 小时前
简述:Jensen Huang‘s Footsteps网站全内容分析
前端·javascript·数据库
yuezhilangniao3 小时前
MySQL 8.0.32 二进制安装脚本 和初始化 操作系统版本rocky86
数据库·mysql·adb
Trouvaille ~3 小时前
【Redis篇】Redis 主从复制:数据同步的原理与实现
数据库·redis·缓存·中间件·高可用·主从复制·后端开发