Questa pagina mostra come pianificare l'eliminazione permanente della versione di una chiave Cloud Key Management Service. In Cloud KMS, il materiale della chiave di crittografia che utilizzi per criptare, decriptare, firmare e verificare i dati viene archiviato in una versione della chiave. Una chiave ha zero o più versioni. Quando ruoti una chiave, crei una nuova versione della chiave.
L'eliminazione di una versione della chiave comporta l'eliminazione permanente del materiale della chiave. Quando elimini una versione della chiave, non vengono eliminati altri dettagli come il nome della chiave e il numero della versione della chiave. Dopo l'eliminazione di una chiave, i dati criptati con la versione della chiave non possono essere decriptati.
L'unica eccezione è la reimportazione della chiave, che ti consente di ripristinare una chiave importata in precedenza fornendo lo stesso materiale della chiave originale.
Poiché l'eliminazione delle chiavi è generalmente irreversibile, Cloud KMS non ti consente di eliminare immediatamente le versioni delle chiavi. Devi invece pianificare l'eliminazione di una versione della chiave. La versione della chiave rimane nello stato di eliminazione pianificata per un periodo di tempo configurabile. Durante la durata dell'eliminazione pianificata, puoi ripristinare una versione della chiave per annullarne l'eliminazione.
La durata predefinita dell'eliminazione pianificata è di 30 giorni. Puoi impostare una durata personalizzata dell'eliminazione pianificata per una chiave durante la creazione della chiave. La tua organizzazione può applicare una durata minima dell'eliminazione pianificata impostando il vincolo Durata minima dell'eliminazione pianificata per chiave nei criteri dell'organizzazione.
Puoi anche gestire l'accesso alla chiave utilizzando Identity and Access Management (IAM). Le operazioni IAM sono coerenti in pochi secondi. Per saperne di più, consulta Utilizzo di IAM.
Puoi anche disabilitare temporaneamente una versione della chiave. Ti consigliamo di disabilitare le versioni delle chiavi prima di pianificarne l'eliminazione nell'ambito delle procedure per assicurarti che la chiave possa essere eliminata in sicurezza. A seconda dei criteri dell'organizzazione, potrebbe essere necessario disabilitare una versione della chiave prima di poterla pianificare per l'eliminazione. Per saperne di più sul controllo dell'eliminazione delle versioni delle chiavi utilizzando i criteri dell'organizzazione, consulta Controllare l'eliminazione delle versioni delle chiavi.
Nel resto di questo documento, la pianificazione dell'eliminazione di una chiave viene definita eliminazione della chiave, anche se l'eliminazione non è immediata.
Prima di iniziare
Comprendere i rischi
L'eliminazione di una versione della chiave è un'operazione permanente. L'eliminazione di una versione della chiave ancora necessaria comporta rischi, tra cui i seguenti:
Interruzione del servizio: se elimini una chiave necessaria per avviare un container o un'istanza, i tuoi servizi o applicazioni potrebbero non essere disponibili.
Perdita permanente dei dati: se elimini una chiave utilizzata per criptare i dati, questi diventano non disponibili. I dati criptati con una chiave eliminata sono considerati crypto-shredded. In alcuni casi, l'eliminazione di una chiave può causare l'eliminazione permanente delle risorse criptate.
Problemi normativi o di conformità: se elimini una chiave necessaria per accedere ai dati soggetti a un periodo di conservazione prima del completamento di questo periodo, potresti violare un requisito normativo o di conformità.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per eliminare e ripristinare le versioni delle chiavi, chiedi all'amministratore di concederti il ruolo IAM Amministratore Cloud KMS (roles/cloudkms.admin) sulla chiave.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.
Verificare se la versione della chiave è in uso
Prima di eliminare una versione della chiave, completa i seguenti passaggi per verificare se è in uso:
Visualizza i dettagli del monitoraggio dell'utilizzo delle chiavi per la chiave. Se alcune risorse sono protette dalla versione della chiave che vuoi eliminare, ricriptale con un'altra versione della chiave.
Attiva i log per qualsiasi servizio o applicazione che potrebbe utilizzare la versione della chiave.
Attiva i log nel progetto Cloud KMS che contiene la chiave.
Disabilita la versione della chiave. La disabilitazione della versione della chiave impedisce l'utilizzo della versione della chiave. Con la versione della chiave disabilitata, tutti i tentativi di utilizzo della versione della chiave non vanno a buon fine.
Monitora i log finché non sei sicuro che nessuna applicazione o servizio si affidi ancora alla versione della chiave che hai disabilitato. Se alcuni errori indicano un accesso non riuscito alla versione della chiave, configura l'applicazione o la risorsa in modo che utilizzi un'altra versione della chiave.
Il tempo che trascorri a monitorare i log prima di eliminare una versione della chiave dipende dal tipo di chiave, dal pattern di utilizzo e dal livello di sensibilità. Ad esempio, prima di eliminare una versione della chiave utilizzata in un processo che viene eseguito trimestralmente, mantieni la versione della chiave disabilitata finché il processo non viene completato correttamente.
Controlla l'utilizzo della chiave rispetto a eventuali requisiti di conformità applicabili. Ad esempio, la versione della chiave e i dati criptati con essa potrebbero essere soggetti a periodi di conservazione dei dati.
Questi passaggi ti aiutano a identificare se una chiave potrebbe essere ancora necessaria, ma non possono garantire che una versione della chiave non sia più necessaria. La tua organizzazione deve implementare procedure e linee guida per garantire che l'eliminazione della versione della chiave non causi effetti negativi.
Eliminare una versione della chiave
Puoi eliminare una versione della chiave abilitata o disabilitata.
Console
Nella Google Cloud console, vai alla pagina Gestione delle chiavi.
Seleziona la casella accanto alla versione della chiave che vuoi pianificare per l'eliminazione.
Fai clic su Elimina nell'intestazione.
Nel prompt di conferma, inserisci il nome della chiave e fai clic su Pianifica eliminazione.
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
gcloud kms keys versions destroy KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
Sostituisci quanto segue:
KEY_VERSION: il numero della versione della chiave che vuoi eliminare.KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi eliminare.KEY_RING: il nome del keyring che contiene la versione della chiave che vuoi eliminare.LOCATION: la località del keyring che contiene la versione della chiave che vuoi eliminare.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag --help.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, devi innanzitutto scoprire come utilizzare PHP e Google Cloud einstallare l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Cloud KMS.
API
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accedere all'API Cloud KMS.
Elimina una versione della chiave chiamando il CryptoKeyVersions.destroy.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:destroy" \
--request "POST" \
--header "authorization: Bearer TOKEN"
Sostituisci quanto segue:
PROJECT_ID: l'identificatore del progetto che contiene la versione della chiave che vuoi eliminare.LOCATION: la località del keyring che contiene la versione della chiave che vuoi eliminare.KEY_RING: il nome del keyring che contiene la versione della chiave che vuoi eliminare.KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi eliminare.KEY_VERSION: il numero della versione della chiave che vuoi eliminare.
Se non riesci a eliminare una versione della chiave, la tua organizzazione potrebbe richiedere che le versioni delle chiavi vengano disabilitate prima dell'eliminazione. Prova a disabilitare la versione della chiave prima di eliminarla.
Quando invii la richiesta di eliminazione, lo stato della versione della chiave diventa eliminazione pianificata. Una volta trascorsa la durata dell'eliminazione pianificata configurata per la chiave, lo stato della versione della chiave diventa eliminata, il che significa che è iniziata l'eliminazione logica del materiale della chiave dai sistemi attivi e il materiale della chiave non può essere recuperato dal cliente. Il materiale della chiave può rimanere nei sistemi Google fino a 45 giorni dopo l'ora di eliminazione pianificata.
Per ricevere un avviso quando una versione della chiave è pianificata per l'eliminazione, consulta Utilizzare Cloud Monitoring con Cloud KMS.
Le versioni delle chiavi eliminate non sono risorse fatturabili.
Eliminare le chiavi esterne
Per rimuovere definitivamente l'associazione tra una chiave Cloud EKM e una chiave esterna, puoi eliminare la versione della chiave. Una volta trascorso il periodo di eliminazione pianificata, la chiave viene eliminata. Dopo l'eliminazione della versione della chiave, non puoi più criptare i dati o decriptare i dati criptati con la versione della chiave Cloud EKM.
L'eliminazione di una versione della chiave gestita manualmente in Cloud KMS non modifica la chiave nel gestore di chiavi esterno. Ti consigliamo di eliminare prima la chiave o la versione della chiave in Google Cloud. Dopo l'eliminazione della versione della chiave Cloud EKM, puoi eliminare il materiale della chiave nel gestore di chiavi esterno.
L'eliminazione di una versione della chiave esterna coordinata in Cloud KMS elimina prima la versione della chiave in Google Cloud, e poi invia una richiesta di eliminazione all'EKM per eliminare il materiale della chiave esterna.
Ripristinare una versione della chiave
Durante il periodo in cui lo stato di una versione della chiave è eliminazione pianificata, puoi ripristinare la versione della chiave inviando una richiesta di ripristino.
Console
Nella Google Cloud console, vai alla pagina Gestione delle chiavi.
Fai clic sul nome del keyring che contiene la versione della chiave che vuoi ripristinare.
Fai clic sulla chiave che contiene la versione della chiave che vuoi ripristinare.
Seleziona la casella accanto alla versione della chiave che vuoi ripristinare.
Fai clic su Ripristina nell'intestazione.
Nel prompt di conferma, fai clic su Ripristina.
gcloud
Per utilizzare Cloud KMS dalla riga di comando, devi prima installare o eseguire l'upgrade all'ultima versione di Google Cloud CLI.
gcloud kms keys versions restore KEY_VERSION \
--key KEY_NAME \
--keyring KEY_RING \
--location LOCATION
Sostituisci quanto segue:
KEY_VERSION: il numero della versione della chiave che vuoi ripristinare.KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi ripristinare.KEY_RING: il nome del keyring che contiene la versione della chiave che vuoi ripristinare.LOCATION: la località del keyring che contiene la versione della chiave che vuoi ripristinare.
Per informazioni su tutti i flag e i valori possibili, esegui il comando con il flag --help.
C#
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo C# e installare l'SDK C# di Cloud KMS.
Go
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Go e installare l'SDK Go di Cloud KMS.
Java
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Java e installare l'SDK Java di Cloud KMS.
Node.js
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Node.js e installare l'SDK Node.js di Cloud KMS.
PHP
Per eseguire questo codice, devi innanzitutto scoprire come utilizzare PHP e Google Cloud einstallare l'SDK PHP di Cloud KMS.
Python
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Python e installare l'SDK Python di Cloud KMS.
Ruby
Per eseguire questo codice, devi innanzitutto configurare un ambiente di sviluppo Ruby e installare l'SDK Ruby di Cloud KMS.
API
Questi esempi utilizzano curl come client HTTP per dimostrare l'utilizzo dell'API. Per saperne di più sul controllo dell'accesso, consulta Accedere all'API Cloud KMS.
Ripristina una versione della chiave chiamando il CryptoKeyVersions.restore.
curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION:restore" \
--request "POST" \
--header "authorization: Bearer TOKEN"
Sostituisci quanto segue:
PROJECT_ID: l'identificatore del progetto che contiene la versione della chiave che vuoi ripristinare.LOCATION: la località del keyring che contiene la versione della chiave che vuoi ripristinare.KEY_RING: il nome del keyring che contiene la versione della chiave che vuoi ripristinare.KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi ripristinare.KEY_VERSION: il numero della versione della chiave che vuoi ripristinare.
Al termine della richiesta di ripristino, lo stato della versione della chiave diventa disabilitato. Prima di poter utilizzare la chiave, devi abilitarla.
Autorizzazioni IAM obbligatorie
Per eliminare una versione della chiave, il chiamante deve disporre dell'autorizzazione IAM cloudkms.cryptoKeyVersions.destroy sulla chiave, sul keyring o sul progetto, sulla cartella o sull'organizzazione.
Per ripristinare una versione della chiave, il chiamante deve disporre dell'autorizzazione cloudkms.cryptoKeyVersions.restore.
Entrambe queste autorizzazioni vengono concesse al ruolo Amministratore Cloud KMS (roles/cloudkms.admin).
Cronologia di eliminazione
Cloud KMS si impegna a eliminare il materiale delle chiavi dei clienti da tutta l'infrastruttura Google entro 45 giorni dall'ora di eliminazione pianificata. Ciò include la rimozione dei dati sia dai sistemi attivi sia dai backup dei data center. Gli altri dati dei clienti sono soggetti alla cronologia di eliminazione standard Google Cloud di 180 giorni.