1. ABAC 模型的核心概念
ABAC 是一种动态、灵活的访问控制模型,它通过对用户属性、资源属性、环境属性和操作的组合应用策略,来决定是否允许访问。
关键要素
- 主体(Subject) :请求访问资源的实体,通常是用户或进程,具有属性(如角色、部门、身份)。
- 资源(Resource) :被访问的目标对象,具有属性(如类型、敏感等级)。
- 环境(Environment) :访问时的上下文条件,具有属性(如时间、地点、设备类型)。
- 操作(Action) :执行的具体操作(如读取、写入、删除)。
策略规则
基于布尔逻辑表达式,定义了哪些组合的属性允许或拒绝访问。
例如:
如果用户部门为“财务部” 且 资源类型为“财务报告” 且 访问时间为“工作时间”,则允许访问。
2. ABAC的应用模式
(1)细粒度控制
- 可根据个体特定属性(如用户的年龄、资历)实现精细化管理。
- 适用于需要高度动态和特定条件的场景,如敏感数据的访问控制。
(2)基于环境的访问控制
- 根据上下文信息(如用户的地理位置、设备类型、当前时间)决定是否允许访问。
- 例如,允许员工在公司网络内访问,而拒绝公共WiFi的访问请求。
(3)动态授权
- 不依赖固定的角色或用户分组,而是通过实时计算规则决定权限。
- 适用于频繁变化的环境,例如远程办公环境。
(4)跨系统的统一权限管理
- 通过统一的属性定义和策略规则,可以跨多个系统实现一致的权限管理。
- 适用于企业内部多平台、多系统的统一安全管理需求。
ABAC vs RBAC
- RBAC(基于角色的访问控制) :通过角色与权限的绑定实现控制,适用于静态或中小型权限管理场景。
- ABAC:更加灵活,可支持更复杂的场景,适合动态授权需求。
| 对比维度 | RBAC | ABAC |
|---|---|---|
| 灵活性 | 依赖角色,调整困难 | 动态调整,灵活性高 |
| 应用复杂性 | 简单易用,规则清晰 | 实现复杂,需精细配置策略 |
| 适用场景 | 结构化、规则较少变化的系统 | 动态、复杂条件多的环境 |
ABAC vs MAC
- MAC(强制访问控制) :通过预定义的安全策略和固定规则强制执行控制,适用于高度敏感的安全系统。
- ABAC:可在保持动态和灵活性的同时实现安全策略。