サーバー外暗号化キーを使用した暗号化

別のサーバーに保管されている暗号化キーを使用するようにKMIP(Key Management Interoperability Protocol)暗号化を構成します。

別のサーバーに保管されている暗号化キーを使用するようにKMIP(Key Management Interoperability Protocol)暗号化を構成します。テーブル・データを暗号化する他に、構成ファイル内のパスワードやシステム・テーブル上の機密情報を任意で暗号化することもできます。
dse.yamlファイルの場所は、インストールのタイプによって異なります。
Installer-Services /etc/dse/dse.yaml
パッケージ・インストール /etc/dse/dse.yaml
Installer-No Services install_location/resources/dse/conf/dse.yaml
tarボール・インストール install_location/resources/dse/conf/dse.yaml
OpsCenterを使用して、KMIPサーバーのステータスを監視するためのアラートを構成します。

手順

  1. 1つまたは複数のKMIPキー・サーバー・グループのホスト構成を実行します。
    1. KMIPキー・マネージャーを構成し、各DataStax EnterpriseノードをKMIPキー・サーバー・グループに許可します。KMIPキー・サーバーのドキュメントを参照してください。
    2. 各DataStax Enterpriseノードでdse.yamlファイルをテキスト・エディターで開き、kmip_hostsセクションのKMIPキー・サーバー・グループを構成します。1台または複数のKMIPサーバー、キー設定、証明書を構成するオプションのグループのユーザー定義名。KMIPキー・サーバーまたはKMIPキー・サーバーのグループごとにkmip_groupnameセクションのオプションを構成します。異なるキー・サーバー構成設定を使用すると、別のキー・サーバーを使用してテーブル・データを暗号化することができ、DDL文や他の構成にキー・サーバー構成情報を入力する必要がなくなります。複数のKMIPホストがサポートされています。 を作成します。
    オプション説明
    hosts KMIPキー・サーバー用のホスト[:port]のコンマ区切りリスト。ロード・バランス機能はありません。フェイルオーバー・シナリオでは、フェイルオーバーは、リストの順番どおりに発生します。例: hosts: kmip1.yourdomain.com, kmip2.yourdomain.com
    keystore_path KMIPキー・サーバーへのDSEノードを識別するjavaキーストアのパス。例: /path/to/keystore.jks
    keystore_type キー・ストアのタイプ。デフォルト値はjksです。
    keystore_password キー・ストアにアクセスするためのパスワード。
    truststore_path DataStax EnterpriseノードへのKMIPキー・サーバーを識別するjavaトラストストアのパス。例: /path/to/truststore.jks
    truststore_type トラストストアのタイプ。デフォルト値はjksです。
    truststore_password トラストストアにアクセスするためのパスワード。
    key_cache_millis KMIPホストから読み取られる暗号化キーをローカルにキャッシュする時間(ミリ秒)。暗号化キーをキャッシュしておく時間が長ければ長いほど、KMIPキー・サーバーに送信される要求は少なくなりますが、取り消しのような変更がDataStax Enterpriseノードに伝播するのにかかる時間も長くなります。DataStax Enterpriseは同時暗号化を使用するので、複数のスレッドが、KMIPキー・サーバーからシークレット・キーを同時にフェッチします。デフォルト:300000。DataStaxでは、デフォルト値の使用を推奨します。
    timeout ソケット・タイムアウト(単位はミリ秒)。デフォルト:1000。
    以下は、VormetricおよびThalesキー・サーバーの構成設定の例です。
    kmip_hosts:  
    vormetricgroup:
    hosts:vormetric1.mydomain.com, vormetric2.mydomain.com, vormetric3.mydomain.com 
    keystore_path:pathto/kmip/keystore.jks
    keystore_type:jks
    keystore_password:password
    truststore_path:pathto/kmip/truststore.jks
    truststore_type:jks
    truststore_password:password
        
    thalesgroup:
    hosts:thales1.mydomain.com, thales2.mydomain.com
    keystore_path:pathto/kmip/keystore.jks 
    keystore_type:jks
    keystore_password:password
    truststore_path:pathto/kmip/truststore.jks 
    truststore_type:jks
    truststore_password:password
  2. 各DataStax EnterpriseノードでKMIPキー・サーバーとの通信を確認してから、ノードを再起動します。
    1. 通信の確認には、dsetoolユーティリティを使用します。
      $ dsetool managekmip list kmip_groupname
    2. DataStax EnterpriseノードとKMIPキー・サーバー間の通信が確認できたら、ノードを再起動します。各ノードでこの手順を実行します。
      DataStax Enterpriseノードは、構成されたKMIPキー・サーバーに接続できない場合は開始されません。
  3. KMIPを暗号化キー・プロバイダーとして設定し、使用します。
    1. テーブルを作成するか、既存のテーブルを変更するときに、KMIP暗号化オプションを設定します。
    2. オプション: 構成ファイル内に格納されているパスワードを暗号化ためのパスワード暗号化を構成します。dsetoolを使用して、必要なURLを次のように生成します。
      dsetool createsystemkey 'AES/ECB/PKCS5' 128 -k kmip_groupname
      テキスト・エディターでdse.yamlファイルを編集します。config_encryption_key_nameプロパティには、dsetool createsystemkeyユーティリティから返されたURLを貼り付けます。「機密プロパティ値の暗号化」を参照してください。
    3. オプション: 機密情報が格納されているシステム・テーブルを暗号化するようにシステム・テーブル暗号化を構成します。テキスト・エディターでdse.yamlファイルを編集します。次のように、system_info_encryptionセクションのkey_nameをコメント・アウトし、key_providerkmip_hostをコメント解除するか、追加します。
      system_info_encryption:   
      enabled:false
      cipher_algorithm:AES
      secret_key_strength: 128
      chunk_length_kb: 64
      #key_name:system_table_keytab
      key_provider:KmipKeyProviderFactory
      kmip_host:kmip_groupname
      key_provider: KmipKeyProviderFactoryは、KMIPキー・サーバーを指定するときにのみ使用します。