暗号化キー・エラーのトラブルシューティング

Encryptorの初期化に失敗する

ローカル・キーを使用するためにテーブルを作成または変更すると、コマンドが失敗します。たとえば、LZ圧縮と暗号化が有効になっているテスト・テーブルを作成します。

CREATE TABLE test.encryption_test (a int primary key) WITH compression = {'sstable_compression': 'EncryptingLZ4Compressor', 'cipher_algorithm' : 'AES/ECB/PKCS5Padding', 'secret_key_strength' : 256, 'system_key_file' : 'AES-256'};
以下のエラーが発生します。
ConfigurationException: EncryptingLZ4Compressor.create() threw an error: java.lang.RuntimeException Failed to initialize Encryptor

解決策

  1. DSEデータベースを実行しているアカウントが、ローカル・システム上の暗号化キー・ファイルの所有者であることを確認します。
    ls -l /etc/dse/conf
    この場合、アカウントdseは、system_keyファイルへの読み取り/書き込みアクセス権しか持っていません。
    total 8
    -rw------- 1 joe joe 70 Aug  8 15:48 AES-256
    -rwx------ 1 dse joe 50 Aug  2 15:06 system_key
  2. ファイルの所有権をdseに変更して、読み取り/書き込みパーミッションを付与します。
  3. CQLコマンドを再実行します。