Auf dieser Seite wird beschrieben, wie Sie Schlüssel für die folgenden Dienstkonten rotieren:
So rotieren Sie Ihre Dienstkontoschlüssel:
Erstellen Sie ein Verzeichnis zum Speichern einer Sicherung Ihrer aktuellen Secrets:
mkdir backup
Beachten Sie die folgenden Informationen für das entsprechende Dienstkonto:
Komponentenzugriff
Cluster Secret Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Admin private-registry-creds kube-system Nutzer private-registry-creds kube-system - Wenn Sie keine private Registry verwenden, enthält das Secret
private-registry-creds
den Schlüssel für Ihr Dienstkonto für den Komponentenzugriff. - Wenn Sie eine private Registry verwenden, enthält das Secret
private-registry-creds
die Anmeldedaten für Ihre private Registry und nicht den Dienstkontoschlüssel für den Komponentenzugriff.
Connect-register
Cluster Secret Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Logging-monitoring
Cluster Secret Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Nutzer google-cloud-credentials kube-system Nutzer stackdriver-service-account-key knative-serving Audit-Logging
Cluster Secret Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Admin kube-apiserver CLUSTER_NAME Nutzungsmessung
Cluster Secret Namespace Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Nutzer usage-metering-bigquery-service-account-key kube-system Stackdriver
Cluster Secret Namespace Admin admin-cluster-creds kube-system Admin user-cluster-creds CLUSTER_NAME-gke-onprem-mgmt Nutzer google-cloud-credentials kube-system Nutzer stackdriver-service-account-key knative-serving - Wenn Sie keine private Registry verwenden, enthält das Secret
Erstellen Sie mit dem folgenden Befehl eine Sicherung jedes Secrets:
kubectl get secret SECRET --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/SECRET-NAMESPACE.json
Ersetzen Sie Folgendes:
NAMESPACE
: der Namespace, in dem sich das Secret befindet. Beispiel:kube-system
.KUBECONFIG
: der Pfad zur kubeconfig-Datei für den Administrator- oder Nutzercluster.SECRET
: der Name des Secrets. Beispiel:admin-cluster-creds
.
Führen Sie beispielsweise die folgenden Befehle für das Audit-Logging-Dienstkonto aus:
kubectl get secret admin-cluster-creds --namespace kube-system \ --kubeconfig KUBECONFIG -o json > backup/admin-cluster-creds-kube-system.json kubectl get secret user-cluster-creds --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/user-cluster-creds-NAMESPACE.json kubectl get secret kube-apiserver --namespace NAMESPACE \ --kubeconfig KUBECONFIG -o json > backup/kube-apiserver-NAMESPACE.json
Führen Sie den folgenden Befehl aus, um eine neue Dienstkonto-Schlüsseldatei zu erstellen:
gcloud iam service-accounts keys create NEW_KEY_FILE --iam-account IAM_ACCOUNT
Ersetzen Sie Folgendes:
NEW_KEY_FILE
: der Name Ihrer neuen Dienstkonto-Schlüsseldatei.IAM_ACCOUNT
: die E-Mail-Adresse des Dienstkontos.
Suchen Sie in der Konfigurationsdatei des Administratorclusters das Feld
componentAccessServiceAccountKeyPath
, den AbschnittgkeConnect
, den Abschnittstackdriver
und den AbschnittcloudAuditLogging
. Ersetzen Sie an diesen Stellen die Pfade zu den Dienstkontoschlüsseldateien.Suchen Sie in der Konfigurationsdatei des Nutzerclusters das Feld
componentAccessServiceAccountKeyPath
, den AbschnittgkeConnect
, den Abschnittstackdriver
, den AbschnittcloudAudigLogging
und den AbschnittusageMetering
. Ersetzen Sie an diesen Stellen die Pfade zu den Dienstkontoschlüsseldateien.Speichern Sie die Änderungen, die Sie mit den folgenden Befehlen vorgenommen haben:
gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config ADMIN_CLUSTER_CONFIG \ --admin-cluster gkectl update credentials COMPONENT \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG \ --config USER_CLUSTER_CONFIG
Dabei gilt:
COMPONENT
: Entwedercomponentaccess
,register
,cloudauditlogging
,usagemetering
oderstackdriver
.ADMIN_CLUSTER_KUBECONFIG
: der Pfad zur kubeconfig-Datei für den Administratorcluster.ADMIN_CLUSTER_CONFIG
: der Pfad zur Konfigurationsdatei des Administratorclusters.USER_CLUSTER_CONFIG
: der Pfad zur Konfigurationsdatei des Nutzerclusters.
Einige Dienstkontoschlüsselrotationen können länger dauern, da Knoten neu erstellt werden müssen:
Dienstkontoschlüssel Neuerstellung von Knoten erforderlich Komponentenzugriff Ja Audit-Logging Ja Logging-monitoring Nein Connect-register Nein Nutzungsmessung Nein
Sicherungen wiederherstellen
Wenn Sie die Sicherungen der zuvor erstellten Secrets wiederherstellen müssen, führen Sie den folgenden Befehl aus:
kubectl apply -f backup/