1. RBAC(基于角色的访问控制)
- 定义:通过角色(Role)关联用户和权限,用户被赋予角色后,自动继承该角色的权限。
- 特点:
- 角色可分级(如管理员、普通员工)。
- 支持角色继承(RBAC1)、约束(RBAC2)等扩展模型。
- 适用场景:组织结构稳定、角色划分明确的系统(如ERP、OA)。
- 优点:管理简单、易于扩展。
- 缺点:动态权限调整不够灵活(如临时权限)。
2. ABAC(基于属性的访问控制)
- 定义:根据用户、资源、环境等属性动态判断权限(如时间、地理位置、部门)。
- 特点:
- 规则引擎驱动,支持复杂逻辑(例:“仅部门经理在工作日可审批”)。
- 高灵活性,常用于云原生和微服务架构。
- 适用场景:需细粒度控制的场景(如AWS策略、动态风控)。
- 优点:适应复杂需求,权限实时生效。
- 缺点:实现复杂,维护成本高。
3. ACL(访问控制列表)
- 定义:为每个资源(如文件、菜单)配置允许访问的用户/角色列表。
- 特点:
- 直接绑定资源与用户,适合简单权限分配。
- 常见于文件系统或小型系统。
- 适用场景:资源较少、用户量小的场景(如小型CMS)。
- 优点:直观易用。
- 缺点:资源增多后管理难度陡增。
4. DAC(自主访问控制)
- 定义:资源所有者自主决定其他用户的访问权限(如文件共享)。
- 特点:
- 用户对自有资源有完全控制权。
- 常见于个人协作工具(如网盘)。
- 缺点:易导致权限混乱,安全性较低。
5. MAC(强制访问控制)
- 定义:系统强制按安全等级(如机密、秘密)分配权限,用户不可自行修改。
- 适用场景:高安全要求的领域(政府、军事)。
- 优点:防止数据泄露。
- 缺点:灵活性差,管理严格。
6. PBAC(策略驱动的访问控制)
- 定义:结合RBAC和ABAC,通过策略中心集中管理权限规则。
- 适用场景:大型企业或SaaS系统(如多租户隔离)。
- 优点:集中管控,支持复杂业务逻辑。
- 缺点:需额外开发策略引擎。
选择建议
- 简单场景:选择RBAC或ACL,快速实现基础权限管理。
- 动态控制需求:采用ABAC或PBAC,适应复杂规则。
- 高安全性要求:优先MAC,辅以RBAC分级。
- 多租户系统:结合RBAC+ABAC,实现租户间数据隔离。
实际应用案例
- ERP系统:RBAC划分部门角色(财务、HR)。
- 云平台:ABAC控制资源访问(如“仅允许上海区域的ECS启动”)。
- 医疗系统:MAC确保患者数据按保密等级授权。
posted @
2025-03-24 11:36
王安丽
阅读(
138)
评论()
收藏
举报