背景
数据库系统为了保证数据的安全,防止对数据的非法操作和访问,设置了两种存取控制方法:自主存取控制方法&强制存取控制方法。
· 自主存取控制方法:
用户对于不同的数据库对象有不同的存取权限;
不同的用户对同一对象也有不同的权限;
而且用户还可将其拥有的存取权限授予其它用户。
当用户对数据库访问时首先检查用户的存取权限,防止不合法用户对数据库的存取。
总的来说,用户可以“自主地决定将数据的存取权限授予何人、决定是否也将’授权’的权限授予他人”。
使用grant和revoke语句实现。
· 强制存取控制方法:
每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可。
系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。
强制存取控制
强制存取控制把系统分成【主体】和【客体】两部分。
主体:用户(进程)
客体:数据
主体访问客体有条件约束,条件建立在敏感度基础上。
常见的敏感度:
- 绝密(Top Secret)
- 机密(Secret)
- 可信(Confidential)
- 公开(Public)
主体和客体都有敏感度标记,但叫法不同。主体的敏感度标记称为许可证级别
,客体的称为密级
,也就是说许可证级别和密级本质上