Questa pagina descrive come configurare un account di servizio e le chiavi per le chiavi di crittografia gestite dal cliente e come creare un'istanza che utilizza una chiave di crittografia gestita dal cliente. Per saperne di più sull'utilizzo delle chiavi di crittografia gestite dal cliente con Cloud SQL, consulta Panoramica delle chiavi di crittografia gestite dal cliente.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
- Assicurati di disporre del ruolo Amministratore Cloud SQL per il tuo account utente.
-
Attiva Cloud Key Management Service API.
-
Attiva l'API Cloud SQL Admin.
Flusso di lavoro per la creazione di un'istanza Cloud SQL con CMEK
- Solo utenti gcloud e API: crea un account di servizio per ogni progetto che richiede chiavi di crittografia gestite dal cliente.
- Crea un keyring e una chiave e imposta la posizione di ogni chiave. La località è la regione Google Cloud.
- Solo utenti gcloud e API: Concedi all'account di servizio l'accesso alla chiave.
- Prendi nota dell'ID chiave (KMS_KEY_ID), della posizione della chiave (GCP_REGION) e dell'ID del keyring (KMS_KEYRING_ID).
- Vai a un progetto e crea un'istanza Cloud SQL con le seguenti opzioni:
- La stessa località della chiave di crittografia gestita dal cliente
- La configurazione delle chiavi gestite dal cliente
- L'ID della chiave di crittografia gestita dal cliente
L'istanza Cloud SQL è ora abilitata con CMEK.
Crea un service account
Devi creare un account di servizio per ogni progetto che richiede chiavi di crittografia gestite dal cliente.
Per consentire a un utente di gestire gli account di servizio, concedi uno dei seguenti ruoli:
- Utente account di servizio (
roles/iam.serviceAccountUser
): include le autorizzazioni per elencare gli account di servizio, ottenere dettagli su un account di servizio e impersonare un account di servizio. - Amministratore account di servizio (
roles/iam.serviceAccountAdmin
): include le autorizzazioni per elencare gli account di servizio e ottenere i dettagli relativi a un account di servizio. Include anche le autorizzazioni per creare, aggiornare ed eliminare gli account di servizio, nonché per visualizzare o modificare il criterio Cloud SQL per MySQL su un account di servizio.
Al momento puoi utilizzare solo i comandi gcloud CLI per creare il tipo di account di servizio necessario per le chiavi di crittografia gestite dal cliente. Se utilizzi la console, Cloud SQL crea automaticamente questo account di servizio per te.
gcloud
gcloud beta services identity create \ --service=sqladmin.googleapis.com \ --project=PROJECT_ID
Terraform
Per creare un account di servizio, utilizza una risorsa Terraform.
Applica le modifiche
Per applicare la tua configurazione Terraform a un progetto Google Cloud, completa i passaggi nelle sezioni seguenti.
Prepara Cloud Shell
- Avvia Cloud Shell.
-
Imposta il progetto Google Cloud predefinito a cui vuoi applicare le configurazioni Terraform.
Devi eseguire questo comando una sola volta per progetto e puoi eseguirlo in qualsiasi directory.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Le variabili di ambiente vengono sostituite se imposti valori espliciti nel file di configurazione Terraform.
Prepara la directory
Ogni file di configurazione Terraform deve avere la propria directory (chiamata anche modulo principale).
-
In Cloud Shell, crea una directory e un nuovo file al suo interno. Il nome del file deve avere l'estensione
.tf
, ad esempiomain.tf
. In questo tutorial, il file è denominatomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se stai seguendo un tutorial, puoi copiare il codice campione in ogni sezione o passaggio.
Copia il codice campione nel nuovo oggetto
main.tf
.Facoltativamente, copia il codice da GitHub. Questa opzione è consigliata se lo snippet Terraform fa parte di una soluzione end-to-end.
- Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
- Salva le modifiche.
-
Inizializza Terraform. Devi eseguire questa operazione una sola volta per directory.
terraform init
Facoltativamente, per utilizzare la versione più recente del provider Google, includi l'opzione
-upgrade
:terraform init -upgrade
Applica le modifiche
-
Esamina la configurazione e verifica che le risorse che Terraform creerà o aggiornerà soddisfino le tue aspettative:
terraform plan
Apporta le correzioni necessarie alla configurazione.
-
Applica la configurazione Terraform eseguendo questo comando e inserendo
yes
al prompt:terraform apply
Attendi finché in Terraform non viene visualizzato il messaggio "Applicazione completata!".
- Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle risorse nella UI per assicurarti che Terraform le abbia create o aggiornate.
Il comando precedente restituisce il nome di un account di servizio. Puoi utilizzare questo nome dell'account di servizio durante la procedura descritta in Concedere all'account di servizio l'accesso alla chiave.
Crea una chiave
Puoi creare la chiave nello stesso progetto Google Cloud dell'istanza Cloud SQL o in un progetto utente separato. La località del keyring di Cloud KMS deve corrispondere alla regione in cui vuoi creare l'istanza Cloud SQL. Una chiave per più regioni o per una regione globale non funzionerà. La richiesta di creazione dell'istanza Cloud SQL ha esito negativo se le regioni non corrispondono.
Per creare una chiave Cloud KMS:
Console
-
Nella console Google Cloud, vai alla pagina Gestione chiavi.
- Fai clic su Crea keyring.
- Aggiungi un Nome keyring. Prendi nota di questo nome perché ne hai bisogno quando concedi all'account di servizio l'accesso alla chiave.
- Aggiungi una posizione per il keyring.
- Fai clic su Crea. Viene visualizzata la pagina Crea chiave.
- Aggiungi un Nome chiave.
- Seleziona uno Scopo (simmetrico o asimmetrico).
- Seleziona un Periodo di rotazione e Data di inizio.
- Fai clic su Crea.
- Nella tabella Chiavi, fai clic sui tre puntini nell'ultima colonna e seleziona Copia ID risorsa oppure annotalo. Questo è il KMS_KEY_ID. Ti serve il KMS_KEY_ID quando concedi l'accesso alla chiave all'account di servizio.
gcloud
- Crea un nuovo keyring.
gcloud kms keyrings create KMS_KEYRING_ID \ --location=GCP_REGION
Annota questo nome perché ne hai bisogno quando concedi la chiave di accesso all'account di servizio. - Crea una chiave sul keyring.
gcloud kms keys create KMS_KEY_ID \ --location=GCP_REGION \ --keyring=KMS_KEYRING_ID \ --purpose=encryption
Annota questo nome perché ne hai bisogno quando concedi la chiave di accesso all'account di servizio.
Terraform
Per creare un keyring, utilizza una risorsa Terraform.
Per creare una chiave, utilizza una risorsa Terraform.
Applica la configurazione Terraform:
terraform apply
Concedi all'account di servizio l'accesso alla chiave
Quando crei l'istanza Cloud SQL con CMEK, devi eseguire questa procedura solo se utilizzi gcloud o l'API. Puoi eseguire questa procedura se riscontri problemi di autorizzazione dopo la creazione dell'istanza.
Per concedere l'accesso all'account di servizio:
Console
-
Nella console Google Cloud, vai alla pagina Gestione chiavi.
- Per selezionare il progetto che ospita la chiave, utilizza il selettore di progetti.
- Fai clic sul nome del keyring.
- Fai clic sul nome della chiave.
- Fai clic sulla scheda Autorizzazioni.
- Per aprire il riquadro, fai clic su Concedi l'accesso.
- Inserisci l'account di servizio come entità e seleziona "Autore crittografia/decrittografia CryptoKey Cloud KMS" come ruolo.
- Fai clic su Salva.
In alternativa, puoi concederlo anche nella pagina IAM del progetto.
gcloud
gcloud kms keys add-iam-policy-binding KMS_KEY_ID \ --location=GCP_REGION \ --keyring=KMS_KEYRING_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-cloud-sql.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Terraform
Per concedere l'accesso alla chiave, utilizza una risorsa Terraform.
Applica la configurazione Terraform:
terraform apply
Crea un'istanza Cloud SQL con CMEK
Per creare un'istanza con chiavi di crittografia gestite dal cliente:
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su Crea istanza.
- Scegli il motore del database.
- Inserisci un nome per l'istanza. Non includere informazioni sensibili o che consentono l'identificazione personale nel nome dell'istanza perché sono visibili esternamente. Non è necessario includere l'ID progetto nel nome dell'istanza. Questo viene creato automaticamente quando opportuno (ad esempio, nei file di log).
- Inserisci la password per l'utente
'root'@'%'
. - Imposta la regione per l'istanza. Posiziona l'istanza nella stessa regione delle risorse che vi accedono. Nella maggior parte dei casi, non è necessario specificare una zona.
- Nella sezione Opzioni di configurazione, seleziona tutte le opzioni di configurazione fino a raggiungere Tipo di macchina e archiviazione.
- Espandi Tipo di macchina e archiviazione.
- Nella sezione Crittografia, seleziona Chiave gestita dal cliente.
- Seleziona la chiave KMS dal menu a discesa o inserisci manualmente il KMS_KEY_ID. Sono visualizzate solo le chiavi KMS nello stesso progetto e nella stessa regione dell'istanza. Per scegliere una chiave KMS appartenente a un progetto diverso, ma nella stessa regione, seleziona Non vedi la chiave? Inserisci l'ID risorsa della chiave e il KMS_KEY_ID acquisito in precedenza.
- Se l'account di servizio non dispone dell'autorizzazione per criptare/decriptare con la chiave selezionata, viene visualizzato un messaggio. In questo caso, fai clic su Concedi per concedere all'account di servizio il ruolo IAM
roles/cloudkms.cryptoKeyEncrypterDecrypter>
sulla chiave KMS selezionata. - Dopo aver selezionato le opzioni di configurazione, fai clic su Crea.
- Viene visualizzato un messaggio che spiega le implicazioni dell'utilizzo della chiave di crittografia gestita dal cliente. Leggilo e confermalo per procedere con la creazione dell'istanza.
gcloud
gcloud sql instances create INSTANCE_NAME \ --project=PROJECT_ID \ --disk-encryption-key=KMS_KEY_ID \ --database-version=VERSION \ --tier=MACHINE_TYPE \ --region=REGION \ --root-password=INSERT-PASSWORD-HERE
Terraform
Per creare un'istanza con CMEK, utilizza una risorsa Terraform.
Elimina le modifiche
Per eliminare le modifiche:
- Per disabilitare la protezione dall'eliminazione, imposta l'argomento
deletion_protection
nel file di configurazione di Terraform sufalse
.deletion_protection = "false"
- Applica la configurazione Terraform aggiornata eseguendo questo comando e
inserendo
yes
al prompt:terraform apply
-
Per rimuovere le risorse applicate in precedenza con la tua configurazione Terraform, esegui questo comando e inserisci
yes
al prompt:terraform destroy
REST v1
Per creare un'istanza con chiavi di crittografia gestite dal cliente, passadiskEncryptionConfiguration
al comando.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID progetto
- instance-id: l'ID istanza
- region: la regione
- database-version: stringa della versione Emum (ad esempio, MYSQL_8_0)
- kms-resource-id: l'ID ricevuto dalla creazione di una chiave.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
Corpo JSON della richiesta:
{ "name":"instance-id", "region":"region", "databaseVersion": "database-version", "diskEncryptionConfiguration" : { "kmsKeyName" : "kms-resource-id" }, "settings": { "backupConfiguration": { "binaryLogEnabled": true, "enabled":true } } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id", "targetProject": "project-id" }
REST v1beta4
Per creare un'istanza con chiavi di crittografia gestite dal cliente, passadiskEncryptionConfiguration
al comando.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- project-id: l'ID progetto
- instance-id: l'ID istanza
- region: la regione
- database-version: stringa della versione Emum (ad esempio, MYSQL_8_0)
- kms-resource-id: l'ID ricevuto dalla creazione di una chiave.
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
Corpo JSON della richiesta:
{ "name":"instance-id", "region":"region", "databaseVersion": "database-version", "diskEncryptionConfiguration" : { "kmsKeyName" : "kms-resource-id" }, "settings": { "backupConfiguration": { "binaryLogEnabled": true, "enabled":true } } }
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-16T02:32:12.281Z", "operationType": "UPDATE", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
Crea un backup per un'istanza abilitata per CMEK
Quando crei un backup di un'istanza Cloud SQL, questo viene criptato con la stessa versione della chiave primaria della chiave gestita dal cliente dell'istanza principale.
Consulta Creazione e gestione dei backup on demand e automatici.
Nel modulo Crea un backup verrà visualizzato il messaggio: "Il backup verrà criptato con la versione principale della chiave di crittografia gestita dal cliente di questa istanza. Se qualcuno distrugge o disattiva la versione della chiave, tutti i dati di backup criptati utilizzando quella versione della chiave andranno persi definitivamente. Puoi controllare la versione principale della chiave in Cloud KMS."
Nella pagina dei backup, l'elenco dei backup abilitati con chiavi di crittografia gestite dal cliente contiene due colonne aggiuntive. Una colonna che mostra che il backup è per un'istanza abilitata per CMEK e una colonna che mostra la versione della chiave utilizzata per criptare il backup.
Crea una replica per un'istanza abilitata per CMEK
Quando crei una replica di lettura di un'istanza Cloud SQL nella stessa regione, questa eredita la stessa chiave di crittografia gestita dal cliente dell'istanza padre. Se crei una replica di lettura in una regione diversa, ti viene fornito un nuovo elenco di chiavi di crittografia gestite dal cliente tra cui scegliere. Ogni regione utilizza il proprio set di chiavi.
Consulta Creazione di repliche di lettura.
Nella pagina Crea replica di lettura, troverai le seguenti informazioni:
- In Crittografia viene visualizzato Gestito dal cliente.
- Viene visualizzata la chiave di crittografia per la replica.
- Viene visualizzato il messaggio "La tua replica verrà criptata con la chiave gestita dal cliente dell'istanza principale. Se qualcuno distrugge questa chiave, tutti i dati criptati con la chiave saranno persi definitivamente.
Per una replica tra regioni, viene visualizzato il seguente messaggio:
"La tua replica tra regioni sarà criptata con la chiave gestita dal cliente selezionata. Se qualcuno distrugge questa chiave, tutti i dati criptati con la chiave saranno persi definitivamente."
Crea un clone di un'istanza abilitata per CMEK
Quando crei un clone di un'istanza Cloud SQL, questo eredita la stessa chiave di crittografia gestita dal cliente utilizzata per criptare l'istanza di origine.
Vedi Cloning delle istanze.
Nella pagina Crea clone, saranno visualizzate le seguenti informazioni:
- In Crittografia viene visualizzato Gestito dal cliente.
- Viene visualizzata la chiave di crittografia del clone.
- Viene visualizzato il messaggio "Il tuo clone verrà criptato con la chiave gestita dal cliente dell'istanza di origine. Se qualcuno distrugge questa chiave, tutti i dati criptati con la chiave saranno persi definitivamente.
Visualizza le informazioni chiave per un'istanza abilitata per CMEK
Dopo aver creato un'istanza Cloud SQL, puoi consultare l'elenco delle istanze o la pagina Panoramica dell'istanza per vedere se è stata creata utilizzando una chiave di crittografia gestita dal cliente. I dettagli mostrano anche la chiave utilizzata per creare l'istanza.
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Nell'elenco Istanze, scorri verso destra fino alla colonna Crittografia. In questa colonna sono indicati Gestita da Google e Gestita dal cliente.
- Fai clic sul nome di un'istanza per aprire la pagina Panoramica. La chiave di crittografia gestita dal cliente è elencata nel riquadro Configurazione.
Ricripta un'istanza o una replica abilitata per CMEK esistente
Puoi ricriptare le istanze e le repliche di Cloud SQL esistenti con la versione della chiave primaria più recente. Per saperne di più sulla ricrittografia dell'istanza o della replica abilitata per CMEK esistente, consulta Informazioni sulle chiavi.
Ottenere la nuova versione della chiave primaria
Per criptare nuovamente l'istanza o la replica con una nuova versione, è necessaria la nuova versione della chiave primaria. Se hai bisogno di una nuova versione della chiave per le tue istanze, devi ruotare la chiave utilizzando Cloud Key Management Service. Per ruotare la chiave primaria, consulta Ruotare una chiave.
Al termine della rotazione della chiave, attendi che la modifica della chiave primaria venga propagata prima di criptare nuovamente le istanze. Se la modifica della versione della chiave non è coerente, l'istanza continuerà a utilizzare la versione precedente della chiave dopo la nuova crittografia. Per maggiori informazioni, consulta Coerenza delle versioni della chiave.
Ricripta l'istanza abilitata per CMEK
Al termine della rotazione della chiave, cripta nuovamente l'istanza o la replica esistente abilitata per CMEK.
Console
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Nella sezione Configurazione, fai clic su Ricripta l'istanza.
- Nella finestra di dialogo visualizzata, conferma la selezione facendo clic su Ricripta.
gcloud
Per criptare nuovamente l'istanza o la replica, esegui questo comando:
gcloud sql instances reencrypt INSTANCE_NAMESostituisci
INSTANCE_NAME
con il nome dell'istanza o della replica che stai ricriptando.
REST v1
Per criptare nuovamente l'istanza o la replica con la nuova chiave, esegui questo comando:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/reencrypt
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID progetto
- INSTANCE_ID: l'ID istanza
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/reencrypt
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id
/instances/instance-id
", "status": "PENDING", "user": "user@example.com", "insertTime": "2023-06-28T21:19:09.503Z", "operationType": "REENCRYPT", "name": "operation-id
", "targetId": "instance-id
", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id
/operations/operation-id
", "targetProject": "project-id
" }
REST v1beta4
Per criptare nuovamente l'istanza o la replica con la nuova chiave, esegui questo comando:POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/reencrypt
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- PROJECT_ID: l'ID progetto
- INSTANCE_ID: l'ID istanza
Metodo HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/reencrypt
Per inviare la richiesta, espandi una delle seguenti opzioni:
Dovresti ricevere una risposta JSON simile alla seguente:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id
/instances/instance-id
", "status": "PENDING", "user": "user@example.com", "insertTime": "2023-06-28T21:22:13.663Z", "operationType": "REENCRYPT", "name": "operation-id
", "targetId": "instance-id
", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id
/operations/operation-id
", "targetProject": "project-id
" }
Backup automatici della ricrittografia
Quando cripti un'istanza principale con una nuova versione della chiave primaria, Cloud SQL crea automaticamente un backup on demand chiamato backup di nuova crittografia.
Nell'elenco dei backup per
l'istanza Cloud SQL, il backup con nuova crittografia è indicato come tipo on-demand
ed etichettato con backup created automatically for data before CMEK re-encryption
.
Come per altri backup on demand, i backup con ricrittografia vengono mantenuti finché non li elimini o elimini l'istanza.
Limitazioni relative alla ricrittografia
Quando cripti un'istanza, tieni presente le seguenti limitazioni:
- Non puoi eseguire altre operazioni di amministrazione sull'istanza mentre è in corso l'operazione di ricrittografia.
- L'operazione di ricrittografia attiva un tempo di inattività che dipende dalle dimensioni dell'istanza o della replica.
- Le repliche di un'istanza non vengono crittografate di nuovo quando un'istanza è criptata. Devi ricriptare ogni replica separatamente.
- Quando cripti nuovamente l'istanza, i backup non vengono ricriptati automaticamente con la nuova versione della chiave. Per ripristinare il backup o il recupero point-in-time a un'ora successiva all'esecuzione del backup, devi conservare la versione della chiave Cloud KMS con cui è criptato il backup.
Per la risoluzione dei problemi, consulta la tabella per la risoluzione dei problemi relativi alla ricrittografia.
Utilizzo di Cloud External Key Manager (Cloud EKM)
Per proteggere i dati nelle istanze Cloud SQL, puoi utilizzare le chiavi che gestisci all'interno di un partner esterno per la gestione delle chiavi supportato. Per ulteriori informazioni, consulta Cloud External Key Manager, che include la sezione Considerazioni.
Quando è tutto pronto per creare una chiave Cloud EKM, consulta Gestire le chiavi Cloud EKM. Dopo aver creato una chiave, fornisci il nome della chiave quando crei un'istanza Cloud SQL.
Puoi utilizzare Key Access Justifications (KAJ) come parte di Cloud EKM. KAJ consente di visualizzare il motivo per ogni richiesta di Cloud EKM. Inoltre, in base alla giustificazione fornita, puoi approvare o rifiutare automaticamente una richiesta. Per scoprire di più, consulta la Panoramica.
Pertanto, KAJ offre un ulteriore controllo sui dati fornendo una giustificazione per ogni tentativo di decriptazione dei dati.
Google non ha il controllo sulla disponibilità delle chiavi in un sistema esterno di gestione delle chiavi dei partner.
Disabilita e riabilita le versioni delle chiavi
Consulta i seguenti argomenti:
Risolvere i problemi
Questa sezione descrive le operazioni da eseguire quando ricevi un messaggio di errore durante la configurazione o l'utilizzo delle istanze abilitate per CMEK.
Le operazioni dell'amministratore di Cloud SQL, come la creazione, la clonazione o l'aggiornamento, potrebbero non riuscire a causa di errori di Cloud KMS e di ruoli o autorizzazioni mancanti. I motivi comuni di errore includono una versione mancante della chiave Cloud KMS, una versione della chiave Cloud KMS disabilitata o eliminata, autorizzazioni IAM insufficienti per accedere alla versione della chiave Cloud KMS oppure la versione della chiave Cloud KMS si trova in una regione diversa rispetto all'istanza Cloud SQL. Utilizza la seguente tabella per la risoluzione dei problemi per diagnosticare e risolvere i problemi più comuni.
Tabella per la risoluzione dei problemi relativi alle chiavi di crittografia gestite dal cliente
Per questo errore... | Il problema potrebbe essere... | Prova questa procedura... |
---|---|---|
Account di servizio per prodotto e progetto non trovato | Il nome dell'account di servizio non è corretto. | Assicurati di aver creato un account di servizio per il progetto utente corretto.
|
Impossibile concedere l'accesso all'account di servizio | L'account utente non dispone dell'autorizzazione per concedere l'accesso a questa versione della chiave. | Aggiungi il ruolo Amministratore organizzazione al tuo account utente o di servizio.
|
La versione della chiave Cloud KMS è stata eliminata | La versione della chiave è stata eliminata. | Se la versione della chiave viene eliminata, non puoi utilizzarla per criptare o decriptare i dati. |
La versione della chiave Cloud KMS è disabilitata | La versione della chiave è disabilitata. | Riattiva la versione della chiave Cloud KMS.
|
Autorizzazione insufficiente per utilizzare la chiave Cloud KMS | Ruolo cloudkms.cryptoKeyEncrypterDecrypter non presente nell'account utente o
di servizio che stai utilizzando per eseguire operazioni sulle istanze Cloud SQL oppure
la versione della chiave Cloud KMS non esiste. |
Nel progetto Google Cloud che ospita la chiave, aggiungi il ruolo cloudkms.cryptoKeyEncrypterDecrypter al tuo account utente o di servizio.
Se il ruolo è già stato concesso al tuo account, consulta Creazione di una chiave per scoprire come creare una nuova versione della chiave. Vedi nota. |
Chiave Cloud KMS non trovata | La versione della chiave non esiste. | Crea una nuova versione della chiave. Consulta la sezione Creazione di una chiave. Vedi nota. |
L'istanza Cloud SQL e la versione della chiave Cloud KMS si trovano in regioni diverse | La versione della chiave Cloud KMS e l'istanza Cloud SQL devono trovarsi nella stessa regione. Non funziona se la versione della chiave Cloud KMS si trova in una regione globale o in più regioni. | Crea una versione della chiave nella stessa regione in cui vuoi creare le istanze. Consulta la sezione Creazione di una chiave. Vedi nota. |
La versione della chiave Cloud KMS viene ripristinata, ma l'istanza è ancora sospesa | La versione della chiave è disabilitata o non concede le autorizzazioni corrette. | Riattiva la versione della chiave e concedi il ruolo cloudkms.cryptoKeyEncrypterDecrypter all'account utente o di servizio nel progetto Google Cloud che ospita la chiave. |
Tabella per la risoluzione dei problemi relativi alla ricrittografia
Per questo errore... | Il problema potrebbe essere... | Prova questa procedura... |
---|---|---|
Nuova crittografia delle risorse CMEK non riuscita perché la chiave Cloud KMS non è accessibile. Assicurati che la versione della chiave primaria sia abilitata e che l'autorizzazione sia concessa correttamente. | La versione della chiave è disabilitata o non concede le autorizzazioni corrette. | Riattiva la versione della chiave Cloud KMS: Nel progetto Google Cloud che ospita la chiave, verifica che
il ruolo |
Nuova crittografia delle risorse CMEK non riuscita a causa di un errore interno del server. Riprova più tardi | Si è verificato un errore interno del server. | Riprova a eseguire la nuova crittografia. Per maggiori informazioni, consulta Ricriptare un'istanza o una replica abilitata per CMEK esistente |
Passaggi successivi
- Configura l'accesso all'istanza.
- Connettiti all'istanza con un client.
- Crea un database nell'istanza.
- Importa i dati nell'istanza.
- Crea gli utenti nell'istanza.
- Scopri di più sulle impostazioni delle istanze.
- Scopri come aggiungere giustificazioni di accesso alle chiavi alle tue chiavi.