OpsCenterとDataStaxエージェントでクライアントとノード間の暗号化を使用したDSEへの接続

クライアントとノード間の暗号化が有効な場合にDSEに接続するためのOpsCenterとDataStaxエージェントの設定手順。

opscenterdマシンとDataStaxエージェントは、各DSEマシンに対するクライアントとして機能します。したがって、opscenterdとDataStaxエージェントは、SSLハンドシェイク処理中に独自のキーストア(証明書を提示するため)とトラストストア(DSEサーバー証明書を検証するため)を使用する必要があります。
注: 双方向認証が有効な場合、DSEはトラストストアを使用してopscenterdとDataStaxエージェントからのトラフィックを確認する必要があります。

OpsCenterとDataStaxエージェントが一方向または双方向認証を使用してクライアントとノード間の暗号化を使用するように構成するには、以下の手順に従います。

cluster_name.conf

cluster_name.confファイルの場所は、インストールのタイプによって異なります。
  • パッケージ・インストール:/etc/opscenter/clusters/cluster_name.conf
  • tarボール・インストール:install_location/conf/clusters/cluster_name.conf

始める前に

1. クライアントとノード間の暗号化
OpsCenterとDataStaxエージェントのクライアントとノード間の暗号化

手順

  1. opscenterdマシン上でキーストアを作成します。
    keytool -genkey -alias opscenter -keyalg RSA -keypass password -storepass password -keystore opscenter.jks
    このコマンドは、opscenter.jksという名前のキーストアを現在のディレクトリーに作成します。
  2. opscenterd証明書をエクスポートします。
    keytool -export -alias opscenter -storepass password -file opscenter.crt -keystore opscenter.jks
    このコマンドは、opscenter.jksに格納されているopscenter.crtという名前の証明書を現在のディレクトリにエクスポートします。
  3. opscenterdマシンにトラストストアを作成し、各ノードの公開証明書をインポートします。
    keytool -import -v -trustcacerts -alias node1 -file node1.crt -keystore truststore.jks -keypass password
    このコマンドは、node1の証明書をインポートすることによってトラストストアを作成します。各ノードの証明書を使用して、このコマンドを繰り返します。
  4. オプション: opscenterd証明書をすべてのDSEノードのトラストストアにインポートします。
    注: この手順は任意であり、DSEのクライアントとノード間の暗号化を使用する際に、双方向認証が有効になっている場合にのみ実行する必要があります。双方向認証を使用する場合、この手順をクラスターのすべてのノードで実行する必要があります。
    keytool -import -v -trustcacerts -alias opscenter -file opscenter.crt -keystore dse_truststore.jks -keypass password
    このコマンドは、opscenter.crt証明書をdse_truststore.jksという名前のトラストストアにインポート(および信頼)します。
  5. オプション: DataStaxエージェントがクライアントとノード間の暗号化に統合されたトラストストアとキーストアを使用できるように、DSE証明書をトラストストアにインポートします。ノードごとに手順を繰り返します。
    注: 6.1.1より前のバージョンのOpsCenterでは、DataStaxエージェントは1つのファイルをキーストアとトラストストアの両方に使用します。したがって、各エージェントは、DSEでクライアントとノード間の暗号化を有効にするときに作成されたものと同じトラストストアを再利用できます。追加手順は、DataStaxエージェントが監視しているノードのトラストストアに証明書を追加することだけです。
    keytool -import -alias node1 -file node1.crt -keystore dse_truststore.jks -storepass password
    このコマンドはnode1.crtをトラストストア・ファイルdse_truststore.jksにインポートします。これにより、dse_truststore.jksがトラストストアとキーストアの両方になります。すべてのDSEマシンでこのプロセスを繰り返します。
  6. OpsCenterとDataStaxエージェントがクライアントとノード間の暗号化を使用するように構成するには、以下のオプションのいずれかを選択します。
    Lifecycle Managerを使用するクラスターについてクライアントとノード間の暗号化が有効になっている場合、 ssl_truststoreおよびssl_truststore_passwordフィールドは自動的にcluster_name.conf に伝搬され、対応する値は、opscenterdおよびエージェントのssl_keystoreおよびssl_keystore_passwordとなります。LCMは、ssl_keystoreの値をssl_keystoreおよびssl_truststoreに、ssl_keystore_passwordの値をssl_keystore_passwordおよびssl_truststore_passwordに伝搬します。
    • OpsCenter Monitoring(OpsCenterモニタリング)のUIの[Edit Cluster Connection Settings]ダイアログを使用して、クライアントとノード間の設定を構成します。UIに値を入力すると、cluster_name.conf内で定義された、DSEによって使用されるKerberosサービスのユーザー名に一致する必要があります。「認証または暗号化のためのOpsCenterクラスター接続の編集」を参照してください。
    • クラスター構成ファイルcluster_name.confでオプションを直接構成します。クラスター構成ファイルを編集し、前の手順で作成したSSLキーストアとSSLトラストストアの情報を入力します。
      注: 別のストレージ・クラスターを使用する場合(推奨)、ストレージ・クラスター内のノードの証明書とDataStaxエージェント・マシンの証明書/キーを保持する追加のキーストア/トラストストアを1つ作成する必要があります。このキーストア/トラストストアのパスとパスワードは、クラスター構成ファイルの[agents]セクションに指定する必要があります。
      [cassandra]
      # Note: If the truststore and keystore are the same file, enter 
      # the same path/password
      # for both the keystore and truststore
      ssl_keystore = /path/to/keystore/file/on/opsc/machine
      ssl_keystore_password = password_of_keystore
      ssl_truststore = /path/to/truststore/file/on/opsc/machine
      ssl_truststore_password = password_of_truststore
      
      [agents]
      # The agent has separate keystore and truststore
      # Applicable to OpsCenter versions 6.1.1 and later.
      ssl_truststore = /path/to/trusted/certs 
      ssl_truststore_password = pw_for_agents_to_access_trusted_certs
      
      # Optional if using a separate storage cluster
      storage_ssl_keystore = /path/to/storage_cluster/keystore/file/on/agent/machine
      storage_ssl_keystore_password = password_of_keystore
      # Separate truststore options applicable to OpsCenter versions 6.1.1 and later 
      storage_ssl_truststore = /path/to/trusted/certs
      storage_ssl_truststore_password = pw_for_agents_to_access_trusted_certs
      
      
  7. OpsCenterを再起動します