二重層データ暗号化
このドキュメントでは、AWS上でホストされているTiDB Cloud Premiumインスタンスで、二重層データ暗号化を有効にして管理する方法について説明します。
注記:
現在、デュアルレイヤーデータ暗号化機能はリクエストに応じてのみ利用可能です。この機能をリクエストするには、 TiDB Cloudコンソール?」をクリックし、 次に「サポートチケット」をクリックしてヘルプセンターに移動します。チケットを作成し、 「説明」フィールドに「デュアルレイヤーデータ暗号化の申請」と入力して、 「送信」をクリックします。
概要
TiDB Cloud Premiumは、デフォルトでインスタンスstorageとスナップショットボリューム上の保存データを暗号化し、基本的なデータセキュリティレベルを提供します。さらに、 TiDB Cloud Premiumは、TiDBstorageエンジンの暗号化とクラウドプロバイダーのキー管理サービス(KMS)を組み合わせることをサポートしています。この追加レイヤーは、デュアルレイヤーデータ暗号化と呼ばれます。
暗号化メカニズム
TiDB Cloud Premiumは、より高いレベルのデータセキュリティを提供するために、保存データの暗号化に2層アーキテクチャを採用しています。ストレージ層とデータベース層の両方で暗号化を行い、データを保護します。
ストレージ層暗号化
- 基盤となるクラウドサービスプロバイダーは、storageストラクチャ上でストレージ層暗号化を提供します。例えば、AWSでは、Amazon Elastic Block Store(EBS)ボリュームの暗号化とAmazon Simple Storage Service(S3)バケットの暗号化が含まれます。
- このレイヤーは、すべてのTiDB Cloud Premiumインスタンスでデフォルトで有効になっており、無効にすることはできません。これは、保存データに対する基本的なセキュリティ基準を提供します。
データベース層の暗号化
- TiDB Cloud Premiumは、ストレージ層の暗号化に加えて、オプションのデータベース層暗号化機能( TiDB Cloudコンソールでは「デュアルレイヤーデータ暗号化」と表示)をサポートしています。この機能を有効にすると、TiKVに保存されているデータ、変更フィードデータ、およびバックアップデータが暗号化されます。
- この仕組みにより、データベースシステム内のデータは暗号化された状態に保たれるため、内部処理やデータ移動中のデータ漏洩のリスクが低減されます。
- ストレージ層の暗号化とは異なり、データベース層の暗号化はユーザーが設定可能です。セキュリティコンプライアンスや運用要件に応じて、顧客管理暗号化キー(CMEK)またはサービス管理暗号化キーのいずれかを選択できます。
バックアップと復元に関する考慮事項
デュアルレイヤーデータ暗号化を有効にすると、 TiDB Cloud Premiumインスタンスのバックアップデータも暗号化されます。このバックアップから復元された新しいインスタンスは、元のインスタンスの暗号化属性とKMSマスターキーを継承します。
バックアップデータへのアクセスには元のKMSマスターキーが必要となるため、以下の要件を満たしていることを確認してください。
- キーの可用性を管理:元のTiDB Cloud Premium インスタンスを削除した場合でも、バックアップデータを復元できるように、関連付けられた KMS マスターキーをアクティブな状態に保ってください。
- 適切な認証を確保する:復元操作中は、バックアップに関連付けられているものと全く同じKMSマスターキーを設定し、そのキーにデータアクセスに必要な権限が付与されていることを確認してください。
主要管理オプション
デュアルレイヤーデータ暗号化では、AWS KMSを使用して保存データの暗号化用マスターキーを管理します。キー管理オプションは2種類から選択できます。
顧客管理暗号化キー(CMEK)
AWS KMSマスターキーは、お客様自身で作成、所有、管理できます。このオプションでは暗号化を完全に制御できるため、厳格なセキュリティ要件を持つ組織に適しています。
サービス管理型暗号化キー
TiDB Cloud Premiumは、お客様に代わってKMSマスターキーを自動的に作成および管理します。このオプションは、セキュリティと利便性のバランスが取れており、メンテナンスの手間もかかりません。
- 鍵となるのは対称暗号鍵です。
- キーは、指定されたリージョンで最初の暗号化されたTiDB Cloud Premiumインスタンスを作成する際に自動的に生成されます。
- 組織ごと、地域ごとに1つのキーが作成され、その地域内のすべてのTiDB Cloud Premiumインスタンスで共有されます。
- キーは、そのキーで暗号化されたすべてのデータが組織から削除された後にのみ、自動的に削除されます。
制限事項
- この機能は現在、AWS KMSのみをサポートしています。Alibaba Cloud KMSのサポートは今後のリリースで予定されています。
- データ暗号化は、TiKVに保存されるデータ、変更フィードデータ、およびバックアップデータに適用されます。TiFlashのデータ暗号化への対応は、今後のリリースで予定されています。
- デュアルレイヤーデータ暗号化を有効にすると、 TiDB Cloud Premiumインスタンスの暗号化設定を変更できなくなります。
- カスタム暗号化アルゴリズムはサポートされていません。ローテーションできるのはKMSマスターキーのみです。その他の暗号化キーのローテーションはサポートされていません。
- AWS KMSキーは、 TiDB Cloud Premiumインスタンスと同じリージョンに存在する必要があります。そのため、CMEKを使用するバックアップでは、リージョンをまたいだ復元操作はサポートされていません。
二層データ暗号化を有効にする
TiDB Cloud Premiumインスタンスを作成する際、またはインスタンス作成後に、デュアルレイヤーデータ暗号化を有効にすることができます。
インスタンス作成時に暗号化を有効にする
TiDB Cloud Premiumインスタンスを作成する際に、二重層データ暗号化を有効にすることができます。セキュリティおよび運用要件に応じて、顧客管理暗号化キー(CMEK)またはサービス管理暗号化キーのいずれかを選択してください。
オプション1:顧客管理暗号化キー(CMEK)
独自の暗号化キーを使用するには、以下の手順に従ってください。
AWS KMSで対称暗号化キーを作成します。
キーは、計画されたTiDB Cloud Premium インスタンスと同じリージョンに存在する必要があります。詳細な手順については、 対称暗号化KMSキーを作成しますを参照してください。
TiDB Cloudコンソールで CMEK を構成します。
- 私のTiDBページで、 「リソースの作成」をクリックします。
- TiDB Cloud Premiumプランを選択し、基本設定を完了してください。
- 「デュアルレイヤーデータ暗号化」セクションで、 「有効にする」をクリックします。
- 「顧客管理暗号化キー (CMEK)」を選択し、 「KMS キー ARN の追加」をクリックします。
- 表示されたJSONポリシーをコピーし、
ROLE-TRUST-POLICY.JSONとして保存してください。このファイルは、必要な信頼関係を定義します。 - AWS KMS コンソールで、この信頼ポリシーをキーに追加します。詳細については、 AWS KMS の主要ポリシーを参照してください。
- TiDB Cloudコンソールに戻り、キー作成ページの一番下までスクロールして、AWS KMSから取得したKMSキーARNを入力します。
- 信頼関係を確認するには、 「テスト」をクリックし、「KMSキーARNを追加」をクリックします。
- 検証が成功したら、 「作成」をクリックして、 TiDB Cloud Premiumインスタンスの作成を完了してください。
オプション2:サービス管理型暗号化キー
TiDB Cloudに暗号化キーの管理を代行させるには、以下の手順に従ってください。
- 私のTiDBページで、 「リソースの作成」をクリックします。
- TiDB Cloud Premiumプランを選択し、基本設定を完了してください。
- 「デュアルレイヤーデータ暗号化」セクションで、 「有効にする」をクリックします。
- サービス管理暗号化キーを選択してください。
- 「作成」をクリックして、 TiDB Cloud Premiumインスタンスの作成を完了してください。
既存のインスタンスで暗号化を有効にする
インスタンス作成時に暗号化を有効にしなかった場合でも、後から有効にすることができます。要件に応じて、顧客管理暗号化キー(CMEK)またはサービス管理暗号化キーのいずれかを選択してください。
注記:
既存のインスタンスで暗号化を有効にするには、完了までに時間がかかる場合があります。
オプション1:顧客管理暗号化キー(CMEK)
開始する前に、AWS KMS で対称暗号化キーを作成済みであることを確認してください。次に、以下の手順を実行してください。
- TiDB Cloud PremiumインスタンスのSecurityページで、 「二重層データ暗号化」セクションの「有効にする」をクリックします。
- 「顧客管理暗号化キー (CMEK)」を選択し、 「KMS キー ARN の追加」をクリックします。
- 表示されたJSONポリシーをコピーし、
ROLE-TRUST-POLICY.JSONとして保存してください。このファイルは、必要な信頼関係を定義します。 - AWS KMS コンソールで、この信頼ポリシーをキーに追加します。詳細については、 AWS KMS の主要ポリシーを参照してください。
- TiDB Cloudコンソールに戻り、ページの一番下までスクロールして、AWS KMSから取得したKMSキーARNを入力します。
- 信頼関係を確認するには、 「テスト」をクリックし、「KMSキーARNを追加」をクリックします。
- 二重層データ暗号化を有効にするには、 [有効にする]をクリックします。
オプション2:サービス管理型暗号化キー
TiDB Cloudに暗号化キーの管理を代行させるには、以下の手順に従ってください。
- TiDB Cloud PremiumインスタンスのSecurityページで、 「二重層データ暗号化」セクションの「有効にする」をクリックします。
- サービス管理暗号化キーを選択してください。
- 「有効にする」をクリックしてください。
暗号化ステータスをビュー
暗号化を有効にした後、以下の場所でステータスを確認してください。
- TiDB Cloud Premiumインスタンスの概要ページでは、 [暗号化]フィールドにアクティブなキー管理方法が表示されます。これは、 [顧客管理暗号化キー(CMEK)で有効]または[サービス管理暗号化キーで有効]のいずれかです。
- Securityページでは、二重層データ暗号化の詳細な設定を確認できます。
暗号化されたバックアップから復元する
暗号化されたTiDB Cloud Premiumインスタンスから作成されたバックアップも暗号化されます。暗号化されたバックアップを復元する場合、新しいインスタンスは一貫した暗号化設定を使用する必要があります。
CMEKで暗号化されたバックアップを復元する
バックアップがCMEKで暗号化されている場合は、復元中に新しいインスタンスがKMSマスターキーにアクセスできることを確認してください。キーARNは変更されません。
アクセスを確認するには、 「確認」をクリックして信頼ポリシーの検証を開始します。TiDB Cloud は、キー ポリシーで承認されたTiDB Cloudアカウントが、元のバックアップに関連付けられているアカウントと一致するかどうかを確認します。
- アカウントが一致する場合、それ以上の承認は必要ありません。
- アカウントが一致しない場合は、提供されたキーポリシーをコピーしてAWS KMSで更新してください。この更新によりキーが再認証され、新しいインスタンスがキーにアクセスできるようになります。
サービス管理暗号化キーで暗号化されたバックアップを復元する
バックアップがサービス管理暗号化キーで暗号化されている場合、復元されたインスタンスは自動的に同じキータイプを継承します。復元時には、暗号化はデフォルトで有効になり、キータイプはサービス管理暗号化キーに設定されます。
顧客管理暗号化キー(CMEK)をローテーションする
CMEK をローテーションするには、AWS KMS で自動キーローテーションを有効にすることができます。追加のTiDB Cloud構成は必要ありません。