Lindorm は、透過的なデータ暗号化 (TDE) 機能をサポートしています。TDE 機能を有効にすると、Lindorm はキー階層を使用してデータファイルを暗号化します。ファイルシステムに保存されているすべてのデータは暗号文になります。データセキュリティを向上させるために、コンソールで TDE 機能を有効にしてインスタンスデータを暗号化できます。このトピックでは、TDE 機能を有効にするための具体的な手順について説明します。
前提条件
-
Lindorm インスタンスのデプロイソリューションが[シングルゾーン]であること。詳細については、「インスタンスの作成」をご参照ください。
-
Key Management Service (KMS) が有効化されていること。詳細については、「Key Management Service の有効化」をご参照ください。
-
サービスリンクロールを使用して Lindorm に KMS へのアクセス権限を付与しました。詳細については、「Lindorm のサービスリンクロール」をご参照ください。
背景情報
Lindorm の透過的なデータ暗号化 (TDE) 機能は、AES と SM4 アルゴリズムをサポートしています。Key Management Service (KMS) が、TDE に使用されるキーを生成および管理します。KMS は、データキーを暗号化するためのカスタマーマスターキー (CMK) を提供し、そのデータキーがお客様のデータを暗号化します。このプロセスはエンベロープ暗号化と呼ばれます。復号時には、データキーの暗号文を読み取ります。CMK を使用してデータキーの暗号文を復号し、プレーンテキストのデータキーを取得します。その後、プレーンテキストのデータキーを使用してデータを復号します。CMK は KMS API を使用して作成します。パスワードを指定した場合、CMK を暗号化してセキュリティをさらに強化することもできます。
注意事項
-
TDE を有効にすると、インスタンスが一度再起動し、瞬断が発生します。この操作はオフピーク時間帯に実行し、お使いのアプリケーションに再接続メカニズムがあることを確認してください。
-
インスタンスの再起動や瞬断によってデータが失われることはありません。
-
一度有効にすると、TDE は無効にできません。
手順
-
Lindorm コンソールにログインします。
-
ターゲットインスタンス ID をクリックして、Instances ページに移動します。
-
左側のナビゲーションバーで、 を選択します。デフォルトで Transparent Data Encryption (TDE) ページが表示されます。
-
Current Status: スイッチをオンにします。
-
Enable TDE ダイアログボックスで、Use Automatically Generated Key または Use Custom Key を選択します。
-
Use Automatically Generated Key を選択した場合は、OK をクリックして TDE を有効にします。
-
Use Custom Key を選択した場合は、Set Key: リストから Key Management Service (KMS) のキーを選択し、OK をクリックして TDE を有効にします。
説明カスタムキーを作成する必要がある場合は、Manage Key をクリックして KMS コンソールに移動します。KMS コンソールでキーを作成し、キーマテリアルをインポートします。詳細については、「キーの作成」をご参照ください。
-
次のステップ
TDE を有効にした後、Lindorm-cli を使用してインスタンスに接続し、テーブルに対してデータ定義言語 (DDL) ステートメントを実行して暗号化を適用します。インスタンスへの接続方法の詳細については、「Lindorm-cli を使用したワイドテーブルエンジンへの接続と使用」をご参照ください。
-
新しいテーブルを作成する際に、
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); -
既存のテーブルの場合は、
ALTERキーワードとWITH (FILEVERSION = 5, ENCRYPTION = SMS4)句を使用する必要があります。ALTER table testsql WITH (FILEVERSION = 5, ENCRYPTION = SMS4) ;
-
FILEVERSIONはファイルバージョンを指定します。暗号化機能を使用するには、5 に設定する必要があります。 -
ENCRYPTIONは暗号化アルゴリズムのタイプを指定します。値には AES または SMS4 を指定できます。 -
ENCRYPTION = NONEステートメントを使用してデータを復号できます。 -
暗号化アルゴリズムは、たとえば AES から SMS4 に切り替えることができます。ただし、この方法は推奨されません。切り替えるには、次の手順を実行してください。
-
ENCRYPTION = NONEステートメントを使用してテーブルデータを復号します。 -
テーブルに対して
major_compact操作を実行し、操作が完了するまで待ちます。 -
ENCRYPTION = SMS4ステートメントを使用して、データ暗号化タイプを SMS4 に設定します。
-