使用图建模分层安全性

问题描述 投票:3回答:1

我正在尝试为我的文档创建访问控制列表。每个文档都需要存储哪些组具有CRUD权限,而不是在已创建的文档上创建权限。权限可能是分层的,因为文档可能没有显式权限,而是从拥有该文档的帐户继承它们。

例如,一个用户可以有很多食谱。默认情况下,用户仅允许其小组阅读食谱。考虑一下Linux样式组,其中每个用户都有自己的组。此默认值是用户个人资料的一部分。现在,对于10个配方,用户允许“公共”组读取配方。这些是配方文档本身中的明确指定。

图形在这里合适吗?我是否应该为用户提供一个顶点,为配方提供一个顶点,并且它们之间的边缘称为OWNS,我不知道?在查询中,我可以说,用伪代码,WHERE recipe.CRUD.readers包含“ public”,或配方的OWNS入站profile.recipes.CRUD.readers包含“ public”。这可行吗? Arango在这方面表现会很好吗?

我知道我可以将默认CRUD从配置文件复制到配方中。这似乎是:a)大量的内存浪费,以及b)如果系统不同步(交易是否可以在集群中的集合中工作)容易出错,以及c)由于必须对文档进行扫描和更新可能会占用大量的操作资源。

arangodb
1个回答
0
投票

尚无权发表评论,因此请在这里回答我的想法。

根据您的要求,以下模块可以直接使用,也可以让您有足够的机会设计自己的ACL子系统:

  1. NODE ACL
  2. acl-arangodb
© www.soinside.com 2019 - 2024. All rights reserved.