Lindorm は透過的データ暗号化 (TDE) 機能をサポートしています。TDE 機能が有効になると、Lindorm はキー階層に基づいてデータを暗号化します。 Lindorm のファイルシステム内のデータは暗号文として保存されます。データセキュリティを向上させるために、Lindorm コンソールを使用して TDE 機能を有効にし、インスタンス内のデータを暗号化できます。このトピックでは、TDE 機能を有効にする方法について説明します。
前提条件
- インスタンスを作成するときに、[デプロイ方法] パラメーターが [シングルゾーン] に設定されています。詳細については、「インスタンスの作成」をご参照ください。
- Key Management Service (KMS) が有効になっています。詳細については、「専用 KMS インスタンスの購入」をご参照ください。
- Lindorm に KMS へのアクセスが許可されています。サービスリンクロールを使用して、KMS にアクセスするために必要な権限を Lindorm に付与する必要があります。詳細については、「Lindorm のサービスリンクロール」をご参照ください。
背景情報
Lindorm の TDE 機能は、Advanced Encryption Standard (AES) と SMS4 をサポートしています。 KMS は、TDE 機能で使用されるキーを生成および管理します。 KMS は、カスタマーマスターキー (CMK) を使用してデータキーを暗号化し、次にデータキーを使用してデータを暗号化します。このプロセスはエンベロープ暗号化と呼ばれます。エンベロープ暗号化が実行されたデータを復号化するには、データキーの暗号文を取得し、CMK を使用して暗号文を復号化してデータキーの平文を取得し、次に平文を使用してデータを復号化します。 API 操作を呼び出して、KMS CMK を作成できます。 CMK のパスワードを提供する場合、CMK を暗号化して CMK のセキュリティを確保できます。
注意事項
- TDE 機能を有効にすると、インスタンスが再起動され、一時的な切断が発生します。オフピーク時に TDE 機能を有効にし、一時的な接続が発生した後、アプリケーションがインスタンスに再接続できることを確認することをお勧めします。
- インスタンスの再起動と一時的な切断によって、インスタンス内のデータが失われることはありません。
- TDE 機能は、有効にした後は無効にすることができません。
手順
- Lindorm コンソール にログインします。
- 管理するインスタンスの ID をクリックします。その後、[インスタンス] ページが表示されます。
- 左側のナビゲーションペインで、 を選択します。その後、[透過的データ暗号化 (TDE)] タブが表示されます。
- [現在のステータス] をオンにします。
- [TDE の有効化] ダイアログボックスで、[自動生成キーを使用] または [カスタムキーを使用] を選択します。

- [自動生成キーを使用] を選択した場合は、[OK] をクリックします。その後、TDE 機能が有効になります。
- [カスタムキーを使用] を選択した場合は、[キーの設定] ドロップダウンリストから KMS を使用して生成されたキーを選択し、[OK] をクリックします。その後、TDE 機能が有効になります。説明 カスタムキーを使用する場合は、[キーの管理] をクリックします。 KMS コンソールで、キーを作成し、キーマテリアルをインポートします。詳細については、「CMK の作成」をご参照ください。
次の手順
TDE 機能が有効になったら、Lindorm-cli を使用して LindormTable に接続します。詳細については、「Lindorm-cli を使用して LindormTable に接続して使用する」をご参照ください。 Lindorm 内のデータは、対応するテーブルで DDL 操作を実行した場合にのみ暗号化できます。次のセクションでは例を示します。
- テーブルを作成し、テーブル内のデータを暗号化する場合は、CREATE TABLE ステートメントに
WITH (FILEVERSION = 5, ENCRYPTION = AES)を追加します。CREATE table testsql (p1 varchar, p2 varchar, p3 bigint, c1 varchar, c2 double, constraint primary key (p1, p2, p3 desc)) WITH (FILEVERSION = 5, ENCRYPTION = AES); // テーブルを作成し、AES でデータを暗号化します - 既存のテーブル内のデータを暗号化する場合は、
ALTERをWITH (FILEVERSION = 5, ENCRYPTION = SMS4)と組み合わせて使用します。ALTER table testsql WITH (FILEVERSION = 5, ENCRYPTION = SMS4) ; // 既存のテーブルのデータを SMS4 で暗号化します
説明
FILEVERSIONはファイルバージョンを指定します。 TDE 機能は、FILEVERSION を 5 に設定した場合にのみ使用できます。ENCRYPTIONは暗号化アルゴリズムを指定します。有効な値:AES および SMS4。- ENCRYPTION を NONE に設定してデータを復号化できます。
- 暗号化アルゴリズムを変更できます。たとえば、暗号化アルゴリズムを AES から SMS4 に変更できます。暗号化アルゴリズムを AES から SMS4 に変更することはお勧めしません。暗号化アルゴリズムを AES から SMS4 に変更する場合は、次の手順を実行します。
- ENCRYPTION を NONE に設定して、テーブル内のデータを復号化します。
- テーブルで
major_compactコマンドを実行し、タスクが完了するまで待ちます。 - ENCRYPTION を SMS4 に設定します。