三、视图机制
为不同用户定义不同的视图,把数据对象限制在一定范围。
[例4.14建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明
先建立计算机系学生的视图CS_Student
CREATE VIEW CS_Student
AS
SELECT *
FROM Student
WHERE Sdept='CS';
在视图上进一步定义存取权限
GRANT SELECT
ON CS_Student
TO 王平;
GRANT ALL PRIVILIGES
ON CS_Student
TO 张明;
三、审计
一、什么是审计n启用一个专用的审计日志(Audit Log)
将用户对数据库的所有操作记录在上面
(一)审计员利用审计日志
监控数据库中的各种行为,找出非法存取数据的人、时间和内容
(二)C2以上安全级别的DBMS必须具有审计功能
二、审计功能的可选性
(一)审计很费时间和空间
(二)DBA可以根据应用对安全性的要求,灵活地打开或关闭审计功能
(三)审计功能主要用于安全性要求较高的部门
1.审计事件
n服务器事件
l审计数据库服务器发生的事件
n系统权限
l对系统拥有的结构或模式对象进行操作的审计
l要求该操作的权限是通过系统权限获得的
n语句事件
l对SQL语句,如DDL、DML、DQL及DCL语句的审计
n模式对象事件对特定模式对象上进行的SELECT或DML操作的审计
2.审计功能
n基本功能
l提供多种审计查阅方式提供多种审计查阅方式
n多套审计规则:一般在初始化设定
n提供审计分析和报表功能
n审计日志管理功能
l防止审计员误删审计记录,审计日志必须先转储后删除
l对转储的审计记录文件提供完整性和保密性保护
l只允许审计员查阅和转储审计记录,不允许任何用户新增和修改审计记录等
n提供查询审计设置及审计记录信息的专门视图
3. AUDIT语句和NOAUDIT语句
nAUDIT语句:设置审计功能
nNOAUDIT语句:取消审计功能
三、用户级审计
n任何用户可设置的审计
n主要是用户针对自己创建的数据库表和视图进行审计
四、系统级审计
n只能由数据库管理员设置
n监测成功或失败的登录要求、监测授权和收回操作以及其他数据库级权限下的操作
[例4.15 对修改SC表结构或修改SC表数据的操作进行审计
AUDIT ALTER,UPDATE
ON SC;
[例4.16 取消对SC表的一切审计
NOAUDIT ALTER,UPDATE
ON SC;
五、加密
一、数据加密
n防止数据库中数据在存储和传输中失密的有效手段
二、加密的基本思想
n根据一定的算法将原始数据—明文(Plain text)变换为不可直接识别的格式—密文(Cipher text)
三、加密方法
n存储加密
n传输加密
四、存储加密
n透明存储加密
l内核级加密保护方式,对用户完全透明
l将数据在写到磁盘时对数据进行加密,授权用户读取数据时再对其进行解密
l数据库的应用程序不需要做任何修改,只需在创建表语句中说明需加密的字段即可
内核级加密方法: 性能较好,安全完备性较高
n非透明存储加密
l通过多个加密函数实现
五、传输加密
n链路加密
l在链路层进行加密
l传输信息由报头和报文两部分组成
l报文和报头均加密
n端到端加密
l在发送端加密,接收端解密
l只加密报文不加密报头
l所需密码设备数量相对较少,容易被非法监听者发现并从中获取敏感信息

基于安全套接层协议SSL传输方案的实现思路:
(1)确认通信双方端点的可靠性
l采用基于数字证书的服务器和客户端认证方式
l通信时均首先向对方提供己方证书,然后使用本地的CA 信任列表和证书撤销列表对接收到的对方证书进行验证
(2)协商加密算法和密钥
l确认双方端点的可靠性后,通信双方协商本次会话的加密算法与密钥
(3)可信数据传输
l业务数据在被发送之前将被用某一组特定的密钥进行加密和消息摘要计算,以密文形式在网
络上传输
l当业务数据被接收的时候,需用相同一组特定的密钥进行解密和摘要计算
一、理解并解释MAC机制中主体、客体、敏感度标记的含义。
二、什么是数据库的审计功能,为什么要提供审计功能。
三、举例说明强制存取控制机制是如何确定主体能否存取客体。
四、数据库安全技术包括哪些?
五、数据库角色实际上是一组与数据库操作相关的各种______。
六、SQL的GRANT和REVOKE语句可以用来实现______。
A.自主存取控制 B.强制存取控制
C.数据库角色创建 D.数据库审计