Dienstkontoschlüssel rotieren

Auf dieser Seite wird beschrieben, wie Sie Ihre Dienstkontoschlüssel mit gkectl für Cloud-Audit-Logs, Nutzungsmessung und Stackdriver-Komponenten in Anthos-Clustern auf VMware (GKE On-Prem) rotieren.

So rotieren Sie Ihre Dienstkontoschlüssel:

  1. Erstellen Sie ein Verzeichnis zum Speichern einer Sicherung Ihrer aktuellen Secrets:

    mkdir backup
  2. Beachten Sie die folgenden Informationen zur entsprechenden Komponente:

    Cloud-Audit-Logs

    Cluster Secret Namespace
    Administrator 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
    Administrator 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
  3. 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 die Komponente "Cloud-Audit-Logs" 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
  4. 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 Ihres Dienstkontos für Cloud-Audit-Logs, Nutzungsmessung oder Stackdriver.
  5. Suchen Sie in den entsprechenden Konfigurationsdateien für den Administrator- und den Nutzercluster den Abschnitt cloudauditlogging, usagemetering oder stackdriver.

  6. Ersetzen Sie das Feld serviceAccountKeyPath durch die zuvor erstellte NEW_KEY_FILE.

  7. Speichern Sie die Änderungen, die Sie mit den folgenden Befehlen vorgenommen haben:

    gkectl update credentials COMPONENT --admin-cluster --kubeconfig \
      ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
    
    gkectl update credentials COMPONENT --kubeconfig \
       KUBECONFIG --config USER_CLUSTER_CONFIG

    Dabei gilt:

    • COMPONENT: Entweder cloudauditlogging, usagemetering oder stackdriver.
    • 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.