Per impostazione predefinita, Cloud SQL per MySQL cripta i contenuti inattivi dei clienti. Cloud SQL per MySQL gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, tra cui Cloud SQL per MySQL. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione , la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre monitorare l'utilizzo delle chiavi, visualizzare gli audit log e controllare i cicli di vita delle chiavi. Invece di Google, sei tu ad avere la proprietà e la gestione delle chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati. Puoi controllare e gestire queste chiavi in Cloud KMS.
Dopo aver configurato le risorse con le chiavi CMEK, l'esperienza di accesso alle risorse Cloud SQL per MySQL è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
CMEK con Autokey di Cloud KMS
Puoi creare le chiavi CMEK manualmente per proteggere le risorse Cloud SQL per MySQL oppure utilizzare Cloud KMS Autokey. Con Autokey, le chiavi e le chiavi automatizzate vengono generate on demand per supportare la creazione delle risorse in Cloud SQL per MySQL. Vengono creati gli agenti di servizio che utilizzano le chiavi per le operazioni di crittografia e decrittografia, se non esistono già, e ricevono i ruoli IAM (Identity and Access Management) richiesti. Per saperne di più, consulta la panoramica di Autokey.
Autokey non crea chiavi per le risorse BackupRun di Cloud SQL per MySQL. Quando
crei un backup di un'istanza Cloud SQL per MySQL, il backup viene
criptato con la chiave gestita dal cliente dell'istanza principale.
Cloud SQL per MySQL è compatibile con Cloud KMS Autokey solo quando crei risorse utilizzando Terraform o l'API REST.
Per scoprire come utilizzare le chiavi CMEK create manualmente per proteggere le risorse Cloud SQL per MySQL, consulta Utilizzare le chiavi di crittografia gestite dal cliente (CMEK).
Per utilizzare le chiavi CMEK create da Cloud KMS Autokey per proteggere le risorse Cloud SQL per MySQL, segui i passaggi forniti per Secret Manager in Utilizzo di Autokey con le risorse Secret Manager come esempio.
Crittografia gestita da Google e crittografia gestita dal cliente
I diagrammi riportati di seguito mostrano come funziona la crittografia dei dati inattivi all'interno di un'istanza Cloud SQL quando utilizzi la crittografia predefinita di Google rispetto alle chiavi di crittografia gestite dal cliente.
Senza CMEK
Con CMEK
Quando decripta i dati sottoposti a wrapping con chiavi di crittografia gestite dal cliente, Cloud SQL utilizza la chiave KEK per decriptare la chiave DEK e la chiave DEK non criptata per decriptare i dati inattivi.

