数据库——自主存取控制,强制存取控制
自主存取控制
Discretionary Access Control ,简称DAC
- C2级
- 用户对不同的数据对象有不同的存取权限
- 不同的用户对同一对象也有不同的权限
- 用户还可将其拥有的存取权限转授给其他用户
自主存取控制方法
- 通过 SQL 的GRANT 语句和REVOKE 语句实现
- 用户权限组成
- 数据对象
- 操作类型
- 定义用户存取权限:定义用户可以在哪些数据库对象上进行哪些类型的操作
- 定义存取权限称为授权
强制存取控制
Mandatory Access Control ,简称 MAC
- B1级
- 每一个数据对象被标以一定的密级
- 每一个用户也被授予某一个级别的许可证
- 对于任意一个对象,只有具有合法许可证的用户才可以存取
强制存取控制方法
- 保证更高程度的安全性
- 用户不能直接感知或进行控制
- 适用于对数据有严格而固定密级分类的部门
- 军事部门
- 政府部门
- 在强制存取控制中,数据库管理系统所管理的全部实体被分为主体和客体两大类
- 主体是系统中的活动实体
- 数据库管理系统所管理的实际用户
- 代表用户的各进程
- 客体是系统中的被动实体,受主体操纵
- 文件、基本表、索引、视图
- 敏感度标记(Label)
- 对于主体和客体, DBMS 为它们每个实例(值)指派一个敏感度标记( Label)
- 敏感度标记分成若干级别
- 绝密( Top Secret TS)
- 机密( Secret S)
- 可信( Confidential C)
- 公开( Public P)
- TS>=S>=C>=P
- 主体的敏感度标记称为许可证级别( Clearance Level)
- 客体的敏感度标记称为密级( Classification Level)
强制存取控制规则
- 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体
- 仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体
- 强制存取控制( MAC )是对数据本身进行密级标记,无论数据如何复制,标记与数据是一个不可分的整体,只有符合密级标记要求的用户才可以操纵数据。
- 实现强制存取控制时要首先实现自主存取控制
- 原因:较高安全性级别提供的安全保护要包含较低级别的所有保护
- 自主存取控制与强制存取控制共同构成数据库管理系统的安全机制
题目5.什么是数据库中的自主存取控制方法和强制存取控制方法?
答:
自主存取控制方法:定义各个用户对不同数据对象的存取权限。当用户对数据库访问时首先检查用户的存取权限。防止不合法用户对数据库的存取。
强制存取控制方法:每一个数据对象被(强制地)标以一定的密级,每一个用户也被(强制地)授予某一个级别的许可证。系统规定只有具有某一许可证级别的用户才能存取某一个密级的数据对象。