KMIPキー・サーバーから提供されるキーを使用してテーブル・データを暗号化する方法。
透過的なデータ暗号化(TDE)をテーブルごと、またはクラスター全体ごとに指定します。暗号化を使用すると、アプリケーションは異なる暗号化アルゴリズムを使用するSSTableの読み取り/書き込みや、暗号化を一切使用しないSSTableの読み取り/書き込みを行うことができます。データを暗号化するには、スーパーユーザーとしてログインする必要があります。例:
cqlsh -u cassandra -p cassandra
手順
-
KMIPキー・サーバーから提供されるキーを使用して、圧縮なしでテーブル・データを暗号化するには、以下のようにします。
CREATE TABLE customers
...
WITH COMPRESSION =
{ 'sstable_compression' :'Encryptor',
'key_provider':'KmipKeyProviderFactory',
'kmip_host':'kmip_group1',
'cipher_algorithm' :'AES/ECB/PKCS5Padding',
'secret_key_strength' : 128 };
'key_provider': 'KmipKeyProviderFactory'
は、暗号化機能に対してKMIPキー・サーバーを使用して暗号化キーを管理するように指示します。'key provider'
エントリーは、KMIPキー・サーバーを使用する場合にのみ指定し、使用しない場合は省略してください。
'kmip_host': 'kmip_group1'
には、のkmip_hostsセクションで設定するkmip_group1という名前のユーザー定義KMIPキー・サーバー・グループを指定します。
KMIPキー・サーバーにより提供されるキーを使用してテーブル・データを暗号化し、圧縮を使用するには、次のようにEncryptingDeflateCompressor圧縮などの圧縮アルゴリズムを指定します。
ALTER TABLE customers
...
WITH COMPRESSION =
{ 'sstable_compression' :'EncryptingDeflateCompressor',
'key_provider':'KmipKeyProviderFactory',
'kmip_host':'kmip_group2',
'cipher_algorithm' :'AES/ECB/PKCS5Padding',
'secret_key_strength' : 128 };
-
暗号化用のテーブルを変更したら、既存のSSTABLESを暗号化された形式に次のように強制的に再書き込みします。
nodetool upgradesstables -a