权限管理的ABAC与RBAC 概念理解

153 阅读2分钟

1. ABAC 模型的核心概念

ABAC 是一种动态、灵活的访问控制模型,它通过对用户属性资源属性环境属性操作的组合应用策略,来决定是否允许访问。

关键要素

  • 主体(Subject) :请求访问资源的实体,通常是用户或进程,具有属性(如角色、部门、身份)。
  • 资源(Resource) :被访问的目标对象,具有属性(如类型、敏感等级)。
  • 环境(Environment) :访问时的上下文条件,具有属性(如时间、地点、设备类型)。
  • 操作(Action) :执行的具体操作(如读取、写入、删除)。

策略规则

基于布尔逻辑表达式,定义了哪些组合的属性允许或拒绝访问。

例如:

如果用户部门为“财务部” 且 资源类型为“财务报告” 且 访问时间为“工作时间”,则允许访问。

2. ABAC的应用模式

(1)细粒度控制

  • 可根据个体特定属性(如用户的年龄、资历)实现精细化管理。
  • 适用于需要高度动态和特定条件的场景,如敏感数据的访问控制。

(2)基于环境的访问控制

  • 根据上下文信息(如用户的地理位置、设备类型、当前时间)决定是否允许访问。
  • 例如,允许员工在公司网络内访问,而拒绝公共WiFi的访问请求。

(3)动态授权

  • 不依赖固定的角色或用户分组,而是通过实时计算规则决定权限。
  • 适用于频繁变化的环境,例如远程办公环境。

(4)跨系统的统一权限管理

  • 通过统一的属性定义和策略规则,可以跨多个系统实现一致的权限管理。
  • 适用于企业内部多平台、多系统的统一安全管理需求。

ABAC vs RBAC

  • RBAC(基于角色的访问控制) :通过角色与权限的绑定实现控制,适用于静态或中小型权限管理场景。
  • ABAC:更加灵活,可支持更复杂的场景,适合动态授权需求。
对比维度RBACABAC
灵活性依赖角色,调整困难动态调整,灵活性高
应用复杂性简单易用,规则清晰实现复杂,需精细配置策略
适用场景结构化、规则较少变化的系统动态、复杂条件多的环境

ABAC vs MAC

  • MAC(强制访问控制) :通过预定义的安全策略和固定规则强制执行控制,适用于高度敏感的安全系统。
  • ABAC:可在保持动态和灵活性的同时实现安全策略。