Elimina risorse Cloud KMS

Questo documento mostra come eliminare definitivamente le chiavi e le versioni delle chiavi di Cloud Key Management Service. Questa operazione è irreversibile.

In Cloud KMS, l'eliminazione e l'eliminazione definitiva sono operazioni diverse:

  • Eliminazione: disattiva definitivamente una versione della chiave, distruggendo in modo irreversibile il materiale della chiave sottostante dopo il periodo di eliminazione specificato. Una versione della chiave nello stato DESTROYED non può essere utilizzata per operazioni di crittografia e non viene più fatturata. Puoi eliminare una versione della chiave utilizzata per criptare i dati per distruggere crittograficamente i dati che vuoi rendere permanentemente irrecuperabili. Le versioni delle chiavi eliminate sono comunque incluse negli elenchi delle risorse Cloud KMS.

  • Eliminazione: rimuove una chiave o una versione della chiave dagli elenchi di risorse Cloud KMS nella console Google Cloud , in Google Cloud CLI, nell'API Cloud Key Management Service e nelle librerie client. Per i progetti con molte chiavi o versioni di chiavi non più attive, l'eliminazione semplifica le operazioni di ricerca e di elenco. I nomi delle CryptoKey eliminate non possono essere riutilizzati. Puoi visualizzare un elenco dei nomi di CryptoKey eliminati che non possono essere riutilizzati utilizzando il metodo retiredResources.list.

Prima di iniziare

Per ottenere le autorizzazioni necessarie per eliminare e visualizzare le risorse Cloud KMS, 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.

Questo ruolo predefinito contiene le autorizzazioni necessarie per eliminare e visualizzare le risorse Cloud KMS. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eliminare e visualizzare le risorse Cloud KMS sono necessarie le seguenti autorizzazioni:

  • Per eliminare una versione della chiave: cloudkms.cryptoKeyVersions.delete
  • Per eliminare una chiave: cloudkms.cryptoKeys.delete
  • Per visualizzare le risorse eliminate:
    • cloudkms.retiredResources.get
    • cloudkms.retiredResources.list

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Eliminare una versione della chiave

Puoi eliminare una versione della chiave se si trova nello stato DESTROYED, IMPORT_FAILED o GENERATION_FAILED. Se la versione della chiave è stata importata, può essere eliminata solo se l'importazione non è riuscita.

Per eliminare definitivamente una versione della chiave:

gcloud

Per eliminare una versione della chiave, esegui questo comando:

gcloud kms keys versions delete KEY_VERSION \
    --location=LOCATION \
    --keyring=KEY_RING \
    --key=KEY_NAME

Sostituisci quanto segue:

  • KEY_VERSION: il numero della versione della chiave che vuoi eliminare definitivamente. La versione della chiave indicata deve essere nello stato DESTROYED, IMPORT_FAILED o GENERATION_FAILED.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
  • KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi eliminare definitivamente.

REST

  1. Per eliminare una versione della chiave, chiama il metodo cryptoKeyVersions.delete. Questo metodo restituisce un'operazione a lunga esecuzione che puoi eseguire il polling per verificare che la versione della chiave sia stata eliminata.

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME/cryptoKeyVersions/KEY_VERSION" \
    --request "DELETE" \
    --header "authorization: Bearer TOKEN"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
    • KEY_NAME: il nome della chiave che contiene la versione della chiave che vuoi eliminare definitivamente.
    • KEY_VERSION: il numero della versione della chiave che vuoi eliminare definitivamente. La versione della chiave indicata deve essere nello stato DESTROYED, IMPORT_FAILED o GENERATION_FAILED.

    L'output del comando restituisce un Operation. Per il passaggio successivo, devi disporre dell'name dell'operazione.

  2. Per verificare che la versione della chiave sia stata eliminata, puoi chiamare il metodo operations.get:

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \
        --request "GET" \
        --header "authorization: Bearer TOKEN"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • OPERATION_NAME: il nome dell'operazione restituita dal metodo precedente.

    Quando l'output di questo metodo mostra che done è true, l'operazione è terminata. Se non è indicato alcun error, la versione della chiave è stata eliminata definitivamente.

