Crittografia trasparente dei dati per AlloyDB Omni

Seleziona una versione della documentazione:

Per proteggere le informazioni sensibili e soddisfare requisiti di conformità rigorosi senza modificare il codice dell'applicazione, utilizza la crittografia dei dati trasparente (TDE) per proteggere i dati inattivi in AlloyDB Omni. Questa panoramica spiega come TDE cripta automaticamente i file di database, i log e le cache prima che vengano scritti su disco, garantendo una sicurezza approfondita con un overhead operativo minimo.

Gerarchia delle chiavi

AlloyDB Omni implementa una gerarchia di chiavi a due livelli che mantiene una rigida separazione dei compiti tra il database e l'infrastruttura di sicurezza gestita dall'utente.

  • Chiavi di crittografia dei dati (DEK): chiavi generate e di proprietà di AlloyDB Omni. Queste chiavi criptano i file di dati effettivi, WAL e i file temporanei. AlloyDB Omni archivia le DEK sul disco, ma le esegue il wrapping con la tua KEK.
  • Chiave di crittografia della chiave (KEK): il token principale che gestisci in un Key Management Service (KMS) esterno. AlloyDB Omni utilizza la tua KEK per criptare le DEK. AlloyDB Omni accede a questa chiave solo all'avvio per decriptare le DEK. La tua KEK non viene mai memorizzata in modo permanente sul disco del database.
    • La posizione e i parametri di accesso della KEK vengono forniti tramite variabili di ambiente e il flag di inizializzazione --tde-kek-url.

Come funziona TDE con AlloyDB Omni

Quando TDE è abilitata, AlloyDB Omni protegge i tuoi dati utilizzando un modello di crittografia a più livelli che si integra con un KMS esterno.

  • Inizializzazione e recupero delle chiavi: durante la fase di avvio o inizializzazione del cluster, il motore AlloyDB Omni stabilisce una connessione sicura al tuo KMS. Esegue l'autenticazione utilizzando un token web JSON (JWT) e recupera la KEK.
  • Unwrapping delle DEK: AlloyDB Omni utilizza la tua KEK per unwrap le DEK, che vengono archiviate nello spazio di archiviazione locale in uno stato wrapped. Queste DEK vengono quindi caricate in memoria.
  • Operazioni sui dati trasparenti:
    • Scrittura su disco: quando il database scrive blocchi di dati, record WAL o file temporanei sul disco fisico, cripta automaticamente i dati utilizzando gli algoritmi AES-256 prima di scriverli.
    • Lettura dal disco: quando il database deve leggere i dati in memoria, decripta automaticamente i blocchi utilizzando le chiavi DEK memorizzate in memoria.
    • Crittografia della cache: TDE supporta anche la cache su disco, incluse le informazioni del motore colonnare memorizzate nella cache. I dati scritti nel livello di archiviazione della cache fredda sono criptati e i dati trasferiti nella cache SSD del motore colonnare vengono criptati prima di essere scritti sull'SSD e decriptati al momento della lettura.
  • Ottimizzazioni delle prestazioni: TDE include ottimizzazioni per mantenere prestazioni elevate durante la protezione dei dati. Utilizza la protezione AES-256-XTS ottimizzata per i blocchi di dati e le cache e offre ottimizzazioni della scrittura sincrona per ridurre al minimo la latenza sui percorsi veloci.

  • Confini di sicurezza: la tua KEK non viene mai archiviata sul disco del database locale, garantendo che, anche se i supporti di archiviazione fisica vengono compromessi, i dati rimangano illeggibili senza accesso autorizzato al vault esterno.

Ambito e specifiche della crittografia

AlloyDB Omni utilizza algoritmi AES-256 standard di settore per proteggere i tuoi dati.

  • File di dati (tabelle e indici): AES-256-XTS.
  • Log write-ahead (WAL): AES-256-CTR.
  • File temporanei:AES-256-XTS o AES-256-CTR a seconda del tipo di dati temporanei.
  • File della cache del motore colonnare:AES-256-XTS.
  • File della cache di raffreddamento:AES-256-XTS.
  • Crittografia della chiave:AES-256-KWP.

Backup e alta affidabilità

Quando TDE è abilitata, i backup creati utilizzando pgBackRest ereditano la configurazione di crittografia del cluster di origine. In questo modo, i dati di backup rimangono protetti con lo stesso livello di sicurezza del database principale.

I backup possono essere ripristinati solo nei cluster in cui è disponibile la stessa KEK.

Per le configurazioni HA, l'ambiente di ripristino deve essere inizializzato con le stesse variabili di ambiente del vault. Le variabili di ambiente del vault devono essere disponibili su tutti gli host partecipanti.

KMS e autenticazione supportati

AlloyDB Omni supporta HashiCorp Vault come provider KMS esterno. AlloyDB Omni supporta solo il motore dei secret KV-V2 e l'unico metodo di autenticazione supportato è JWT.

Nota: AlloyDB Omni supporta KMS basato su file. Tuttavia, ti consigliamo di utilizzarlo solo a scopo di test e non nei workload di produzione.

Compatibilità degli strumenti PostgreSQL

I cluster abilitati alla TDE supportano tutti gli strumenti PostgreSQL integrati, ad eccezione di initdb, in modo trasparente tramite le variabili di ambiente. Se utilizzi initdb, assicurati di passare l'URL della KEK in modo esplicito. Per saperne di più, consulta Crea un cluster abilitato per TDE.

Limitazioni

  • Non puoi abilitare TDE sui cluster esistenti.
  • Una volta abilitata, la TDE non può essere disattivata.
  • Gli upgrade della versione principale non sono supportati per i cluster abilitati per TDE.
  • Non puoi ripristinare i backup criptati su server non criptati o i backup non criptati su server criptati.
  • La rotazione della DEK non è supportata.
  • La rotazione della KEK è supportata a condizione che il percorso dell'URL della KEK rimanga invariato.
  • Non puoi CREATE DATABASE utilizzando la strategia FILE_COPY.
  • Nei cluster abilitati per TDE, i backup di Barman supportano solo la modalità rsync. Il metodo di backup postgres non è supportato.
  • La rotazione della chiave di crittografia della chiave (KEK) è supportata solo per HashiCorp Vault come provider del sistema di gestione delle chiavi (KMS) esterno.

Passaggi successivi