【发布时间】:2017-07-06 13:09:12
【问题描述】:
我正在查找有关 JanusGraph 中每个实例的数据库的信息,但找不到合适的文档。在一个实例中,主要关注数据库之间的安全边界。假设 JanusGraph 的一个实例中有 2 个数据库。是否可以配置安全性,使用户 A 只能访问 Database1,而用户 B 只能访问 Database2?如果是这样,如何处理这种安全性。
【问题讨论】:
标签: database security janusgraph
我正在查找有关 JanusGraph 中每个实例的数据库的信息,但找不到合适的文档。在一个实例中,主要关注数据库之间的安全边界。假设 JanusGraph 的一个实例中有 2 个数据库。是否可以配置安全性,使用户 A 只能访问 Database1,而用户 B 只能访问 Database2?如果是这样,如何处理这种安全性。
【问题讨论】:
标签: database security janusgraph
在今天存在的 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。