Eliminare una chiave

Puoi eliminare una chiave se soddisfa le seguenti condizioni:

  • La chiave non contiene versioni non ancora eliminate.
  • La chiave non ha una rotazione della chiave automatica pianificata.
  • La chiave non è stata creata da Autokey di Cloud KMS.

Per eliminare definitivamente una chiave:

gcloud

Per eliminare una chiave, esegui questo comando:

gcloud kms keys delete KEY_NAME \
    --location=LOCATION \
    --keyring=KEY_RING

Sostituisci quanto segue:

  • KEY_NAME: il nome della chiave che vuoi eliminare definitivamente. La chiave non deve contenere versioni che non sono ancora state eliminate e non deve essere una chiave creata da Autokey.
  • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
  • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.

REST

  1. Per eliminare una chiave, chiama il metodo cryptoKey.delete. Questo metodo restituisce un'operazione a lunga esecuzione che puoi eseguire il polling per verificare che la chiave sia stata eliminata.

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME" \
    --request "DELETE" \
    --header "authorization: Bearer TOKEN"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • KEY_RING: il nome delle chiavi automatizzate che contengono la chiave.
    • KEY_NAME: il nome della chiave che vuoi eliminare definitivamente. La chiave non deve contenere versioni che non sono ancora state eliminate e non deve essere una chiave creata da Autokey.

    L'output del comando restituisce un Operation. Per il passaggio successivo, devi disporre dell'name dell'operazione.

  2. Per verificare che la chiave sia stata eliminata, puoi chiamare il metodo operations.get:

    curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_NAME" \
        --request "GET" \
        --header "authorization: Bearer TOKEN"
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto che contiene le chiavi automatizzate.
    • LOCATION: la posizione di Cloud KMS delle chiavi automatizzate.
    • OPERATION_NAME: il nome dell'operazione restituito dal metodo precedente.

    Quando l'output di questo metodo mostra che done è true, l'operazione è terminata. Se non viene indicato alcun error, la chiave è stata eliminata definitivamente.

Visualizzare i nomi delle risorse ritirate

I nomi delle chiavi eliminate non possono essere riutilizzati nello stesso progettoGoogle Cloud . In questo modo, due chiavi diverse non possono avere lo stesso identificatore di risorsa. I nomi delle chiavi eliminate vengono archiviati negli oggetti retiredResources. Puoi eseguire query su retiredResources per visualizzare i nomi che non possono essere riutilizzati per le nuove risorse Cloud KMS.

Per visualizzare un elenco di tutte le risorse ritirate:

gcloud

Esegui questo comando:

gcloud kms retired-resources list \
    --location=LOCATION

Sostituisci quanto segue:

  • LOCATION: la località in cui vuoi visualizzare le risorse ritirate.

REST

Utilizza il metodo retiredResources.list:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/" \
    --request "GET" \
    --header "authorization: Bearer TOKEN"

Sostituisci quanto segue:

  • PROJECT_ID: l'identificatore del progetto in cui vuoi visualizzare le risorse ritirate.
  • LOCATION: la località in cui vuoi visualizzare le risorse ritirate.

Per visualizzare i metadati di una singola risorsa ritirata:

gcloud

Esegui questo comando:

gcloud kms retired-resources describe RETIRED_RESOURCE \
    --location=LOCATION

Sostituisci quanto segue:

  • RETIRED_RESOURCE: il nome della risorsa che vuoi visualizzare.
  • LOCATION: la posizione in cui vuoi visualizzare una risorsa ritirata.

REST

Utilizza il metodo retiredResources.get:

curl "https://cloudkms.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/retiredResources/RETIRED_RESOURCE" \
    --request "GET" \
    --header "authorization: Bearer TOKEN"

Sostituisci quanto segue:

  • PROJECT_ID: l'identificatore del progetto in cui vuoi visualizzare una risorsa ritirata.
  • LOCATION: la posizione in cui vuoi visualizzare una risorsa ritirata.
  • RETIRED_RESOURCE: il nome della risorsa che vuoi visualizzare.

L'output di questo metodo include resourceType, deleteTime e l'identificatore completo della risorsa eliminata.

Passaggi successivi