Dienstkontoschlüssel rotieren

Zum Rotieren der Dienstkontoschlüssel in Google Distributed Cloud aktualisieren Sie die vorhandenen Clusteranmeldedaten mit dem Befehl bmctl. Diese Dienstkontoschlüsselrotation kann im Rahmen Ihrer regulären Prozesse zum Aktualisieren von Anmeldedaten oder als Reaktion auf eine mögliche Offenlegung der Schlüssel erfolgen. Wenn Sie Clusteranmeldedaten aktualisieren, werden die neuen Informationen an Administrator- oder Hybridcluster übergeben oder automatisch an betroffene Nutzercluster weitergeleitet, die von einem Administratorcluster verwaltet werden.

Cluster-Anmeldedaten, die aktualisiert werden können.

Für Google Distributed Cloud-Cluster sind für die Erstellung mehrere Anmeldedaten erforderlich. Sie legen die Anmeldedaten in der Clusterkonfiguration fest, wenn Sie einen Administrator-, eigenständigen oder Hybridcluster erstellen. Nutzercluster werden, wie bereits erwähnt, von einem Administratorcluster (oder einem Hybridcluster, der als Administrator fungiert) verwaltet und verwenden dieselben Anmeldedaten wie vom Administratorcluster.

Weitere Informationen zum Erstellen von Clustern und verschiedenen Clustertypen finden Sie in der Installationsübersicht: Bereitstellungsmodell auswählen.

Mit dem Befehl bmctl können Sie die folgenden Anmeldedaten und die zugehörigen Secrets in Google Distributed Cloud-Clustern aktualisieren:

  • Privater SSH-Schlüssel: Wird für den Knotenzugriff verwendet.
  • Container Registry-Schlüssel (anthos-baremetal-gcr): Dienstkontoschlüssel, der zur Authentifizierung bei Container Registry für den Image-Abruf verwendet wird.
  • Connect-Agent-Dienstkontoschlüssel (anthos-baremetal-connect): Dienstkontoschlüssel, der von Connect Agent-Pods verwendet wird.
  • Registry-Dienstkontoschlüssel verbinden (anthos-baremetal-register): Dienstkontoschlüssel, der zur Authentifizierung bei Hub beim Registrieren oder Aufheben der Registrierung eines Clusters verwendet wird.
  • Dienstkontoschlüssel für Cloud-Vorgänge (anthos-baremetal-cloud-ops): Dienstkontoschlüssel zur Authentifizierung bei den Google Cloud-APIs für Beobachtbarkeit (Logging und Monitoring)

Anmeldedaten mit bmctl aktualisieren

Wenn Sie Cluster erstellen, erstellt Google Distributed Cloud Kubernetes-Secrets anhand Ihrer Anmeldedatenschlüssel. Wenn Sie neue Schlüssel generieren, müssen Sie die entsprechenden Secrets wie in den folgenden Schritten beschrieben aktualisieren. Wenn sich der Name oder Pfad zu Ihren Schlüsseln ändert, müssen Sie auch die entsprechende Clusterkonfigurationsdatei aktualisieren.

  1. Bereiten Sie die neuen Werte für die Anmeldedaten vor, die Sie aktualisieren möchten:

    • Sie können über die Google Cloud CLI oder Google Cloud Console neue Google-Dienstkontoschlüssel generieren.

    • Generieren Sie einen neuen privaten SSH-Schlüssel auf der Administratorworkstation und achten Sie darauf, dass die Maschinen mit Clusterknoten den entsprechenden öffentlichen Schlüssel haben.

  2. Aktualisieren Sie den Bereich „Anmeldedaten“ der Clusterkonfigurationsdatei mit den Pfaden zu den neuen Schlüsseln.

  3. Aktualisieren Sie die entsprechenden Cluster-Secrets mit dem Befehl bmctl update credentials und fügen Sie die entsprechenden Flags hinzu.

    Im folgenden Beispiel werden die Anmeldedaten für einen neuen privaten SSH-Schlüssel aktualisiert:

    bmctl update credentials --kubeconfig ADMIN_KUBECONFIG \
        --cluster CLUSTER_NAME \
        --ssh-private-key-path SSH_KEY_PATH
    

    Ersetzen Sie Folgendes:

    • ADMIN_KUBECONFIG: der Pfad der kubeconfig-Datei des Administrator- oder selbstverwalteten Clusters

    • CLUSTER_NAME: der Name des Clusters, für den Sie den SSH-Schlüssel aktualisieren.

    • SSH_KEY_PATH: der Pfad der SSH-Schlüsseldatei Standardmäßig prüft bmctl die SSH- und Dienstkontoschlüsseldateien, die in der Clusterkonfigurationsdatei angegeben sind. Wenn bmctl eine abgelaufene Schlüsseldatei findet, schlägt der Befehl fehl. Wenn sich die neue gültige Schlüsseldatei an einem anderen Speicherort befindet als in der Konfigurationsdatei angegeben, fügen Sie das Flag --ignore-validation-errors hinzu, um diesen Fehler zu vermeiden.

    Eine vollständige Liste der Flags, die Sie mit dem Befehl bmctl update credentials verwenden können, finden Sie in der bmctl-Befehlsreferenz unter Anmeldedaten aktualisieren.