数据库复习(第五版)- 第四章 数据库安全性
定义:
数据库的安全性是指保护数据库防止出现不合法使用所造成的数据泄露、数据更改和数据破坏。
方法:
1、用户身份鉴别
2、存取控制
存取控制子系统:定义用户权限、合法权限检查
自主存取控制:
授权
grant 权限列表
on 对象类型 对象名
to 用户
[with grant option] //
全部权限:all privileges
with grant option允许将相关权限在授予他人
public:对全部用户授权。
收回权限:
revoke 权限列表
on 对象类型 对象名
from 用户
cascade | restrict
restrict只收回直接或间接获得的权限,不收回其他用户的权限。
用户和角色的创建与授权。
强制存取控制
密级类型:绝密(TS)、机密(S)、可信(C)、公开(P)
规则:
主体的密级大于等于客体的密级时,该主体才能读取相应的客体。
主体的密级小于等于客体的密级时,该主题才能写入相应的客体。
3、视图机制
将保密的数据对无权存取的用户隐藏起来。
4、审计
将用户对数据库的所有操作自动记录下来放入审计日志,审计员通过分析日志中的各种行为,重现一系列事件,找出非法存取数据的人、时间和内容等。
audit和noaudit
audit update,alter
on sc
noaudit update,alter
on sc
5、数据加密
存储加密
数据写入磁盘时进行加密,读取数据时进行解密。
传输加密
链路层加密(报头和报文均加密)和端到端加密(只对报文加密)
SSL端到端加密过程:建立连接、检查双方是否可信、协商加密算法和密钥、进行加密传输、关闭连接。