访问控制模型
一、RBAC
(Role-Based Access Control)
二、ABAC
(Attribute-Based Access Control)
三、DAC
(Discretionary Access Control)
四、MAC
(Mandatory Access Control)
五、对比总结
1、基础信息对比
模型 | 全称 | 核心概念 | 适用场景 |
---|---|---|---|
RBAC | 基于角色的访问控制 | 用户通过角色获取权限 | 企业系统、部门权限管理 |
ABAC | 基于属性的访问控制 | 基于属性动态判断权限 | 云计算、零信任架构 |
DAC | 自主访问控制 | 资源所有者决定权限 | 文件共享、小型系统 |
MAC | 强制访问控制 | 系统强制定义访问规则 | 军事系统、高安全场景 |
2、优缺点对比
模型 | 优点 | 缺点 |
---|---|---|
RBAC | 管理简单、易审计、适合大规模用户 | 灵活性一般,动态调整不便 |
ABAC | 灵活性强、支持复杂策略 | 实现复杂、成本高 |
DAC | 灵活、自主授权 | 安全性低、权限易失控 |
MAC | 安全性高、防止权限泄露 | 管理严格、操作灵活性差 |
六、关键对比
RBAC vs ABAC
- RBAC 适用于固定角色和权限结构(如企业部门权限)。
- ABAC 适用于动态权限需求(如云服务、IoT设备访问)。
RBAC vs DAC
- RBAC 由管理员统一管理,更安全。
- DAC 允许用户自主授权,灵活性高但安全性低。
RBAC vs MAC
- RBAC 适用于商业系统,灵活性较高。
- MAC 适用于高安全级别系统(如政府、军事),权限严格受限。
七、如何选择?
- 需要简单、可管理的权限体系 → RBAC
- 需要动态、细粒度的权限控制 → ABAC
- 需要高安全性,防止权限扩散 → MAC
- 需要用户自主管理权限 → DAC
RBAC 是最广泛使用的模型,但现代系统(如云平台)越来越多地采用 RBAC + ABAC 混合模式 以提高灵活性。