0

我正在 JanusGraph 中查找有关每个实例的数据库的信息,但找不到合适的文档。在一个实例中,主要关注数据库之间的安全边界。假设 JanusGraph 的一个实例中有 2 个数据库。是否可以配置安全性,使用户 A 只能访问 Database1,而用户 B 只能访问 Database2?如果是这样,如何处理这种安全性。

4

1 回答 1

3

在今天存在的 JanusGraph 中,“数据库”将是一个单独的 Graph,每个都必须在服务器启动时定义和实例化。JanusGraph 遵循 TinkerPop 规范,因此它与 Gremlin 服务器一起运行,该服务器带有自己的身份验证器:http://tinkerpop.apache.org/docs/current/reference/#_security_and_execution

开箱即用的身份验证器仅对服务器级访问进行身份验证。但是,随着这个 PR 被合并到 TinkerPop:https ://github.com/apache/tinkerpop/pull/583 ,您可以编写一个考虑到图形级别访问的自定义身份验证方案。

另请注意,此 PR:https ://github.com/JanusGraph/janusgraph/pull/392目前在 JanusGraph 存储库中打开,这将允许动态实例化/创建图形,即“数据库”(服务器启动后) . 如果您最终实现了一个考虑到图形级别访问的自定义身份验证方案,请查看那里的 GraphManager 类,如果您这样做了,您应该将您的更改上游提交到 OSS。

于 2017-07-06T13:58:58.977 回答