TDE 対応クラスタを作成する

ドキュメントのバージョンを選択してください。

透過的データ暗号化(TDE)を有効にするには、必要な Vault 環境変数を指定し、POSTGRES_INITDB_ARGS 内に --tde-kek-url フラグを含める必要があります。

始める前に

クラスタを作成する

TDE 対応クラスタを作成するには、データベースの初期化時に必要な Key Management Service(KMS)の構成と認証情報を渡す必要があります。サポートされている認証タイプは jwt のみです。

コンテナ ランタイムのタブを選択します。

Docker

docker run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Docker

docker run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Podman

podman run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

Podman

podman run -d --name CONTAINER_NAME \
--network host \
-v DATA_DIR:/var/lib/postgresql/data \
-v VAULT_CERT_PATH_ON_DISK:VAULT_CERT_PATH \
-e VAULT_AUTH_TYPE=jwt \
-e VAULT_AUTH_MOUNT=JWT_AUTH_ENGINE_MOUNT \
-e VAULT_JWT_PATH=JWT_FILE_PATH \
-e VAULT_ROLE=VAULT_ROLE \
-e VAULT_CERT_PATH=VAULT_CERT_PATH \
-e POSTGRES_INITDB_ARGS=" \
--tde-kek-url=KEK_URL" \
google/alloydbomni:IMAGE_TAG

次のように置き換えます。

  • CONTAINER_NAME: 作成するコンテナの名前。例: alloydb-tde
  • DATA_DIR: AlloyDB Omni のデータ ボリュームとしてマウントするローカル ディレクトリ。例: /local/data
  • VAULT_AUTH_TYPE: Vault 接続に使用する認証のタイプ。jwt のみがサポートされています。
  • JWT_AUTH_ENGINE_MOUNT: HashiCorp Vault 認証エンジンがマウントされているパス。例: /auth/jwt
  • JWT_FILE_PATH: ノードに Vault JWT が保存されているパス。例: tde-tls/jwt-token
  • (省略可)VAULT_ROLE: HashiCorp Vault が JWT トークンの信頼性を検証できるようにする、Vault の設定で定義されたクライアント ロール。
  • VAULT_CERT_PATH_ON_DISK: ホストマシンの Vault 証明書のパス。例: /local/vault/config
  • VAULT_CERT_PATH: コンテナ内の Vault 接続の証明書が配置されているパス。例: /tde-tls設定されていない場合は、デフォルトのトラストストアの証明書が使用されます。
  • KEK_URL: HashiCorp Vault の KEK の完全修飾 URL。vault をプロトコルとして使用して、KMS プロバイダとして HashiCorp Vault を指定します(例: vault://127.0.0.1:8200/v1/secrets/data/alloydb_kek)。
  • IMAGE_TAG: 最新の Debian イメージには 18.1.0 を使用し、最新の UBI イメージには 18.1.0-ubi を使用します。

TDE 指標を表示する

クラスタを初期化したら、次の手順で TDE が有効になっていることを確認し、関連する TDE 指標を表示します。

  1. psql または任意のクライアントを使用してデータベースに接続します。インスタンスへの接続の詳細な手順については、AlloyDB Omni を実行して接続するをご覧ください。
  2. 次のコマンドを実行します。

    select * FROM pgsnap.g$tde_stats;
    

    出力には、TDE が有効かどうか、KEK URL、KEK バージョン、KEK 作成タイムスタンプなどの TDE 指標が表示されます。

    次の表に、各指標の意味を示します。

    名前 説明 ラベル 単位 タイプ
    alloydb_omni_database_tde_data_blocks_decrypted_count_total 復号されたデータブロックの数。 該当なし カウンタ
    alloydb_omni_database_tde_data_blocks_encrypted_count_total 暗号化されたデータブロックの数。 該当なし カウンタ
    alloydb_omni_database_tde_data_decryption_time_us_total データブロックの復号に費やされた合計時間。 該当なし マイクロ秒 カウンタ
    alloydb_omni_database_tde_data_encryption_time_us_total データブロックの暗号化に費やされた合計時間。 該当なし マイクロ秒 カウンタ
    alloydb_omni_database_tde_enabled TDE が有効になっているかどうか。 該当なし ゲージ
    alloydb_omni_database_tde_kek_info TDE KEK 情報。
    • kek_version: 鍵のラッピングに使用されている KEK
      のバージョン。
    • kek_url: KMS 内の KEK の完全修飾パス
    • kek_creation_timestamp: 使用中の KEK バージョンの
      作成時間。
    ゲージ
    alloydb_omni_database_tde_temp_blocks_decrypted_count_total 復号された一時ブロックの数。 該当なし カウンタ
    alloydb_omni_database_tde_temp_blocks_encrypted_count_total 暗号化された一時ブロックの数。 該当なし カウンタ
    alloydb_omni_database_tde_temp_decryption_time_us_total 一時ブロックの復号に費やされた合計時間。 該当なし マイクロ秒 カウンタ
    alloydb_omni_database_tde_temp_encryption_time_us_total 一時ブロックの暗号化に費やされた合計時間。 該当なし マイクロ秒 カウンタ
    alloydb_omni_database_tde_wal_blocks_decrypted_count_total 復号された WAL ブロックの数。 該当なし カウンタ
    alloydb_omni_database_tde_wal_blocks_encrypted_count_total 暗号化された WAL ブロックの数。 該当なし カウンタ
    alloydb_omni_database_tde_wal_decryption_time_us_total WAL ブロックの復号に費やされた合計時間。 該当なし マイクロ秒 カウンタ
    alloydb_omni_database_tde_wal_encryption_time_us_total WAL ブロックの暗号化に費やされた合計時間。 該当なし マイクロ秒 カウンタ