【问题标题】:Can username and password be passed in connection url for cassandra可以在 cassandra 的连接 url 中传递用户名和密码吗
【发布时间】:2018-04-06 01:52:25
【问题描述】:
我想问我们是否可以在数据库连接url中传递用户名和密码
示例:
jdbc:cassandra:keyspace=keyspace1;host=host;port=port;user=user;password=password;
我正在为 apache cassandra 使用 cdata 驱动程序。
如果是,我如何通过连接 url 创建一个带有密码的用户?
不,关于 datastax 的文档对我没有帮助。
【问题讨论】:
标签:
cassandra
database-connection
cdata
【解决方案1】:
简而言之,是的。将 AuthScheme 连接属性设置为“基本”,并设置 User 和 Password 连接属性以及其他必要属性:
jdbc:cassandra:AuthSchem=BASIC;User=<username>;Password=<password>;...
@Aaron 提供了创建第一个用户的解决方案:How do you create the first user in Cassandra DB
来自online CData JDBC Driver for Cassandra help:
驱动程序支持使用登录凭据和基本身份验证
DataStax Enterprise (DSE) 的附加身份验证功能
卡桑德拉。以下部分详细介绍了您的连接属性
身份验证方法可能需要。
您需要将 AuthScheme 设置为对应的值
为您的系统配置的身份验证器。您指定
cassandra.yaml 中的验证器属性中的验证器
文件。该文件通常位于/etc/dse/cassandra。或通过
DSE Cassandra 上的 DSE Unified Authenticator。
基本身份验证
通过 Cassandra 的内置默认值支持基本身份验证
密码验证器。
- 将 AuthScheme 属性设置为“BASIC”并设置 User 和 Password 属性。
- 在 cassandra.yaml 文件中,将身份验证器属性设置为“PasswordAuthenticator”。
Kerberos 身份验证
通过 DataStax Enterprise 支持 Kerberos 身份验证
统一认证。
- 将 AuthScheme 属性设置为“KERBEROS”并设置 User 和 Password 属性。
- 设置 KerberosKDC、KerberosRealm 和 KerberosSPN 属性。
- 在 cassandra.yaml 文件中,将身份验证器属性设置为“com.datastax.bdp.cassandra.auth.DseAuthenticator”。
- 修改 dse.yaml 文件中的 authentication_options 部分,将 default_schema 和 other_schemas 属性指定为
'kerberos'。
- 修改 dse.yaml 文件中的 kerberos_options 部分,指定 keytab、service_principle、http_principle 和 qop
属性
LDAP 身份验证
通过 DataStax Enterprise Unified 支持 LDAP 身份验证
身份验证。
- 将 AuthScheme 属性设置为“LDAP”并设置用户和密码属性。
- 在 cassandra.yaml 文件中,将身份验证器属性设置为“com.datastax.bdp.cassandra.auth.DseAuthenticator”。
- 修改 dse.yaml 文件中的 authentication_options 部分,将 default_schema 和 other_schemas 属性指定为“ldap”。
- 修改 dse.yaml 文件中的 ldap_options 部分,指定 server_host、server_port、search_dn、search_password、
user_search_base 和 user_search_filter 属性
使用 PKI
您可以指定客户端证书来验证驱动程序
SSLClientCert、SSLClientCertType、SSLClientCertSubject 和 SSLClientCertPassword。