【发布时间】:2018-07-10 09:19:26
【问题描述】:
我想对集群的所有节点实施身份验证(客户端和服务器应提供用户名和密码才能加入集群)。我尝试使用文档声称提供身份验证的最新版本,但它并没有为所有节点实现它;它仅适用于新的瘦 Java 客户端。
第一个问题:我的理解是否正确,还是我遗漏了什么?
我还尝试使用 GridSecurityProcessor 接口实现所有节点的身份验证,作为自定义插件的一部分(通过遵循本指南 http://smartkey.co.uk/development/securing-an-apache-ignite-cluster/ 和公共邮件列表上的其他讨论)。
我让服务器节点能够识别插件,但我无法将我的 SecurityCredentialsProvider 实现连接到 Ignite;似乎 Ignite 不使用它。问题与此类似:http://apache-ignite-users.70518.x6.nabble.com/Custom-SecurityCredentialsProvider-and-SecurityCredentials-td16360.html。
因此,当调用 GridSecurityProcessor.authenticateNode(ClusterNode node, SecurityCredentials cred) 时, cred 为空。
第二个问题:如何将 SecurityCredentialsProvider 和 SecurityCredentials 连接到 Ignite,以便它使用这些凭据从我的插件中调用 authorizeNode 方法?
【问题讨论】:
-
您是否考虑过使用 SSL + 签名证书进行服务器-服务器对等身份验证?
-
用户列表上似乎有第二个问题的答案:apache-ignite-users.70518.x6.nabble.com/…
-
@alamar 感谢您的回复。我不想使用 ssl,即使我想要,它也不能解决身份验证问题,它只是提供加密通信。所以不是Ignite节点认证的解决方案。
-
当然 SSL 提供身份验证,这是使用 SSL 的主要原因。通常情况下,TLS 连接的两端会相互验证。
-
@alamar,我不明白你在说什么。正如我所说,我不需要 ssl,但我想明白你的意思。您能否提供有关如何在具有多个 ignite 节点(客户端和服务器)的场景中使用 ssl 实现节点身份验证的更多信息?谢谢。
标签: ignite