4.2.6 强制存取控制方法
自主存取控制可能存在数据的“无意泄露”,因这种机制仅仅通过对数据的存取权限来进行安全控制,而数据本身并无安全性标记,故我们可以对系统控制下的所有主客体实施强制存取控制策略
强制存取控制(MAC)作用:
1.保证更高程度的安全性
2.用户不能直接感知或进行控制
3.适用于对数据有严格而固定密级分类的部门(军事部门、政府部门)
在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类。
①主体是系统中的活动实体,数据库管理系统所管理的实际用户
②客体是系统中的被动实体,文件、基本表、索引、视图
敏感度标记(Label)
对于主体和客体,DBMS为它们每个实例(值)指派一个敏感度标记(Label)
敏感度标记分成若干级别
绝密(Top Secret,TS)
机密(Secret,S)
可信(Confidential,C)
公开(Public,P)
TS>=S>=C>=P
主体的敏感度标记称为许可证级别(Clearance Level)
客体的敏感度标记称为密级(Classification Level)
强制存取控制规则
(1)仅当主体的许可证级别大于或等于客体的密级时,该主体才能读相应的客体
(2)仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
简单记作:向下读;向上写
4.3 视图机制
把要保密的数据 对无权存取这些数据的用户隐藏起来,对数据提供一定程度的安全保护 。
例4.14建立计算机系学生的视图,把对该视图的SELECT权限授于王平,把该视图上的所有操作权限授于张明
先建立计算机系学生的视图CS_Student
CREATE VIEW CS_Student
AS
SELECT *
FROM Student
WHERE Sdept='CS';
授予权限
GRANT SELECT
ON CS_Student
TO 王平;
GRANT ALL PRIVILEGES
ON CS_Student
TO 张明;
4.4 审计
什么是审计
审计日志(Audit Log)将用户对数据库的所有操作记录在上面
审计员利用审计日志①监控数据库中的各种行为②找出非法存取数据的人、时间和内容。
审计功能的可选性
审计很费时间和空间,DBA可以根据具体应用打开或关闭审计功能。审计功能主要用于安全性要求较高的部门。
AUDIT语句和NOAUDIT语句
AUDIT语句用来设置审计功能 ,NOAUDIT语句则取消审计功能。
例4.15对修改SC表结构或修改SC表数据的操作进行审计
AUDIT ALTER,UPDATE
ON SC;
例4.16取消对SC表的一切审计
NOAUDIT ALTER,UPDATE
ON SC;