Crea un cluster abilitato alla TDE

Select a documentation version:

Per abilitare la crittografia trasparente dei dati (TDE), devi fornire le variabili di ambiente del vault richieste e includere il flag --tde-kek-url in POSTGRES_INITDB_ARGS.

Prima di iniziare

Crea il cluster

Per creare un cluster abilitato per TDE, devi trasmettere la configurazione di Key Management Service (KMS) e le credenziali di autenticazione necessarie durante l'inizializzazione del database. L'unico tipo di autenticazione supportato è jwt.

Seleziona la scheda relativa al runtime del container.

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

Sostituisci quanto segue:

  • CONTAINER_NAME: il nome del container da creare. Ad esempio, alloydb-tde.
  • DATA_DIR: la directory locale da montare come volume di dati per AlloyDB Omni. Ad esempio, /local/data.
  • VAULT_AUTH_TYPE: il tipo di autenticazione da utilizzare per la connessione al vault. È supportato solo jwt.
  • JWT_AUTH_ENGINE_MOUNT: il percorso in cui è montato il motore di autenticazione di HashiCorp Vault. Ad esempio, /auth/jwt.
  • JWT_FILE_PATH: il percorso in cui è archiviato il JWT del vault sui nodi. Ad esempio, tde-tls/jwt-token.
  • (Facoltativo) VAULT_ROLE: il ruolo client definito nella configurazione del vault che consente a HashiCorp Vault di verificare l'autenticità del token JWT.
  • VAULT_CERT_PATH_ON_DISK: il percorso dei certificati del vault sulla macchina host. Ad esempio, /local/vault/config.
  • VAULT_CERT_PATH: il percorso in cui si trovano i certificati per la connessione al vault nel container. Ad esempio, /tde-tls. Se non viene impostato, vengono utilizzati i certificati nell'archivio di attendibilità predefinito.
  • KEK_URL: l'URL completo della KEK in HashiCorp Vault. Utilizza vault come protocollo per specificare HashiCorp Vault come provider KMS, ad esempio vault://127.0.0.1:8200/v1/secrets/data/alloydb_kek.
  • IMAGE_TAG: utilizza 18.1.0 per l'ultima immagine Debian o 18.1.0-ubi per l'ultima immagine UBI.

Visualizza le metriche TDE

Dopo l'inizializzazione del cluster, completa i passaggi seguenti per verificare che TDE sia abilitato e visualizzare le metriche TDE correlate.

  1. Connettiti al database utilizzando psql o il client che preferisci. Per istruzioni dettagliate su come connetterti alle istanze, consulta Esegui e connettiti ad AlloyDB Omni.
  2. Esegui questo comando:

    select * FROM pgsnap.g$tde_stats;
    

    L'output mostra le metriche TDE, ad esempio se TDE è abilitato, l'URL della KEK, la versione della KEK e il timestamp di creazione della KEK.

    La tabella seguente spiega il significato di ogni metrica.

    Nome Descrizione Etichetta Unità Tipo
    alloydb_omni_database_tde_data_blocks_decrypted_count_total Il numero di blocchi di dati decriptati. Non applicabile contatore
    alloydb_omni_database_tde_data_blocks_encrypted_count_total Il numero di blocchi di dati criptati. Non applicabile contatore
    alloydb_omni_database_tde_data_decryption_time_us_total Il tempo totale trascorso nella decriptazione dei blocchi di dati. Non applicabile microsecondi contatore
    alloydb_omni_database_tde_data_encryption_time_us_total Il tempo totale trascorso nella crittografia dei blocchi di dati. Non applicabile microsecondi contatore
    alloydb_omni_database_tde_enabled Lo stato di TDE abilitato. Non applicabile misuratore
    alloydb_omni_database_tde_kek_info Le informazioni sulla KEK di TDE.
    • kek_version: la versione della KEK
      in uso per il wrapping delle chiavi.
    • kek_url: il percorso completo
      della KEK in KMS
    • kek_creation_timestamp:
      l'ora di creazione della versione della KEK in uso.
    misuratore
    alloydb_omni_database_tde_temp_blocks_decrypted_count_total Il numero di blocchi temporanei decriptati. Non applicabile contatore
    alloydb_omni_database_tde_temp_blocks_encrypted_count_total Il numero di blocchi temporanei criptati. Non applicabile contatore
    alloydb_omni_database_tde_temp_decryption_time_us_total Il tempo totale trascorso nella decriptazione dei blocchi temporanei. Non applicabile microsecondi contatore
    alloydb_omni_database_tde_temp_encryption_time_us_total Il tempo totale trascorso nella crittografia dei blocchi temporanei. Non applicabile microsecondi contatore
    alloydb_omni_database_tde_wal_blocks_decrypted_count_total Il numero di blocchi WAL decriptati. Non applicabile contatore
    alloydb_omni_database_tde_wal_blocks_encrypted_count_total Il numero di blocchi WAL criptati. Non applicabile contatore
    alloydb_omni_database_tde_wal_decryption_time_us_total Il tempo totale trascorso nella decriptazione dei blocchi WAL. Non applicabile microsecondi contatore
    alloydb_omni_database_tde_wal_encryption_time_us_total Il tempo totale trascorso nella crittografia dei blocchi WAL. Non applicabile microsecondi contatore