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