鍵の階層
AlloyDB Omni は、データベースとユーザー管理のセキュリティ インフラストラクチャの間で厳格な職務分掌を維持する 2 層の鍵の階層を実装しています。
- データ暗号鍵(DEK): AlloyDB Omni によって生成され、所有される鍵。これらの鍵は、実際のデータファイル、WAL、一時ファイルを暗号化します。AlloyDB Omni は DEK をディスクに保存しますが、KEK でラップします。
-
鍵暗号鍵(KEK): 外部の鍵管理サービス(KMS)で管理するメインキー。AlloyDB Omni は、KEK を使用して DEK を暗号化します。AlloyDB Omni は、起動時にのみこの鍵にアクセスして DEK のラップを解除します。KEK はデータベース ディスクに永続的に保存されることはありません。
-
KEK のロケーションとアクセス パラメータは、
TdeConfigカスタム リソース内で定義されます。
-
KEK のロケーションとアクセス パラメータは、
AlloyDB Omni での TDE の仕組み
TDE が有効になっている場合、AlloyDB Omni は外部 KMS と統合された階層型暗号化モデルを使用してデータを保護します。
- 初期化と鍵の取得: クラスタの起動フェーズまたは初期化フェーズで、AlloyDB Omni エンジンは KMS への安全な接続を確立します。HashiCorp Vault の場合は JSON Web Token(JWT)、Thales CipherTrust Manager の場合はユーザー名とパスワードの認証情報を使用して認証し、KEK を取得します。
- DEK のラップ解除: AlloyDB Omni は、KEK を使用して DEK のラップを解除します。DEK は、ラップされた状態でローカル ストレージに保存されます。その後、これらの DEK がメモリに読み込まれます。
- 透明なデータ オペレーション:
- ディスクへの書き込み: データベースがデータブロック、WAL レコード、一時ファイルを物理ディスクに書き込むとき、書き込む前に AES-256 アルゴリズムを使用してデータを自動的に暗号化します。
- ディスクからの読み取り: データベースがデータをメモリに読み取る必要がある場合、メモリに保持されている DEK を使用してブロックを自動的に復号します。
- キャッシュの暗号化: TDE は、キャッシュに保存されているカラム型エンジンの情報など、ディスク キャッシュもサポートしています。チル キャッシュ ストレージ レイヤに書き込まれたデータは暗号化されます。カラム型エンジンの SSD キャッシュにスピルされたデータは、SSD に書き込まれる前に暗号化され、読み取り時に復号されます。
パフォーマンスの最適化: TDE には、データを保護しながら高いパフォーマンスを維持するための最適化が含まれています。データブロックとキャッシュに最適化された
AES-256-XTS保護を使用し、同期書き込みの最適化により、高速パスのレイテンシを最小限に抑えます。セキュリティ境界: KEK はローカル データベース ディスクに保存されないため、物理ストレージ メディアが侵害された場合でも、外部 KMS への承認済みアクセスがなければデータを読み取ることができません。
暗号化のスコープと仕様
AlloyDB Omni は、業界標準の AES-256 アルゴリズムを使用してデータを保護します。
- データファイル(テーブルとインデックス): AES-256-XTS。
- ログ先行書き込み(WAL): AES-256-CTR。
- 一時ファイル: 一時データの種類に応じて AES-256-XTS または AES-256-CTR。
- カラム型エンジン キャッシュ ファイル: AES-256-XTS。
- Chill キャッシュ ファイル: AES-256-XTS。
- 鍵のラッピング: AES-256-KWP。
バックアップと高可用性
TDE が有効になっている場合、pgBackRest を使用して作成されたバックアップは、ソースクラスタの暗号化構成を継承します。これにより、バックアップ データはプライマリ データベースと同じレベルのセキュリティで保護されます。
HA 設定の場合、TdeConfig は DBCluster リソースと同じ Namespace に存在する必要があります。
サポートされている KMS と認証
AlloyDB Omni は、次の外部 KMS プロバイダと認証方法をサポートしています。
- HashiCorp Vault: JSON Web Token(
jwt)認証で KV-V2 シークレット エンジンをサポートします。 - Thales CipherTrust Manager: ユーザー名とパスワード(
password)認証によるシークレット管理をサポートします。
PostgreSQL ツールの互換性
TDE 対応クラスタは、TdeConfig リソースを介してすべての組み込み PostgreSQL ツールをサポートします。
制限事項
- 既存のクラスタで TDE を有効にすることはできません。
- TDE を有効にした後は、無効にすることはできません。
- TDE 対応クラスタでは、メジャー バージョンのアップグレードはサポートされていません。
- 暗号化バックアップを暗号化されていないサーバーに復元したり、暗号化されていないバックアップを暗号化されたサーバーに復元したりすることはできません。
- DEK のローテーションはサポートされていません。
- KEK URL パスが同じままであれば、KEK ローテーションはサポートされます。
FILE_COPY戦略を使用してCREATE DATABASEすることはできません。- TDE 対応クラスタでは、Barman バックアップは
rsyncモードのみをサポートします。postgresバックアップ方法はサポートされていません。
次のステップ
- TDE 対応クラスタを作成する方法を学習する。
- 透過的データ暗号化のトラブルシューティング。