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
- Configura il motore di secret KV-V2 di HashiCorp Vault per assicurarti che il percorso della chiave di crittografia della chiave (KEK) e il token JWT (JSON Web Token) siano disponibili.
- Assicurati che AlloyDB Omni abbia l'autorizzazione per leggere il file del token JWT.
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 solojwt.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. Utilizzavaultcome protocollo per specificare HashiCorp Vault come provider KMS, ad esempiovault://127.0.0.1:8200/v1/secrets/data/alloydb_kek.IMAGE_TAG: utilizza18.1.0per l'ultima immagine Debian o18.1.0-ubiper 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.
- Connettiti al database utilizzando
psqlo il client che preferisci. Per istruzioni dettagliate su come connetterti alle istanze, consulta Esegui e connettiti ad AlloyDB Omni. 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_totalIl numero di blocchi di dati decriptati. Non applicabile contatore alloydb_omni_database_tde_data_blocks_encrypted_count_totalIl numero di blocchi di dati criptati. Non applicabile contatore alloydb_omni_database_tde_data_decryption_time_us_totalIl tempo totale trascorso nella decriptazione dei blocchi di dati. Non applicabile microsecondi contatore alloydb_omni_database_tde_data_encryption_time_us_totalIl tempo totale trascorso nella crittografia dei blocchi di dati. Non applicabile microsecondi contatore alloydb_omni_database_tde_enabledLo stato di TDE abilitato. Non applicabile misuratore alloydb_omni_database_tde_kek_infoLe 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 KMSkek_creation_timestamp:
l'ora di creazione della versione della KEK in uso.
misuratore alloydb_omni_database_tde_temp_blocks_decrypted_count_totalIl numero di blocchi temporanei decriptati. Non applicabile contatore alloydb_omni_database_tde_temp_blocks_encrypted_count_totalIl numero di blocchi temporanei criptati. Non applicabile contatore alloydb_omni_database_tde_temp_decryption_time_us_totalIl tempo totale trascorso nella decriptazione dei blocchi temporanei. Non applicabile microsecondi contatore alloydb_omni_database_tde_temp_encryption_time_us_totalIl tempo totale trascorso nella crittografia dei blocchi temporanei. Non applicabile microsecondi contatore alloydb_omni_database_tde_wal_blocks_decrypted_count_totalIl numero di blocchi WAL decriptati. Non applicabile contatore alloydb_omni_database_tde_wal_blocks_encrypted_count_totalIl numero di blocchi WAL criptati. Non applicabile contatore alloydb_omni_database_tde_wal_decryption_time_us_totalIl tempo totale trascorso nella decriptazione dei blocchi WAL. Non applicabile microsecondi contatore alloydb_omni_database_tde_wal_encryption_time_us_totalIl tempo totale trascorso nella crittografia dei blocchi WAL. Non applicabile microsecondi contatore