CQLシェルの起動時のKerberos認証情報の提供
Kerberos対応クラスターに対してcqlsh
を実行します。
Kerberos対応クラスターに対してcqlsh
を実行するようにcqlshrcをセットアップします。
cqlshrc.sample.ssl
cqlshrc.sample.sslファイルのデフォルトの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cqlshrc.sample.ssl |
tarボール・インストール | installation_location/resources/cassandra/conf/cqlshrc.sample.ssl |
cqlshrc.sample.kerberos
cqlshrc.sample.kerberosファイルのデフォルトの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cqlshrc.sample.kerberos |
tarボール・インストール | installation_location/resources/cassandra/conf/cqlshrc.sample.kerberos |
dse.yaml
dse.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/dse.yaml |
tarボール・インストール | installation_location/resources/dse/conf/dse.yaml |
cqlshrc.sample
cqlshrc.sampleファイルのデフォルトの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra |
tarボール・インストール | installation_location/resources/cassandra/conf |
サンプル・ファイル
DataStax Enterpriseでは次のサンプル・ファイルをご用意しています。 cqlshrc.sample:環境に合わせて変更を行ってください。
Kerberosの例
DataStax Enterpriseには、開始点として使用できるcqlshrc.sample.kerberos ファイルが用意されています。
Kerberos認証に必要な設定:
[connection]
hostname = 192.168.1.2
port = 9042
[kerberos]
service = dse ;; If not set, the default is dse
qops = auth ;; Optional, see the paragraph below
[connection] hostname
と[kerberos] service
設定は、dse.yaml構成ファイルの値と一致するか、環境変数として設定する必要があります。 - dse.yamlファイルのkerberos_optionsセクションで、service_principalを設定します。service_principalは、dse.yamlファイル、キータブ、cqlshrcファイル(service_principalがservice/hostnameに分けられている)などのあらゆる場所で整合性が保たれている必要があります。
- 環境変数(KRB_HOST、KRB_SERVICE、およびKRB_PRINCIPAL)は、dse.yamlに設定されているオプションをオーバーライドします。
環境変数KRB_SERVICEおよびQOPSは、.cqlshrcファイルのオプションをオーバーライドします。設定の読み込み順は、環境変数、.cqlshrc設定、デフォルトです。
qops
を指定しない場合に使用されます。クライアント側では、qops
オプションは接続用にクライアントが許可したQOP値のコンマ区切りリストです。 - クライアント(cqlsh)の値リストには、サーバーで指定されているQOP値が少なくとも1つ含まれている必要があります。
- クライアントには複数のQOP値を指定することができますが、サーバーに指定できるのは、dse.yaml ファイルで指定されている1つのQOP値のみです。
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
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
SSLでのKerberosの使用に関する詳細については、「CQLシェル(cqlsh)でSSLを使用する」を参照してください。
KerberosとSSLの両方を使用する場合の設定は、これらの例のKerberosセクションとSSLセクションを組み合わせたものになります。
サポートされている環境変数は、KRB_SERVICE、SSL_CERTFILE、およびSSL_VALIDATE変数です。