Ruotare una chiave radice

Questo documento descrive come ruotare una chiave radice. Se la chiave principale viene compromessa o se scegli di ruotare periodicamente le chiavi principali per migliorare la sicurezza, puoi ruotare le chiavi in una nuova chiave principale utilizzando la risorsa RotationJob.

La rotazione di una chiave radice crea una nuova chiave radice, che diventa la chiave primaria e cripta tutte le chiavi non radice. Non puoi eliminare una chiave radice; la rotazione è l'unico modo per sostituirla. Per ulteriori informazioni sulle chiavi root, vedi Tipi di chiavi root.

Per informazioni dettagliate sull'API KMS, consulta la panoramica dell'API KMS e l'API KRM di Key Management Service per visualizzare la definizione completa dell'API.

Prima di iniziare

Prima di continuare, assicurati di avere quanto segue:

  • Il comando kubectl configurato per accedere al server dell'API Management. Per farlo, ottieni un file kubeconfig utilizzando l'interfaccia a riga di comando (CLI) gcloud.

  • Il ruolo Amministratore job di rotazione KMS. Per ottenere le autorizzazioni necessarie per ruotare le chiavi, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore job di rotazione KMS (kms-rotationjob-admin).

Ruotare una chiave radice

Per creare una nuova chiave principale e ruotare le chiavi, completa i seguenti passaggi:

  1. Crea un file YAML e aggiungi la risorsa RotationJob e il seguente contenuto:

    apiVersion: "kms.gdc.goog/v1"
    kind: RotationJob
    metadata:
      name: ROTATION_NAME
    spec:
      rootKeyResourceName: ROOT_KEY_RESOURCE_NAME
    

    Sostituisci ROTATION_NAME con un nome per il job di rotazione  ad esempio: rotate-job1.

    Sostituisci ROOT_KEY_RESOURCE_NAME con il nome della chiave radice specificato nel formato namespace/NAMESPACE/secrets/ROOT_KEY_NAME

    Ad esempio, namespaces/kms-system/secrets/ctm-root.

  2. Applica i contenuti del file YAML a KMS:

    kubectl apply -f FILENAME.yaml
    

    Sostituisci FILENAME con il nome del file YAML.

    Dopo aver eseguito il comando, KMS crea una nuova chiave radice e ruota ogni chiave con la nuova chiave radice.

  3. Per verificare che la rotazione della chiave radice sia completata, esegui questo comando:

    kubectl get rotationjobs ROTATION_NAME
    

    Sostituisci ROTATION_NAME con il nome del job di rotazione.

    Dopo aver eseguito il comando, lo stato del job di rotazione viene visualizzato come Completed se l'operazione è riuscita.

  4. Rimuovi l'annotazione Done dalla chiave principale. La rimozione dell'annotazione ti consente di ruotare la chiave più di una volta. Questo passaggio deve essere eseguito dall'operatore dell'infrastruttura (IO). Chiedi al tuo IO di eseguire quanto segue:

    kubectl annotate secret kms-key-ROOT_KEY_NAME -n kms-system gdch.cluster.gke.io/rotation-status-