[英]Accessing cassandra without hardcoded username password
我有一个正在运行的现有Datastax Cassandra设置。 我们刚刚向系统添加了身份验证,现在我们可以使用AD帐户登录。 这非常好,肯定有效。 但是,应用程序需要使用硬编码的用户名/密码才能进行连接。
在SQL Server中,我们能够设置用户运行服务,然后它将连接并通过AD工作。 然而在卡桑德拉却不一样。
如果我不想在我的app.config文件中包含用户名,特别是密码,我有哪些选择?
您可以通过LDAP使用DSE(Datastax Enterprise)进行身份验证,因此身份验证阶段是使用LDAP完成的,而不是您目前使用的DSE中的内部身份验证。 请注意,此处的注释适用于DSE5.0以上版本,但您可以在4.6以后使用早期版本的DSE进行LDAP身份验证。
文档(下面的链接)涵盖了这一点。 基本步骤如下:
在cassandra.yaml
配置身份验证器以使用DSE身份验证器
authenticator: com.datastax.bdp.cassandra.auth.DseAuthenticator
在cassandra中创建内部角色,以使用CREATE ROLE
命令映射到LDAP服务器中的LDAP组
确保您需要使用的所有用户映射到相关的LDAP组(LDAP配置的一部分)
配置dse.yaml
以使LDAP服务器具有正确的设置
重新启动DSE进程以使设置生效
以下文档提供了一些很好的示例和背景信息:
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
的文档中的user_search_filter
:
使用Active Directory时将过滤器设置为
(sAMAccountName={0})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.