CQLシェル(cqlsh)でSSLを使用する

Kerberos、内部または外部認証、およびSSLを有効にしてクラスターへの接続を確立します。

cqlshでKerberosとSSLを使用するには、サンプル・ファイルを開始点として使用し、環境に応じて変更を加えます。

dse.yamlファイルの場所は、インストールのタイプによって異なります。

パッケージ・インストールInstaller-Servicesインストール

/etc/dse/dse.yaml

tarボール・インストールInstaller-No Servicesインストール

installation_location/resources/dse/conf/dse.yaml

サンプル・ファイル

DataStax Enterpriseには、Kerberosのみ、SSLのみ、KerberosとSSLの両方を使用する場合にそれぞれの認証の構成に役立つサンプル・ファイルと例が用意されています。

環境に合わせて変更を行ってください。

cqlshrc.sampleファイルのデフォルトの場所は、インストールのタイプによって異なります。
  • パッケージ・インストールおよびInstaller-Services:/etc/dse/cassandra
  • tarボール・インストールおよびInstaller-No Services:installation_location/resources/cassandra/conf

SSLの例

DataStax Enterpriseには、開始点として使用できるサンプルとしてcqlshrc.sample.sslファイルが用意されています。

[authentication]
username = fred
password = !!bang!!$

[connection]
hostname = 127.0.0.1
port = 9042
 
[ssl]
certfile = ~/keys/cassandra.cert
validate = false ;; Optional, true by default. See the paragraph below.    

[certfiles] ;; Optional section, overrides the default certfile in the [ssl] section.
10.209.182.160 = /etc/dse/cassandra/conf/dsenode0.cer 
10.68.65.199 = /etc/dse/cassandra/conf/dsenode1.cer
検証が有効になっている場合は、cqlshrcファイルで使用されるPEMキーを作成する必要があります。例を次に示します。
$ keytool -importkeystore -srckeystore .keystore -destkeystore user.p12 -deststoretype PKCS12 openssl pkcs12 -in user.p12 -out user.pem -nodes

証明書内のホストが接続先のマシンのホストと照合されるため、PEMキーが必要です。SSL証明書は構成ファイルまたは環境変数として提供する必要があります。環境変数(SSL_CERTFILEおよびSSL_VALIDATE)は、このファイルに設定されているオプションをすべてオーバーライドします。

KerberosおよびSSL

DataStax Enterpriseには、開始点として使用できるサンプルとしてcqlshrc.sample.kerberos_sslファイルが用意されています。

KerberosでSSLを使用する場合については、「CQLシェル(cqlsh)でSSLを使用する」を参照してください。

KerberosとSSLの両方を使用する場合の設定は、これらの例のKerberosセクションとSSLセクションを組み合わせたものになります。

サポートされている環境変数は、KRB_SERVICESSL_CERTFILE、およびSSL_VALIDATEの各変数です。

cqlsh認証のデバッグ

cqlshに関する認証問題のトラブルシューティングを行うには、--debugオプションを使用します。cqlshが実行しようとしている認証のタイプがデバッグ・ログ・メッセージに記録されるように、--debugオプションをcqlshに渡します。