Always-On-Secrets-Verschlüsselung verwenden

Anthos-Cluster auf VMware (GKE On-Prem) Version 1.9 unterstützt die Verschlüsselung von Secrets ohne einen externen KMS (Key Management Service) oder andere Abhängigkeiten.

Always-On-Secrets-Verschlüsselung aktivieren

Die Always-On-Secrets-Verschlüsselung funktioniert, indem automatisch ein Verschlüsselungsschlüssel generiert wird, mit dem Secrets verschlüsselt werden, bevor sie in der etcd-Datenbank für diesen Cluster gespeichert werden.

Die Schlüsselversion ist eine Versionsnummer, die angibt, dass der Schlüssel derzeit verwendet wird.

Sie können die Secret-Verschlüsselung aktivieren, nachdem ein Cluster bereits erstellt wurde.

  • Für den Administratorcluster:

    1. Bearbeiten Sie die Konfigurationsdatei für den Administratorcluster, um den Abschnitt secretsEncryption hinzuzufügen.

    2. Führen Sie den Befehl gkectl update aus:

      gkectl update admin --config ADMIN_CLUSTER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG
  • Für einen Nutzercluster:

    1. Bearbeiten Sie die Konfigurationsdatei des Nutzerclusters, um den Abschnitt secretsEncryption hinzuzufügen.

    2. Führen Sie den Befehl gkectl update aus:

      gkectl update cluster --config USER_CONFIG_FILE --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Ersetzen Sie Folgendes:

  • ADMIN_KUBECONFIG durch den Pfad der Datei "kubeconfig" Ihres Administratorclusters.
  • ADMIN_CLUSTER_CONFIG durch den Pfad Ihrer Konfigurationsdatei Ihres Administratorclusters.
  • USER_CLUSTER_CONFIG ist der Pfad Ihrer Nutzercluster-Konfigurationsdatei.

Die in diesem Abschnitt bereitgestellten gkectl update-Befehle können auch für andere Aktualisierungen des entsprechenden Clusters verwendet werden.

Schlüsselspeicherung

Die Verschlüsselungsschlüssel für den Administratorcluster werden auf dem Datenlaufwerk des Administratorclusters gespeichert. Dieses Laufwerk wird auf der Administrator-Mastermaschine unter /opt/data bereitgestellt. Die Verschlüsselungsschlüssel finden Sie unter /opt/data/gke-k8s-kms-plugin/generatedkeys/. Diese Schlüssel müssen gesichert werden, um den Zugriff auf die von diesen Schlüsseln verschlüsselten Secrets zu erhalten.

Schlüsselrotation

Um einen vorhandenen Verschlüsselungsschlüssel für einen Cluster zu rotieren, erhöhen Sie die keyVersion in der entsprechenden Konfigurationsdatei für den Admincluster oder Nutzercluster-Konfigurationsdatei und führen Sie den entsprechenden gkectl update-Befehl aus. Dadurch wird ein neuer Schlüssel erstellt, der mit der neuen Versionsnummer übereinstimmt, jedes Secret wird neu verschlüsselt und alte Schlüssel werden sicher gelöscht. Alle nachfolgenden neuen Secrets werden mit dem neuen Verschlüsselungsschlüssel verschlüsselt.

Always-On-Secret-Verschlüsselung deaktivieren

Wenn Sie die Verschlüsselung von Secrets für einen vorhandenen Cluster deaktivieren möchten, entfernen Sie das Feld keyVersion und fügen Sie das Feld disabled: true hinzu. Führen Sie als Nächstes den entsprechenden gkectl update-Befehl aus. Mit diesem Update wird jedes vorhandene Secret entschlüsselt und jedes Secret wird im Nur-Text-Format gespeichert. Alle nachfolgenden neuen Secrets werden im Nur-Text-Format gespeichert.

secretsEncryption:
  mode: GeneratedKey
  generatedKey:
    disabled: true