第四章 数据库安全性¶
约 1304 个字 36 行代码 预计阅读时间 5 分钟
数据库的安全性:保护数据库以防止不合法使用所造成的数据泄露、更改或破坏。
数据库管理系统(DBMS)提供的
- 安全措施:用户身份鉴别、 存取控制、视图
- 主要技术:强制存取控制、数据加密存储、加密传输、审计日志分析
安全标准¶
TCSEC/TDI
TCSEC/TDI:《可信计算机系统评估标准关于可信数据库系统的解释》( Trusted Database Interpretation 简称TDI)
安全等级划分:

CC标准
国际公认的表述信息技术安全性的结构,把信息产品的安全要求分为 安全功能要求、安全保证要求。
数据库安全性控制¶
数据库安全性主要包括:用户身份验证、多层存取控制、审计、视图、数据加密。

用户身份鉴别
常用方法:静态口令鉴别、动态口令鉴别、生物特征鉴别、智能卡鉴别
存取控制
定义用户权限,合法权限检查。
常用存取控制方法
- 自主存取控制(DAC,Discretionary Access Control):它允许用户根据自己的判断控制自己拥有的资源或数据的访问权限。
- 强制存取控制(MAC,Mandatory Access Control):访问权限由系统根据标签(如机密级别、角色等)和访问控制策略来管理。
授权:授予和回收¶
SQL通过 GRANT 语句和 REVOKE 语句实现自主存取控制。

GRANT
一般格式:
with grant option:表示该权限可以在授权给其他用户。
例句:
REVOKE
谁给出的权限,谁收回
一般格式:
- Cascade : 使得从 <用户> 发放的权限也收回
例句:
总结
授权的权限
- 数据管理员
- 拥有所有对象的所有权限
- 用户
- 拥有自己建立的对象的全部权限
- 可以使用
GRANT,把权限授予其他用户
- 被授权的用户
- 如果有
with grant option,可以继续授权给别的用户
- 如果有
- 用
REVOKE收回权限
数据库模式的权限¶
数据库管理员(DBA)在创建用户时实现对创建数据库模式的权限
- 只有系统的超级用户才有权创建一个新的数据库用户
- 新创建的数据库用户有三种权限:
CONNECT、RESOURCE和DBA - 如没有指定创建的新用户的权限,默认该用户拥有CONNECT权限。拥有CONNECT权限的用户不能创建新用户,不能创建模式,也不能创建基本表,只能登录数据库

数据库角色¶
数据库角色:被命名的一组与数据库操作相关的权限
- 角色是权限的集合
- 简化授权的过程
创建
授权
收回
强制存取控制¶
自主存取控制存在数据 “无意泄露“ 的风险,原因在于 没对数据本身进行安全保护。
实体分类
主体:是系统中的活动实体。
- 数据库管理系统所管理的实际用户
- 代表用户的各进程客体
客体:是系统中的被动实体
- 受主体操纵 文件、基本表、索引、视图
敏感度标记(Label)
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)
敏感度标记分成若干级别:绝密(Top Secret,TS),机密(Secret,S),可信(Confidential,C),公开(Public,P)。
- 主体的敏感度标记称为许可证级别(Clearance Level)
- 客体的敏感度标记称为密级(Classification Level)
规则
(1)仅当主体的许可证级别 大于或等于 客体的密级时,该主体才能 读取 相应的客体 等级高的能看等级低的
(2)仅当主体的许可证级别 小于或等于 客体的密级时,该主体才能 写 相应的客体 等级高的要隐藏好,不能自降身份
DAC+MAC 安全检查
系统首先进行自主存取控制检查,通过自主存取控制检查的数据对象,再由系统进行强制存取控制检查,只有通过强制存取控制检查的数据对象方可存取。
审计¶
审计日志:启用一个专用的审计日志,将用户对数据库的所有操作记录在上面。
审计事件:服务器时间、系统权限、语句事件、服务对象事件。
审计分类:用户级审计和系统级审计。
数据加密¶
数据加密:防止数据库中数据在存储和传输中失密的有效手段。
-
基本思想:根据一定的算法将原始数据(明文)变化为不可直接识别的格式(密文)。
-
存储加密:透明存储加密,非透明存储加密。
- 传输加密:链路加密,端到端加密。
可信传输步骤:
- 第一步:创建可信连接(CA 数字证书)
- 第二步:确认通信双方端点的可靠性
- 第三步:写上加密算法和密钥
- 第四步:可信传输数据
- 第五步:关闭可信连接
其他安全性保护:推理控制、隐蔽新到、数据隐私保护。
Last update: April 24, 2026
Discussion