SQL クエリ、DDL、DML オペレーションは、アプリケーションの変更を必要とせずに正常に機能するため、暗号化は透過的です。データはディスクに書き込まれる前に自動的に暗号化され、メモリに読み込まれるときに復号されます。
鍵の階層
AlloyDB Omni は、データベースとユーザー管理のセキュリティ インフラストラクチャ間の職務分離を厳格に維持する 2 階層の鍵階層を実装しています。
- データ暗号鍵(DEK): AlloyDB Omni によって生成および所有されます。これらの鍵は、実際のデータファイル、WAL、 一時ファイルを暗号化します。AlloyDB Omni は DEK をディスクに保存しますが、KEK でラップします。
-
鍵暗号鍵(KEK): 外部の鍵管理サービス(KMS)で管理するメインキー。AlloyDB Omni は KEK を使用して DEK を暗号化します。
AlloyDB Omni は、起動時にのみこの鍵にアクセスして DEK をアンラップします
。KEK はデータベース ディスクに永続的に保存されません。
AlloyDB Omni での TDE の仕組み
TDE が有効になっている場合、AlloyDB Omni は外部 KMS と統合された階層化された暗号化モデルを使用してデータを保護します。
- 初期化と鍵の取得: クラスタの起動または初期化フェーズ中に、AlloyDB Omni エンジンは KMS への安全な接続を確立します。JSON ウェブトークン(JWT)を使用して認証し、KEK を取得します。
- DEK のアンラップ: AlloyDB Omni は KEK を使用して、ラップされた状態でローカル ストレージに保存されている DEK をアンラップします。次に、これらの DEK がメモリに読み込まれます。
- 透過的なデータ オペレーション:
- ディスクへの書き込み: データベースがデータブロック、WAL レコード、一時ファイルを物理ディスクに書き込むときに、物理ディスクに書き込む前に AES-256 アルゴリズムを使用してデータを自動的に暗号化します。
- ディスクからの読み取り: データベースがデータをメモリに読み取る必要がある場合、メモリに保持されている DEK を使用してブロックを自動的に復号します。
- セキュリティ境界: KEK はローカル データベース ディスクに保存されないため、物理ストレージ メディアが侵害された場合でも、外部ボールトへの承認されたアクセスがなければデータを読み取ることができません。
暗号化のスコープと仕様
AlloyDB Omni は、業界標準の AES-256 アルゴリズムを使用してデータを保護します。
- データファイル(テーブルとインデックス): AES-256-XTS。
- 先行書き込みログ(WAL): AES-256-CTR。
- 一時ファイル: 一時データの種類に応じて、AES-256-XTS または AES-256-CTR。
- 鍵のラッピング: AES-256-KWP。
バックアップと高可用性
TDE が有効になっている場合、pgBackRest を使用して作成されたバックアップは、ソース クラスタの暗号化構成を継承します。これにより、バックアップデータはプライマリ データベースと同じレベルのセキュリティで保護されます。
サポートされている KMS と認証
AlloyDB Omni は、外部 KMS プロバイダとして HashiCorp Vault をサポートしています。AlloyDB Omni は KV-V2 シークレット エンジンのみをサポートしており、サポートされている認証方法は JWT のみです。
注: AlloyDB Omni はファイルベースの KMS をサポートしています。ただし、本番環境のワークロードではなく、テストでのみ使用することをおすすめします。PostgreSQL ツールの互換性
TDE 対応クラスタは、環境変数を使用して、initdb を除くすべての組み込み PostgreSQL ツールを透過的にサポートします。
initdb を使用する場合は、KEK URL を渡してください。詳細については、
TDE 対応クラスタを作成するをご覧ください。
制限事項
- 既存のクラスタで TDE を有効にすることはできません。
- いったん有効にすると、TDE を無効にすることはできません。
- TDE 対応クラスタでは、メジャー バージョンのアップグレードはサポートされていません。
- 暗号化されたバックアップを暗号化されていないサーバーに復元したり、暗号化されていないバックアップを暗号化されたサーバーに復元したりすることはできません。
- DEK のローテーションはサポートされていません。
- KEK URL パスが同じであれば、KEK のローテーションはサポートされます。
- KEK のローテーションは、外部 KMS プロバイダとして HashiCorp Vault の場合にのみサポートされます。
FILE_COPY戦略を使用してCREATE DATABASEすることはできません。- TDE 対応クラスタでは、Barman バックアップは
rsyncモードのみをサポートしています。postgresバックアップ メソッドはサポートされていません。