Stammschlüssel rotieren

Wenn Ihr Stammschlüssel kompromittiert wird oder Sie Stammschlüssel regelmäßig rotieren möchten, können Sie Ihre Schlüssel mit der RotationJob-Ressource auf einen neuen Stammschlüssel rotieren.

Weitere Informationen zur KMS API finden Sie in der KMS API-Übersicht. Die vollständige API-Definition finden Sie in der Key Management Service KRM API.

Hinweise

Bevor Sie fortfahren, benötigen Sie Folgendes:

  • Der Befehl kubectl ist für den Zugriff auf den Management API-Server konfiguriert. Dazu müssen Sie eine kubeconfig-Datei mit der gcloud-Befehlszeile abrufen.

  • Die Rolle „KMS Rotation Job Admin“. Bitten Sie Ihren Organisations-IAM-Administrator, Ihnen die Rolle „KMS Rotation Job Admin“ (kms-rotationjob-admin) zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Rotieren von Schlüsseln benötigen.

Stammschlüssel rotieren

So erstellen Sie einen neuen Root-Schlüssel und rotieren Ihre Schlüssel:

  1. Erstellen Sie eine YAML-Datei und fügen Sie die RotationJob-Ressource und den folgenden Inhalt hinzu:

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

    Ersetzen Sie ROTATION_NAME durch einen Namen für den Rotationsjob, z. B. rotate-job1.

    Ersetzen Sie ROOT_KEY_RESOURCE_NAME durch den Namen des Stammschlüssels im Format namespace/NAMESPACE/secrets/ROOT_KEY_NAME.

    Beispiel: namespaces/kms-system/secrets/ctm-root.

  2. Wenden Sie den Inhalt der YAML-Datei auf den KMS an:

    kubectl apply -f FILENAME.yaml
    

    Ersetzen Sie FILENAME durch den Namen der YAML-Datei.

    Nachdem Sie den Befehl ausgeführt haben, erstellt KMS einen neuen Stammschlüssel und rotiert jeden Schlüssel mit dem neuen Stammschlüssel.

  3. Führen Sie Folgendes aus, um zu prüfen, ob die Rotation des Root-Schlüssels abgeschlossen ist:

    kubectl get rotationjobs ROTATION_NAME
    

    Ersetzen Sie ROTATION_NAME durch den Namen des Rotationsjobs.

    Nach der Ausführung des Befehls wird der Status des Rotationsjobs als Completed angezeigt, wenn er erfolgreich war.

  4. Entfernen Sie die Annotation Done aus dem Stammschlüssel. Wenn Sie den Hinweis entfernen, können Sie den Schlüssel mehrmals rotieren. Dieser Schritt muss von Ihrem Infrastrukturbetreiber (Infrastructure Operator, IO) ausgeführt werden. Bitten Sie Ihren IO, Folgendes auszuführen:

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