ReBAC:兼容DDD的下一代授权模型
💡
原文中文,约2500字,阅读约需6分钟。
📝
内容提要
ReBAC是一种基于关系的访问控制模型,具有更高的表现力和灵活性,能够精确管理用户权限。它通过定义参与者与资源之间的关系实现授权,支持细粒度控制,集中管理授权,快速应对安全漏洞。该模型源于Carrie Gates博士的研究,并被谷歌的Zanzibar系统采用。
🎯
关键要点
- ReBAC是一种基于关系的访问控制模型,具有更高的表现力、细粒度和灵活性。
- ReBAC通过定义参与者与资源之间的关系来管理用户权限,支持精确的授权。
- Agicap选择ReBAC以提高安全性,避免重复造轮子。
- ReBAC的特点包括灵活性、领域驱动和集中化的授权管理。
- 权限和角色定义中,'权限'和'授权'视为同义词,角色是权限的分组。
- ReBAC的表现力源于基于关系的元组定义,允许无限的灵活性。
- ReBAC的简单性使得授权管理与业务领域直接相关,避免了技术性术语的阻抗失配。
- ReBAC允许非常精细和精确的授权,尽管可能需要更多的授权检查。
- ReBAC可以构建基于角色的系统(RBAC),并且是实现RBAC的最佳方式。
- ReBAC的强大语法支持对关系的分层和代数运算,建立复杂模型。
- ReBAC实现集中化,能够快速应对授权撤销和规则更改。
- ReBAC遵循'执行最小权限'和'默认拒绝'原则,默认不授予访问权限。
- ReBAC的概念源于Carrie Gates博士的研究,并被谷歌的Zanzibar系统采用。
- ReBAC之前的授权模式包括RBAC和ABAC,RBAC的细粒度精度有限,ABAC则更复杂。
- SpiceDB是基于Google Zanzibar论文的分布式权限数据库,支持ABAC。
- 集中授权逻辑可以提高交付速度,简化审核和降低运营成本。
➡️