別のサーバーに保管されている暗号化キーを使用するように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つまたは複数のKMIPキー・サーバー・グループのホスト構成を実行します。
-
KMIPキー・マネージャーを構成し、各DataStax EnterpriseノードをKMIPキー・サーバー・グループに許可します。KMIPキー・サーバーのドキュメントを参照してください。
-
各DataStax Enterpriseノードでファイルをテキスト・エディターで開き、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
-
各DataStax EnterpriseノードでKMIPキー・サーバーとの通信を確認してから、ノードを再起動します。
-
通信の確認には、dsetoolユーティリティを使用します。
$ dsetool managekmip list kmip_groupname
-
DataStax EnterpriseノードとKMIPキー・サーバー間の通信が確認できたら、ノードを再起動します。各ノードでこの手順を実行します。
DataStax Enterpriseノードは、構成されたKMIPキー・サーバーに接続できない場合は開始されません。
-
KMIPを暗号化キー・プロバイダーとして設定し、使用します。
-
テーブルを作成するか、既存のテーブルを変更するときに、KMIP暗号化オプションを設定します。
- オプション:
構成ファイル内に格納されているパスワードを暗号化ためのパスワード暗号化を構成します。
dsetool
を使用して、必要なURLを次のように生成します。
dsetool createsystemkey 'AES/ECB/PKCS5' 128 -k kmip_groupname
テキスト・エディターでファイルを編集します。
config_encryption_key_nameプロパティには、
dsetool createsystemkey
ユーティリティから返されたURLを貼り付けます。「
機密プロパティ値の暗号化」を参照してください。
- オプション:
機密情報が格納されているシステム・テーブルを暗号化するようにシステム・テーブル暗号化を構成します。テキスト・エディターでファイルを編集します。次のように、system_info_encryptionセクションのkey_nameをコメント・アウトし、key_providerとkmip_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キー・サーバーを指定するときにのみ使用します。