我想问一下我们是否可以在数据库连接URL中传递用户名和密码 例如:
jdbc:cassandra:keyspace=keyspace1;host=host;port=port;user=user;password=password;
我正在使用cdata驱动程序来处理apache cassandra。 如果是,我如何通过连接URL创建一个具有密码的用户? 不,数据存储的文档并没有帮助我。
答案 0 :(得分:0)
简而言之,是的。将 AuthScheme 连接属性设置为“基本”并设置用户和密码连接属性,以及其他必要属性:
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中authenticator属性中的authenticator 文件。此文件通常位于
/etc/dse/cassandra
中。或通过 DSE Cassandra上的DSE统一认证器。基本身份验证
Cassandra的内置默认支持基本身份验证 PasswordAuthenticator。
- 将AuthScheme属性设置为“BASIC”并设置用户和密码属性。
- 在cassandra.yaml文件中,将authenticator属性设置为“PasswordAuthenticator”。
Kerberos身份验证
DataStax Enterprise支持Kerberos身份验证 统一认证。
- 将 AuthScheme 属性设置为“KERBEROS”并设置用户和密码属性。
- 设置KerberosKDC,KerberosRealm和KerberosSPN属性。
- 在cassandra.yaml文件中,将authenticator属性设置为“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文件中,将authenticator属性设置为“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 。