DSE 4.7中的Cassandra外部认证

3

我们正在尝试在DSE 4.7上实现对Cassandra的外部认证。按照一些指南,我们需要扩展IAuthenticator类,但在这之后,如何集成文档较少。

它更像是“即插即用”,我们扩展IAuthenticator类构建一个jar文件并将其放置在lib(/usr/share/dse/resources/cassandra/lib)中,然后相应地更改yaml文件,还是从Github获取源代码并构建整个树,然后使用?

        If so is Datastax's Cassandra available on Github?

我们需要在DSE 4.7中构建除LDAP和Kerberos以外的外部认证,需要做什么?

你只是想要与LDAP或Kerberos集成吗?如果是这样,DSE已经在开箱即用中实现了这一点,你不需要编写任何自定义代码。http://docs.datastax.com/en/datastax_enterprise/4.7//datastax_enterprise/sec/secTOC.html - phact
1
不行,我正在尝试使用OpenAM进行身份验证。 - Santosh B
知道了,谢谢。请看下面我的回答。 - phact
2个回答

2
将IAuthenticator类扩展构建为jar文件并放置在lib(/usr/share/dse/resources/cassandra/lib)中,然后相应地更改yaml文件。是的,这是正确的方法。
Datastax的Cassandra在Github上可用吗?不完全是。您可以在发布说明中查看随DSE一起提供的c*版本,在apache/cassandra github中检查源代码,并且它将匹配(直到但不包括构建编号)。在DSE下的确切c*版本将具有来自未来版本的一些关键补丁,而该确切的源代码不可用。但是,apache/cassandra中的点发布对于所有目的都足够好。例如,对于4.7.1,请参阅https://github.com/apache/cassandra/tree/cassandra-2.1.8。

已进行相同的操作并修改了 requireAuthentication() 方法以返回 true,同时已修改了 AuthenticatedUser authenticate 方法以抛出 AuthenticationException。但是不知何故,在登录到 cqlsh 时未捕获异常,而且一切都正常运行…理论上不应该允许登录到 cqlsh 并查询 Cassandra… - Santosh B
2
@SantoshB 在2.1.8版本中,cqlsh使用本地协议,因此您需要实现一个ISaslAwareAuthenticator。请查看PasswordAuthenticator。 - mikea

0

正如 @Mikea 所提到的,我们需要覆盖 ISaslAwareAuthenticator,并且在使用 DSE 中的 Cassandra 时,需要非常确定 Cassandra 版本,然后深入适当的 Github 存储库。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接