热门问题
时间线
聊天
视角

基于关系的访问控制

来自维基百科,自由的百科全书

Remove ads

在计算机系统安全领域,基于关系的访问控制 (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]

Remove ads

历史

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

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

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

参见

实现

  • Zanzibar[2]
  • SpiceDB [7]
  • 3Edges
  • OpenFGA
  • Aserto
  • Permit.io
  • Topaz[8]

参考

外部链接

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads