Sicherheitsanmeldedaten rotieren

In diesem Thema wird beschrieben, wie Sie die Sicherheitsanmeldedaten für Ihre Anthos-Cluster im AWS-Verwaltungsdienst (GKE on AWS) und Nutzercluster rotieren. Weitere Informationen zu den Sicherheitsfunktionen von Anthos-Clustern in AWS finden Sie unter Sicherheit.

Hinweis

Zum Ausführen der Schritte auf dieser Seite müssen Sie Zugriff auf das Verzeichnis mit Ihren Anthos-Clustern in der AWS-Konfiguration haben.

Verwaltungsdienstzertifikate

In diesem Abschnitt wird beschrieben, wie Zertifikate für Ihren Verwaltungsdienst rotiert werden.

Zertifizierungszertifizierungsstellen

In diesem Abschnitt wird erläutert, wie Sie Zertifizierungszertifikate für Anthos-Cluster in AWS-Komponenten rotieren.

Stamm-CA der Verwaltungs-API-Server

Führen Sie die folgenden Schritte aus, um die Stamm-CA des API-Servers zu rotieren:

  1. Wechseln Sie in das Verzeichnis mit Ihren Anthos-Clustern in der AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
    cd anthos-aws
  2. Öffnen Sie anthos-gke.status.yaml in einem Texteditor.
  3. Entfernen Sie alle Werte unter dem Schlüssel certificateAuthority. Dies betrifft encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value und encryptedPrivateKey.certificate.
  4. Führen Sie anthos-gke aws management init aus, um die Datei anthos-gke.status.yaml zu aktualisieren.

     anthos-gke aws management init
    
  5. Führen Sie anthos-gke aws management apply aus, um den Verwaltungsdienst zu aktualisieren.

     anthos-gke aws management apply
    

  1. Verwenden Sie anthos-gke im Verzeichnis anthos-aws, um den Kontext zu Ihrem Verwaltungsdienst zu wechseln.
    cd anthos-aws
    anthos-gke aws management get-credentials

Andere Verwaltungs-CAs

In diesem Abschnitt wird beschrieben, wie die folgenden Zertifizierungsstellen rotiert werden:

  • Authentifizierungs-Webhook-CA
  • Etcd-CA
  • Zertifizierungsstelle für Dienstkonten

Sie können diese CAs mit einer der folgenden Methoden rotieren:

  • Entfernen Sie den Abschnitt "certificateAuthority" aus "anthos-gke.status.yaml".

    1. Wechseln Sie in das Verzeichnis mit Ihren Anthos-Clustern in der AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
      cd anthos-aws
    2. Öffnen Sie anthos-gke.status.yaml in einem Texteditor.
    3. Entfernen Sie alle Werte unter dem Schlüssel certificateAuthority. Dies betrifft encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value und encryptedPrivateKey.certificate.
    4. Führen Sie anthos-gke aws management init aus, um die Datei anthos-gke.status.yaml zu aktualisieren.

       anthos-gke aws management init
      
    5. Führen Sie anthos-gke aws management apply aus, um den Verwaltungsdienst zu aktualisieren.

       anthos-gke aws management apply
      

  • Wenn ein neuer Anthos-Cluster auf der AWS-Version verfügbar ist, führen Sie ein Upgrade Ihrer Anthos-Cluster im AWS-Verwaltungsdienst durch.

  • Erstellen Sie die EC2-Instanz des Verwaltungsdiensts neu.

    1. Auf Ihreranthos-aws verwenden Sie terraform um die ID Ihres Verwaltungsdiensts abzurufen.
      cd anthos-aws
      terraform output cluster_id
      Die Ausgabe enthält die ID Ihres Verwaltungsdiensts. Im folgenden Beispiel lautet die ID gke-12345abc.
      terraform output cluster_id
      gke-12345abc
      
    2. Öffnen Sie die AWS EC2-Konsole.
    3. Klicken Sie auf Instanzen.
    4. Suchen Sie die Instanz mit dem Namen cluster-id-management-0.
    5. Wählen Sie Aktionen -> Instanzstatus -> Beenden aus, um die Instanz zu entfernen. EC2 erstellt automatisch eine neue Instanz mit demselben EBS-Volume.

TLS-Client-/Serverschlüssel und -Zertifikate verwalten

Sie müssen die Verwaltungsdienstinstanz neu erstellen, um die TLS-Client-/Serverschlüssel und -Zertifikate für Ihren Verwaltungsdienst zu rotieren. Führen Sie die folgenden Schritte aus, um die Instanz neu zu erstellen:

  1. Auf Ihreranthos-aws verwenden Sie terraform um die ID Ihres Verwaltungsdiensts abzurufen.
    cd anthos-aws
    terraform output cluster_id
    Die Ausgabe enthält die ID Ihres Verwaltungsdiensts. Im folgenden Beispiel lautet die ID gke-12345abc.
    terraform output cluster_id
    gke-12345abc
    
  2. Öffnen Sie die AWS EC2-Konsole.
  3. Klicken Sie auf Instanzen.
  4. Suchen Sie die Instanz mit dem Namen cluster-id-management-0.
  5. Wählen Sie Aktionen -> Instanzstatus -> Beenden aus, um die Instanz zu entfernen. EC2 erstellt automatisch eine neue Instanz mit demselben EBS-Volume.

Google Cloud-Dienstkonten

Dienstkonten für die Verwaltung

Führen Sie die folgenden Schritte aus, um die Google Cloud-Dienstkonten für Ihren Verwaltungsdienst zu rotieren.

  1. Erstellen Sie neue Dienstkonten und laden Sie Dienstkontoschlüssel herunter. Folgen Sie dazu den Schritten unter Voraussetzungen.
  2. Wechseln Sie in das Verzeichnis mit Ihren Anthos-Clustern in der AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
    cd anthos-aws
  3. Wenn Sie Schlüssel in einen anderen Pfad heruntergeladen haben, öffnen Sie die Datei anthos-gke.yaml in einem Texteditor. Ändern Sie den Wert von .spec.googleCloud.serviceAccountKeys.managementService, .status.googleCloud.serviceAccountKeys.connectAgent und .spec.googleCloud.serviceAccountKeys.node in die neuen Pfade.

    apiVersion: multicloud.cluster.gke.io/v1
    kind: AWSManagementService
    metadata:
     name: management
    spec:
     googleCloud:
       serviceAccountKeys:
         managementService: MANAGEMENT_KEY_PATH
         connectAgent: CONNECT_KEY_PATH
         node: NODE_KEY_PATH
     ...
    
  4. Führen Sie anthos-gke aws management init aus, um die Datei anthos-gke.status.yaml zu aktualisieren.

    anthos-gke aws management init
    
  5. Führen Sie anthos-gke aws management apply aus, um den Verwaltungsdienst zu aktualisieren.

    anthos-gke aws management apply
    

Nutzercluster-Dienstkonten

Damit Sie diese Dienstkonten auf AWS-Cluster und AWSNodePools anwenden können, müssen Sie Upgrade ausführen oder Löschen dannneu erstellen.

Nutzerclusterzertifikate

In diesem Abschnitt wird beschrieben, wie Sie die Zertifikate für Ihre Nutzercluster rotieren.

Nutzercluster-CAs und SSH-Schlüssel

Die meisten Zertifizierungsstellen für Ihre Nutzercluster werden beim Erstellen des Clusters erstellt.

Wenn Sie einen Nutzercluster löschen, rotiert Anthos Cluster on AWS folgende Zertifikate:

  • API-Server-Stamm-CA
  • API-Front-End-CA
  • etcd-CA
  • Zertifizierungsstelle für Kubernetes-Dienstkontos
  • SSH-Schlüsselpaare von der Steuerungsebene zu Knoten

Nutzercluster-Authentifizierungs-Webhook-CA

Bearbeiten Sie die Datei anthos-gke.status.yaml und wenden Sie die Änderungen an, um die Webhook-Zertifizierungsstelle für die Nutzercluster-Rotation zu rotieren.

  1. Wechseln Sie in das Verzeichnis mit Ihren Anthos-Clustern in der AWS-Konfiguration. Sie haben dieses Verzeichnis bei der Installation des Verwaltungsdienstes erstellt.
    cd anthos-aws
  2. Öffnen Sie anthos-gke.status.yaml in einem Texteditor.
  3. Entfernen Sie alle Werte unter dem Schlüssel certificateAuthority. Dies betrifft encryptedPrivateKey.kmsKeyARN, encryptedPrivateKey.value und encryptedPrivateKey.certificate.
  4. Führen Sie anthos-gke aws management init aus, um die Datei anthos-gke.status.yaml zu aktualisieren.

     anthos-gke aws management init
    
  5. Führen Sie anthos-gke aws management apply aus, um den Verwaltungsdienst zu aktualisieren.

     anthos-gke aws management apply
    

TLS-Schlüsselpaare und -Zertifikate für Nutzercluster

Anthos-Cluster in AWS generieren beim Erstellen einer Instanz TLS-Schlüsselpaare und -Zertifikate. Erstellen Sie die Instanz neu, um diese Paare zu rotieren. Führen Sie dazu die folgenden Schritte für Ihre Steuerungsebene und Knotenpools aus.

Steuerungsebene

  1. Verwenden Sie anthos-gke im Verzeichnis anthos-aws, um den Kontext zu Ihrem Verwaltungsdienst zu wechseln.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Nutzen Sie kubectl, um die AWS EC2-Zielgruppe Ihrer Steuerungsebene von Ihrem AWSCluster abzurufen.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awscluster cluster-name \
      -o jsonpath='{.status.targetGroupName}{"\n"}'
    

    Die Ausgabe enthält den Namen der EC2-Zielgruppe Ihrer Steuerungsebene. Beispiel: gke-123456a7-controlplane

  3. Öffnen Sie die AWS EC2-Konsole. Wählen Sie im linken Bereich Zielgruppen aus.

  4. Klicken Sie auf die Suchleiste und suchen Sie Ihre Zielgruppe. Klicken Sie auf den Namen Ihrer Zielgruppe und dann auf Ziele. Die Liste der Instanzen Ihrer Steuerungsebene wird angezeigt.

  5. Führen Sie für jede Instanz in der Zielgruppe die folgenden Schritte aus:

    1. Klicken Sie auf die Instanz-ID der Instanz. Die Konsole der AWS EC2-Instanzen wird angezeigt.

    2. Klicken Sie auf die Instanz-ID.

    3. Wählen Sie Aktionen -> Instanzstatus -> Beenden aus, um die Instanz zu entfernen. EC2 erstellt automatisch eine neue Instanz mit demselben EBS-Volume.

    4. Kehren Sie zur Seite „Zielgruppen” zurück.

  6. Nachdem Sie alle Instanzen in der Gruppe beendet haben, kehren Sie zur Seite "Zielgruppen" zurück.

  7. Suchen Sie im Abschnitt Registrierte Ziele der Spalte die Spalte Status. Der Status Ihrer Instanzen sollte für Healthy (Status) Healthy (Fehlerfrei) lauten. Wenn eine der Instanzen fehlerfrei ist, warten Sie einige Minuten und klicken Sie auf das Symbol "Aktualisieren" ().

  8. Wenn alle Instanzen in der Zielgruppe fehlerfrei sind, fahren Sie mit dem nächsten Schritt fort.

Knotenpools

So rotieren Sie die TLS-Zertifikate Ihres Knotenpools:

  1. Verwenden Sie anthos-gke im Verzeichnis anthos-aws, um den Kontext zu Ihrem Verwaltungsdienst zu wechseln.
    cd anthos-aws
    anthos-gke aws management get-credentials
  2. Verwenden Sie kubectl, um die AWS EC2-Zielgruppe Ihres Knotenpools aus Ihrem AWSNodePool abzurufen.

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl get awsnodepool -o jsonpath='{.items[*].status.autoScalingGroupName}{"\n"}'
    

    Die Ausgabe enthält den Namen der EC2-Zielgruppe des Knotenpools. Beispiel: gke-123456a7-nodepool-abc123

  3. Öffnen Sie die AWS EC2-Konsole. Wählen Sie im linken Bereich Zielgruppen aus.

  4. Klicken Sie auf die Suchleiste und suchen Sie Ihre Zielgruppe. Klicken Sie auf den Namen Ihrer Zielgruppe und dann auf Ziele. Die Liste der Instanzen Ihrer Steuerungsebene wird angezeigt.

  5. Führen Sie für jede Instanz in der Zielgruppe die folgenden Schritte aus:

    1. Klicken Sie auf die Instanz-ID der Instanz. Die Konsole der AWS EC2-Instanzen wird angezeigt.

    2. Klicken Sie auf die Instanz-ID.

    3. Wählen Sie Aktionen -> Instanzstatus -> Beenden aus, um die Instanz zu entfernen. EC2 erstellt automatisch eine neue Instanz mit demselben EBS-Volume.

    4. Kehren Sie zur Seite „Zielgruppen” zurück.

  6. Nachdem Sie alle Instanzen in der Gruppe beendet haben, kehren Sie zur Seite "Zielgruppen" zurück.

  7. Suchen Sie im Abschnitt Registrierte Ziele der Spalte die Spalte Status. Der Status Ihrer Instanzen sollte für Healthy (Status) Healthy (Fehlerfrei) lauten. Wenn eine der Instanzen fehlerfrei ist, warten Sie einige Minuten und klicken Sie auf das Symbol "Aktualisieren" ().

  8. Wenn alle Instanzen in der Zielgruppe fehlerfrei sind, fahren Sie mit dem nächsten Schritt fort.