《数据库系统概论》 第四章 数据库安全性
4.2 数据库安全性控制
4.2.2 存取控制
- 定义用户权限,并将用户权限登记到数据字典中
-
合法权限检查
存取控制子系统的两类方法:
- 自主存取控制(DAC)
- 强制存取控制(MAC)
4.2.3 自主存取控制方法
用户权限由两个要素组成:数据库对象、操作类型
定义存取权限称为授权
SQL中使用GRANT和REVOKE向用户授予或收回权限。子句WITH GRANT OPTION赋予了用户传播权限,但不允许循环授权。REVOKE提供了级联选项,收回传播出去的权限。这样的用户决定数据存取权限的做法称为自主存取控制。
创建数据库模式的权限只有超级用户(DA)有,分为CONNECT,RESOURCE和DBA三种。
4.2.5 数据库角色
数据库角色是一组权限的集合,可以简化授权过程,使自主授权更加灵活方便
缺点:数据本身并无安全性标记
4.2.6 强制存取控制方法
- 主体:用户
-
客体:数据
强制存取控制是对数据本身进行密级标记,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据。
4.3 视图机制
为不同的用户定义不同的视图,把数据对象限制在一定的范围内,从而自动对数据提供一定程度的安全保护。
4.4 审计
审计事件:
- 服务器事件:服务器的启动停止、配置文件的重新加载
- 系统权限: 对系统拥有的结构或模式对象进行操作的审计,要求该操作的权限是通过系统权限获得的。
- 语句事件
- 模式对象事件
审计功能:
- 基本功能
- 多套审计规则
- 审计分析和报表功能
- 审计日志管理功能
- 查询审计设置和审计记录信息的专门视图
4.5 数据加密
存储加密
- 透明存储加密:写到磁盘时对数据进行加密
- 非透明存储加密:通过多个加密函数实现
传输加密:链路加密和端对端加密等
4.6 统计数据安全性
- 推理控制:利用函数依赖关系,如平均值和控制其中一个变量可以得出具体的数值
- 隐蔽信道
- 数据隐私:控制不愿被他人知道或他人不便知道的个人数据的能力