你的浏览器不支持本网站所要求的功能, 现在看到的是本网站简化版本.

为了获得最佳体验, 请使用最新的Chrome, Safari, Firefox 或 Edge 浏览器.

6. 数据库保护

6.1 数据库安全性

Powered by impress.js
Ver. 2408

### 数据库安全性 - 保护数据库 - 防止不合法使用所造成的数据泄露, 更改或破坏 - 数据库安全性 - 数据库完整性
### 安全措施 - 用户身份鉴别 - 存取控制 - 视图
### 数据库的不安全因素 - 非授权用户恶意访问和破坏 - 重要或敏感数据泄露 - 脆弱的安全环境
### 非授权用户恶意访问和破坏 - 用户身份鉴别 - 存取控制 - 视图
### 重要或敏感数据泄露 - 强制存取控制 - 数据加密存储 - 加密存储
### 脆弱的安全环境 - 安全标准 - 安全性能指标
### 数据库安全性控制 - 用户: 用户标识和鉴别 - 数据库管理系统: 数据库安全保护 - 操作系统: 操作系统安全保护 - 数据库: 数据库密码存储
### 用户身份鉴别 - 静态口令鉴别 - 动态口令鉴别 - 生物特征鉴别 - 智能卡鉴别
### 存取控制 - 定义用户权限 - 登记到数据字典中 - 使用时合法权限检查
### 存取控制 - 自主存取控制 (DAC) - 强制存取控制 (MAC)
### 自主存取控制 - GRANT 语句 - REVOKE 语句
### 存取控制的对象: 模式 - 模式: CREATE SCHEMA - 基本表: CREATE TABLE, ALTER TABLE - 视图: CREATE VIEW - 索引: CREATE INDEX
### 存取控制的对象: 数据 - 基本表和视图: SELECT, INSERT, UPDATE, DELETE, REFERENCES, ALL PRIVILEGES - 属性列: SELECT, INSERT, UPDATE, REFERENCES, ALL PRIVILEGES
### 授权: GRANT GRANT <权限> [, <权限> ...] ON <对象类型> <对象名> [, <对象类型> <对象名> ...] TO <用户> [, <用户> ...] [WITH GRANT OPTION]; - 将指定操作对象的指定操作权限授予指定的用户
### GRANT 语句 - 可以由已经拥有该权限的用户发出 - 可以由 DBA 或属主发出 - WITH GRANT OPTION 子句可以将该权限再授予其他用户 - 不允许循环授权
### 例 1 GRANT SELECT ON TABLE Student TO U1; - 将对表 Student 的查询权限授予用户 U1
### 例 2 GRANT ALL PRIVILEGES ON TABLE Student, Course TO U2, U3; - 将对表 Student 和 Course 的全部操作权限授予用户 U2 和 U3
### 例 3 GRANT SELECT ON TABLE SC TO PUBLIC; - 将对表 SC 的查询权限授予所有用户
### 例 4 GRANT UPDATE (Sno), SELECT ON TABLE Student TO U4; - 将对表 Student 的查询权限和修改学生学号的权限授予用户 U4
### 例 5 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION; - 将对表 SC 的插入权限授予用户 U5 - 并允许用户 U5 将此权限再授予其他用户
### GRANT 语句 - 可以一次向一个用户授权 - 可以一次向多个用户授权 - 可以一次传播多个同类对象的权限 - 可以一次完成对不同对象的授权
### 取消授权: REVOKE REVOKE <权限> [, <权限> ...] ON <对象类型> <对象名> [, <对象类型> <对象名> ...] FROM <用户> [, <用户> ...] [CASCADE|RESTRICT];
### 例 8 REVOKE UPDATE (Sno) ON TABLE Student FROM U4; - 收回用户 U4 对修改学生学号的权限
### 例 9 REVOKE SELECT ON TABLE SC FROM PUBLIC; - 收回所有用户对表 SC 的查询权限
### 例 10 REVOKE INSERT ON TABLE SC FROM U5 CASCADE; - 收回用户 U5 对表 SC 的插入权限 - 并级联收回 U5, U6 和 U7 的权限
### 视图机制 - 限制不同用户对数据对象的访问范围 - 可以将需要保密的数据隐藏起来
### 例 14 CREATE VIEW CS_Student AS SELECT * FROM Student WHERE Sdept='CS'; GRANT SELECT ON CS_Student TO 王平; GRANT ALL PRIVILEGES ON CS_Student TO 张明; - 创建视图 CS_Student - 王平只能检索计算机系学生的信息 - 张明拥有检索和修改计算机系学生信息的所有权限
### 审计 - 将用户对数据库的所有操作自动记录到审计日志中 - 审计员可以利用审计日志监控数据库中的各种行为 - 通常比较耗费时间和空间 - 主要用于安全性要求较高的部门
### 审计事件 - 服务器事件 - 系统权限 - 语句事件 - 模式对象事件 - 用户鉴别 - 自主访问控制 - 强制访问控制
### 审计内容 - 普通用户和特权用户的行为 - 各种表操作 - 身份鉴别 - 自主和强制访问控制等操作
### 审计功能 - 基本功能 - 审计规则 - 审计分析 - 报表功能 - 审计日志管理功能
### 数据加密 - 利用特定的算法 - 将原始数据 (明文) - 转换为不可直接识别的格式 (密文)
### 数据加密 - 存储加密 - 传输加密
### 存储加密 - 透明存储加密 - 非透明存储加密
### 透明存储加密 - 在内核级别加密 - 对用户完全透明
### 传输加密 - 链路加密 - 端到端加密
### 链路加密 - 对传输数据在链路层加密 - 同时加密报头和报文
### 端到端加密 - 在发送端加密 - 在接收端解密 - 只加密报文 - 不加密报头
![course 6.1 mindmap](img/c06/mindmap-6-1.png)
### 6.1 数据库安全性 - 什么是数据库安全性? - 列举三种用户身份鉴别的方式. - GRANT 语句和 REVOKE 语句分别用于什么? - 什么是 WITH GRANT OPTION, 它有什么用途? - 视图如何帮助实现数据的安全? - 审计日志中通常记录哪些类型的事件? ---- [ 5.6 数据库的实施和维护](dbds-5-2.html#/a44) [| 练习 |](dbds-exec.html) [ 6.2 数据库完整性](dbds-6-2.html#/overview)

黑公网安备23010302001726号   黑ICP备2024033110号-1