TDE-fähigen Cluster erstellen

Select a documentation version:

Wenn Sie die transparente Datenverschlüsselung (Transparent Data Encryption, TDE) aktivieren möchten, müssen Sie die erforderlichen Vault-Umgebungsvariablen angeben und das Flag --tde-kek-url in POSTGRES_INITDB_ARGS einfügen.

Hinweis

Cluster erstellen

Wenn Sie einen TDE-fähigen Cluster erstellen möchten, müssen Sie bei der Initialisierung der Datenbank die erforderliche KMS-Konfiguration (Key Management Service) und die Authentifizierungsanmeldedaten übergeben. Der einzige unterstützte Authentifizierungstyp ist jwt.

Wählen Sie den Tab für Ihre Containerlaufzeit aus.

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

Ersetzen Sie Folgendes:

  • CONTAINER_NAME: der Name des zu erstellenden Containers. Beispiel: alloydb-tde.
  • DATA_DIR: das lokale Verzeichnis, das als Datenvolume für AlloyDB Omni eingebunden werden soll. Beispiel: /local/data.
  • VAULT_AUTH_TYPE: der Authentifizierungstyp, der für die Vault-Verbindung verwendet werden soll. Nur jwt wird unterstützt.
  • JWT_AUTH_ENGINE_MOUNT: der Pfad, unter dem die HashiCorp Vault-Authentifizierungs-Engine eingebunden ist. Beispiel: /auth/jwt.
  • JWT_FILE_PATH: der Pfad, unter dem das Vault-JWT auf Ihren Knoten gespeichert ist. Beispiel: tde-tls/jwt-token.
  • (Optional) VAULT_ROLE: die in Ihrer Vault-Einrichtung definierte Clientrolle, mit der HashiCorp Vault die Authentizität des JWT-Tokens überprüfen kann.
  • VAULT_CERT_PATH_ON_DISK: der Pfad zu den Vault-Zertifikaten auf dem Hostcomputer. Beispiel: /local/vault/config.
  • VAULT_CERT_PATH: der Pfad, unter dem sich die Zertifikate für die Vault-Verbindung in Ihrem Container befinden. Beispiel: /tde-tls. Wenn nicht festgelegt, werden die Zertifikate im Standard-Trust Store verwendet.
  • KEK_URL: die vollständig qualifizierte URL zum KEK in HashiCorp Vault. Verwenden Sie vault als Protokoll, um HashiCorp Vault als KMS-Anbieter anzugeben, z. B. vault://127.0.0.1:8200/v1/secrets/data/alloydb_kek.
  • IMAGE_TAG: Verwenden Sie 18.1.0 für das neueste Debian-Image oder 18.1.0-ubi für das neueste UBI-Image.

TDE-Messwerte ansehen

Nachdem der Cluster initialisiert wurde, führen Sie die folgenden Schritte aus, um zu prüfen, ob TDE aktiviert ist, und um zugehörige TDE-Messwerte anzusehen.

  1. Stellen Sie mit psql oder Ihrem bevorzugten Client eine Verbindung zu Ihrer Datenbank her. Eine detaillierte Anleitung zum Herstellen einer Verbindung zu Ihren Instanzen finden Sie unter AlloyDB Omni ausführen und eine Verbindung herstellen.
  2. Führen Sie dazu diesen Befehl aus:

    select * FROM pgsnap.g$tde_stats;
    

    In der Ausgabe werden TDE-Messwerte angezeigt, z. B. ob TDE aktiviert ist, die KEK-URL, die KEK-Version und der Erstellungszeitstempel des KEK.

    In der folgenden Tabelle wird die Bedeutung der einzelnen Messwerte erläutert.

    Name Beschreibung Label Einheit Typ
    alloydb_omni_database_tde_data_blocks_decrypted_count_total Anzahl der entschlüsselten Datenblöcke. Nicht zutreffend Zähler
    alloydb_omni_database_tde_data_blocks_encrypted_count_total Anzahl der verschlüsselten Datenblöcke. Nicht zutreffend Zähler
    alloydb_omni_database_tde_data_decryption_time_us_total Gesamtzeit für die Entschlüsselung von Datenblöcken. Nicht zutreffend Mikrosekunden Zähler
    alloydb_omni_database_tde_data_encryption_time_us_total Gesamtzeit für die Verschlüsselung von Datenblöcken. Nicht zutreffend Mikrosekunden Zähler
    alloydb_omni_database_tde_enabled Status der TDE-Aktivierung. Nicht zutreffend Gauge
    alloydb_omni_database_tde_kek_info Informationen zum TDE-KEK.
    • kek_version: Version des KEK
      , der für die Schlüsselverschlüsselung verwendet wird.
    • kek_url: Vollständig qualifizierter Pfad
      zum KEK in KMS
    • kek_creation_timestamp:
      Erstellungszeit des verwendeten KEK.
    Gauge
    alloydb_omni_database_tde_temp_blocks_decrypted_count_total Anzahl der entschlüsselten temporären Blöcke. Nicht zutreffend Zähler
    alloydb_omni_database_tde_temp_blocks_encrypted_count_total Anzahl der verschlüsselten temporären Blöcke. Nicht zutreffend Zähler
    alloydb_omni_database_tde_temp_decryption_time_us_total Gesamtzeit für die Entschlüsselung temporärer Blöcke. Nicht zutreffend Mikrosekunden Zähler
    alloydb_omni_database_tde_temp_encryption_time_us_total Gesamtzeit für die Verschlüsselung temporärer Blöcke. Nicht zutreffend Mikrosekunden Zähler
    alloydb_omni_database_tde_wal_blocks_decrypted_count_total Anzahl der entschlüsselten WAL-Blöcke. Nicht zutreffend Zähler
    alloydb_omni_database_tde_wal_blocks_encrypted_count_total Anzahl der verschlüsselten WAL-Blöcke. Nicht zutreffend Zähler
    alloydb_omni_database_tde_wal_decryption_time_us_total Gesamtzeit für die Entschlüsselung von WAL-Blöcken. Nicht zutreffend Mikrosekunden Zähler
    alloydb_omni_database_tde_wal_encryption_time_us_total Gesamtzeit für die Verschlüsselung von WAL-Blöcken. Nicht zutreffend Mikrosekunden Zähler