Quando Cloud SQL interagisce con le chiavi CMEK?
| Operazione | Note |
| Creazione dell'istanza | Durante la creazione dell'istanza, configuri l'istanza in modo che utilizzi le chiavi di crittografia gestite dal cliente. |
| Creazione del backup | Durante i backup di un'istanza abilitata per CMEK, le chiavi di crittografia gestite dal cliente criptano i dati utente, come query e risposte degli utenti. I backup di un'istanza abilitata per CMEK ereditano la crittografia con la stessa chiave Cloud KMS dell'istanza di origine. |
| Ripristino dell'istanza | Durante i ripristini di un'istanza abilitata per CMEK, Cloud SQL utilizza la chiave per accedere ai dati nell'istanza di backup in fase di ripristino. Quando esegui il ripristino in un' istanza diversa, l'istanza di destinazione può utilizzare una chiave diversa per la crittografia. |
| Creazione della replica | Quando crei una replica di lettura o di failover di un'istanza Cloud SQL nella stessa regione, questa eredita la chiave CMEK dall'istanza principale. Se crei una replica di lettura o di failover in una regione diversa, devi selezionare una chiave CMEK dall'altra regione. Ogni regione utilizza il proprio set di chiavi. |
| Creazione del clone | I cloni di un'istanza abilitata per CMEK ereditano la crittografia CMEK con la stessa chiave Cloud KMS dell'istanza di origine. |
| Aggiornamento dell'istanza | Durante gli aggiornamenti di un'istanza abilitata per CMEK, Cloud SQL controlla la chiave CMEK. |
Quali località supportano le istanze Cloud SQL abilitate per CMEK?
La chiave CMEK è disponibile in tutte le località delle istanze Cloud SQL.
Informazioni sugli account di servizio
Quando le istanze Cloud SQL hanno la chiave CMEK abilitata, devi utilizzare un account di servizio per richiedere l'accesso alle chiavi da Cloud KMS.
Per utilizzare una chiave di crittografia gestita dal cliente in un progetto, devi avere un account di servizio e devi concedere l'accesso alla chiave di crittografia gestita dal cliente all'account di servizio. L'account di servizio deve esistere all'interno del progetto. L'account di servizio è visibile in tutte le regioni.
Se utilizzi la console per creare un'istanza, Cloud SQL crea automaticamente l'account di servizio quando scegli per la prima volta l'opzione Chiave gestita dal cliente (se non esiste già un account di servizio). Non devi disporre di autorizzazioni speciali per il tuo account utente quando Cloud SQL crea automaticamente l'account di servizio.
Informazioni sulle chiavi
In Cloud KMS, devi creare un keyring con una chiave di crittografia, impostata con una località. Quando crei una nuova istanza Cloud SQL, seleziona questa chiave per criptare l'istanza.
Devi conoscere l'ID e la regione della chiave quando crei nuove istanze Cloud SQL che utilizzano chiavi di crittografia gestite dal cliente. Devi inserire le nuove istanze Cloud SQL nella stessa regione della chiave di crittografia gestita dal cliente associata all'istanza. Puoi creare un progetto per entrambe le chiavi e le istanze Cloud SQL oppure progetti diversi per ciascuna.
Le chiavi di crittografia gestite dal cliente utilizzano il seguente formato:
projects/[KMS_PROJECT_ID]/locations/[LOCATION]/keyRings/[KEY_RING]/cryptoKeys/[KEY_NAME]
Se Cloud SQL non è in grado di accedere alla chiave (ad esempio se disabiliti la versione della chiave), Cloud SQL sospende l'istanza. Una volta che la chiave diventa di nuovo accessibile, Cloud SQL riprende automaticamente l'istanza. Tuttavia, questa operazione può richiedere fino a 10 minuti a causa della procedura di convalida interna associata.
Quando ruoti le chiavi, le istanze criptate con quella chiave non vengono ricriptate automaticamente con la nuova versione della chiave primaria. Puoi ricriptare qualsiasi istanza o replica primaria CMEK esistente con la nuova versione della chiave primaria. Per saperne di più su come ricriptare un'istanza o una replica Cloud SQL dopo la rotazione della chiave, consulta Ricriptare un'istanza o una replica abilitata per CMEK esistente.
Gestori di chiavi esterni
Puoi utilizzare le chiavi archiviate in gestori di chiavi esterni, come Fortanix, Futurex o Thales, come chiavi di crittografia gestite dal cliente. Per scoprire come utilizzare le chiavi esterne con Cloud KMS, consulta Cloud External Key Manager (Cloud EKM).
Key Access Justifications
Puoi utilizzare Key Access Justifications come parte di Cloud EKM. Key Access Justifications ti consente di visualizzare il motivo di ogni richiesta di Cloud EKM. Inoltre, in base alla giustificazione fornita, puoi approvare o negare automaticamente una richiesta. Per saperne di più, consulta la panoramica di Key Access Justifications.
Pertanto, Key Access Justifications fornisce un controllo aggiuntivo sui dati fornendo una giustificazione per ogni tentativo di decriptare i dati.
Per informazioni correlate sull'utilizzo delle chiavi con le istanze Cloud SQL, consulta Creare un'istanza Cloud SQL con CMEK.
Come faccio a rendere i dati criptati con CMEK inaccessibili in modo permanente?
Potresti trovarti in situazioni in cui vuoi eliminare definitivamente i dati criptati con CMEK. Per farlo, elimina la versione della chiave di crittografia gestita dal cliente. Non puoi eliminare il keyring o la chiave, ma puoi eliminare le versioni della chiave.
Come faccio a esportare e importare dati da e verso un'istanza abilitata per CMEK?
Se vuoi che i dati rimangano criptati con una chiave gestita dal cliente durante un'esportazione o un'importazione, devi impostare una chiave di crittografia gestita dal cliente nel bucket Cloud Storage prima di esportare i dati. Non esistono requisiti o limitazioni speciali per l'importazione di dati in una nuova istanza quando i dati sono stati archiviati in precedenza in un'istanza abilitata con una chiave di crittografia gestita dal cliente.
Limitazioni
Quando utilizzi le chiavi di crittografia gestite dal cliente, si applicano le seguenti limitazioni:
- Non puoi abilitare le chiavi di crittografia gestite dal cliente in un'istanza esistente.
- Non puoi assegnare una chiave diversa a una replica nella stessa regione dell'istanza principale. Per le repliche tra regioni, devi creare una nuova chiave per la regione della replica.
- Non puoi assegnare una chiave diversa a un clone.
- Non puoi utilizzare le chiavi di crittografia gestite dal cliente per criptare:
- Server esterni (istanze principali esterne e repliche esterne)
- Metadati dell'istanza, come ID istanza, versione del database, tipo di macchina, flag, pianificazione dei backup e così via.
- Non puoi utilizzare le chiavi di crittografia gestite dal cliente per criptare i dati utente in transito, come query e risposte degli utenti.
- Dopo aver creato un'istanza Cloud SQL, non puoi modificare il tipo di chiave di crittografia. Non puoi passare da una chiave Google-owned and Google-managed encryption key a una chiave Cloud Key Management Service (KMS) o viceversa.
Passaggi successivi
- Scopri di più sulla crittografia at-rest in Google Cloud Platform.
- Scopri come creare un'istanza con CMEK abilitata.
- Scopri di più su Cloud Key Management Service (Cloud KMS).
- Scopri di più sulle quote per le risorse Cloud KMS.
- Scopri di più sugli account di servizio IAM.
- Scopri come aggiungere giustificazioni per l'accesso alle chiavi.
- Trova altri prodotti che utilizzano CMEK.