我有一个正在运行的现有Datastax Cassandra设置。我们刚刚向系统添加了身份验证,现在我们可以使用我们的AD帐户登录。这非常好,当然可以。但是,应用程序需要使用硬编码的用户名/密码才能连接。
在SQL Server中,我们能够设置用户以运行该服务的方式,然后它将连接并通过AD工作。但是在Cassandra中却不一样。
如果我不想在我的app.config文件中包括用户名,特别是密码,我有什么选择?
最佳答案
您可以通过DSE(Datastax Enterprise)通过LDAP使用身份验证,因此身份验证阶段是通过LDAP完成的,而不是您当前使用的DSE中的内部身份验证。请注意,这里我的评论适用于DSE5.0及更高版本,但您可以将LDAP auth与4.6及更高版本的DSE一起使用。
文档(下面的链接)对此进行了介绍。基本步骤如下:
cassandra.yaml
中配置您的身份验证器以使用DSE身份验证器authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator
CREATE ROLE
命令dse.yaml
配置为具有LDAP服务器正确的设置以下文档提供了一些很好的示例和背景信息:
https://docs.datastax.com/en/latest-dse/datastax_enterprise/unifiedAuth/unifiedAuthConfig.html
https://docs.datastax.com/en/latest-dse/datastax_enterprise/sec/authLdapConfig.html
注意:在配置
dse.yaml
时,请注意文档中有关user_search_filter
的注释:关于windows - 在没有硬编码的用户名密码的情况下访问cassandra,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41575900/