基于关系的访问控制

在计算机系统安全领域,基于关系的访问控制 (ReBAC)定义了一种授权范式,其中主体访问资源的权限由这些主体与资源之间存在的关系来定义。

通常,ReBAC 中的授权是通过遍历关系有向图来执行的。该图的节点和边与资源描述框架 (RDF)数据格式中的三元组非常相似。[1] ReBAC 系统允许存在关系层次结构,一些系统还允许定义更复杂的关系,包括关系上的代数运算符,例如并集、交集和差集。[2]

ReBAC 随着社交网络应用的兴起而流行起来,在这些应用中,用户需要根据他们与数据接收者之间的关系,而不是接收者的角色,来控制他们的个人信息。[3]使用 ReBAC 可以为团队和群体统一定义权限,从而消除了为每个资源单独设置权限的需要。[4]

基于角色的访问控制 (RBAC)相比,RBAC 定义了带有特定特权集的角色,并将这些角色分配给主体,[5] ReBAC (与 ABAC [6]类似) 允许定义更细粒度的权限。[5]例如,如果 ReBAC 系统定义了文档(document)类型的资源,该资源可以允许一个操作编辑者(editor) ,如果系统包含了关系('alice', 'editor', 'document:budget') ,那么主体Alice就可以编辑特定的资源document:budget 。 ReBAC 的缺点是,因为它允许更细粒度的访问,这也就意味着应用程序可能需要执行更多的授权检查。

ReBAC 系统采取默认拒绝的策略,并且可以在它们之上构建 RBAC 系统。[2]

历史

ReBAC 这个术语由 Carrie E. Gates 于 2006 年提出。[3]

2019 年,谷歌发表了一篇论文,介绍了“桑给巴尔:谷歌的一致性全球授权系统”。[2]论文定义了一个系统,该系统由命名空间配置和表示为三元组的关系数据组成。

自该论文发表以来,已经有多家公司开发出了商业和开源的 ReBAC 系统产品。

参见

实现

参考

  1. ^ RDF 1.1 Primer: Triples. www.w3.org. [2022-07-07]. 
  2. ^ 2.0 2.1 2.2 2.3 Pang, Ruoming; Caceres, Ramon; Burrows, Mike; Chen, Zhifeng; Dave, Pratik; Germer, Nathan; Golynski, Alexander; Graney, Kevin; Kang, Nina; Kissner, Lea; Korn, Jeffrey L. Zanzibar: Google's Consistent, Global Authorization System. 2019 USENIX Annual Technical Conference (USENIX ATC '19) (Renton, WA). 2019. 
  3. ^ 3.0 3.1 Gates, Carrie. Access control requirements for web 2.0 security and privacy. IEEE Web. 2007, 2: 12–15. 
  4. ^ What is Relationship-Based Access Control. www.permit.io/blog/. 
  5. ^ 5.0 5.1 Authorization - OWASP Cheat Sheet Series. cheatsheetseries.owasp.org. [2022-06-21]. 
  6. ^ Hu, Vincent C.; Ferraiolo, David; Kuhn, Rick; Schnitzer, Adam; Sandlin, Kenneth; Miller, Robert; Scarfone, Karen. Guide to Attribute Based Access Control (ABAC) Definition and Considerations. NIST. January 2014 [2022-07-07]. doi:10.6028/nist.sp.800-162. 
  7. ^ SpiceDB GitHub. GitHub. 24 November 2021 [2023-11-16]. 
  8. ^ Topaz GitHub repo. GitHub. 24 October 2022. 

外部链接