Netzwerkisolation in GKE


Auf dieser Seite wird erläutert, wie Netzwerkisolierung und Zugriffssteuerung für die Steuerungsebene und die Clusterknoten Ihrer Google Kubernetes Engine-Cluster (GKE) funktionieren. Diese Seite ersetzt die Seite, auf der das Konzept privater Cluster beschrieben wird.

Bei der Konfiguration der Netzwerkisolation sind zwei Aspekte zu berücksichtigen:

  • Zugriff auf die Steuerungsebene, der sich darauf bezieht, wer auf die Steuerungsebene des Clusters zugreifen kann.
  • Clusternetzwerk, das sich auf die Isolierung von Knoten bezieht.

Auf dieser Seite erfahren Sie, wie Sie steuern und anpassen können, wer auf die Steuerungsebene und die Clusterknoten (in einem Standardcluster) oder Arbeitslasten (in einem Autopilot-Cluster) des Clusters zugreifen kann. Diese Anpassung ist relevant, wenn Sie die Netzwerkkonfiguration für Ihren Cluster festlegen. Wenn Sie direkt mit der Definition Ihrer Netzwerkkonfiguration beginnen möchten, lesen Sie den Hilfeartikel Netzwerkisolation anpassen.

Best Practice:

Planen und entwerfen Sie Ihre Netzwerkisolationskonfiguration gemeinsam mit den Netzwerkarchitekten, Netzwerkingenieuren, Netzwerkadministratoren oder einem anderen Team Ihrer Organisation, das für die Definition, Implementierung und Wartung der Netzwerkarchitektur verantwortlich ist.

Zugriff auf die Steuerungsebene

In diesem Abschnitt geht es darum, wer auf Ihre Steuerungsebene zugreifen kann.

Jeder GKE-Cluster hat eine Steuerungsebene, die Kubernetes API-Anfragen verarbeitet. Die Steuerungsebene wird auf einer VM (virtuelle Maschine) ausgeführt, die sich in einem VPC-Netzwerk in einem von Google verwalteten Projekt befindet. Ein regionaler Cluster hat mehrere Replikate der Steuerungsebene, die jeweils auf einer eigenen VM ausgeführt werden.

Die Steuerungsebene hat zwei Arten von Endpunkten für den Clusterzugriff:

  • DNS-basierter Endpunkt
  • IP-basierte Endpunkte
Best Practice:

Verwenden Sie nur den DNS-basierten Endpunkt, um auf die Steuerungsebene zuzugreifen. So wird die Konfiguration vereinfacht und eine flexible und richtlinienbasierte Sicherheitsebene bereitgestellt.

DNS-basierter Endpunkt

Der DNS-basierte Endpunkt gibt für jede Cluster-Steuerungsebene einen eindeutigen DNS- oder FQDN (voll qualifizierter Domainname) an. Über diesen DNS-Namen können Sie auf die Steuerungsebene zugreifen. Der DNS-Name wird in einen Endpunkt aufgelöst, auf den über jedes Netzwerk zugegriffen werden kann, das von Google Cloud APIs erreichbar ist, einschließlich lokal oder in anderen Cloud-Netzwerken. Wenn Sie den DNS-basierten Endpunkt aktivieren, sind keine Bastion Hosts oder Proxyknoten mehr erforderlich, um von anderen VPC-Netzwerken oder externen Standorten aus auf die Steuerungsebene zuzugreifen.

Um auf den Endpunkt der Steuerungsebene zugreifen zu können, müssen Sie IAM-Rollen und ‑Richtlinien sowie Authentifizierungstokens konfigurieren. Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter Netzwerkisolation anpassen.

Zusätzlich zu IAM-Richtlinien und -Tokens können Sie mit VPC Service Controls auch IP- oder netzwerkbasierte Steuerungen konfigurieren, um den Zugriff auf die Steuerungsebene zu sichern. VPC Service Controls bieten eine zusätzliche Zugriffssicherheitsebene mit kontextsensitivem Zugriff, der auf Attributen wie dem Netzwerkursprung basiert. Mit VPC Service Controls können Sie konfigurieren, welche Netzwerke auf den DNS-Endpunkt zugreifen können. Wenn Sie sowohl IAM-Richtlinien als auch VPC Service Controls verwenden, um den Zugriff auf den DNS-basierten Endpunkt zu sichern, erhalten Sie ein mehrschichtiges Sicherheitsmodell für die Clustersteuerungsebene. VPC Service Controls werden von allen Google Cloud APIs verwendet, um die Sicherheitskonfiguration Ihrer Cluster an die Daten anzupassen, die in allen anderen Google Cloud APIs gehostet werden.

IP-basierte Endpunkte

Optional können Sie den Zugriff auf die Steuerebene auch über IP-basierte Endpunkte konfigurieren.

Begriffe in Bezug auf Cluster und IP-Adressen

  • Externe IP-Adressen von Google Cloud:

    • Externe IP-Adressen, die einer beliebigen VM zugewiesen sind, die von einem in Google Cloud gehosteten Kunden verwendet wird. Google Cloud besitzt diese IP-Adressen. Weitere Informationen finden Sie unter Wo finde ich Compute Engine-IP-Bereiche?

    • Externe IP-Adressen, die von Google Cloud-Produkten wie Cloud Run oder Cloud Run-Funktionen verwendet werden. Jeder in Google Cloud gehostete Client kann diese IP-Adressen instanziieren. Google Cloud besitzt diese IP-Adressen.

  • Von Google reservierte IP-Adressen: Externe IP-Adressen für die Verwaltung von GKE-Cluster. Diese IP-Adressen umfassen von GKE verwaltete Prozesse und andere Produktionsdienste von Google. Google besitzt diese IP-Adressen.

  • IP-Adressbereiche des GKE-Clusters: Interne IP-Adressen, die dem Cluster zugewiesen sind und von GKE für die Knoten, Pods und Services des Clusters verwendet werden.

  • Interne IP-Adressen: IP-Adressen aus dem VPC-Netzwerk des Clusters. Diese IP-Adressen können Ihre Cluster-IP-Adresse, lokale Netzwerke, die RFC 1918-Bereiche oder die privat verwendeten öffentlichen IP-Adressen (PUPI) enthalten, die auch Nicht-RFC 1918-Bereiche umfassen.

  • Externer Endpunkt: Die externe IP-Adresse, die GKE der Steuerungsebene zuweist.

  • Interner Endpunkt: Die interne IP-Adresse, die GKE der Steuerungsebene zuweist.

  • VPC-Netzwerk: Ein virtuelles Netzwerk, in dem Sie Subnetze mit IP-Adressbereichen speziell für die Knoten und Pods des Clusters erstellen.

Wenn Sie IP-basierte Endpunkte verwenden, haben Sie zwei Möglichkeiten:

  • Stellen Sie die Steuerungsebene sowohl über den externen als auch über den internen Endpunkt bereit. Das bedeutet, dass auf den externen Endpunkt der Steuerungsebene über eine externe IP-Adresse und auf den internen Endpunkt über das VPC-Netzwerk Ihres Clusters zugegriffen werden kann. Knoten kommunizieren nur über den internen Endpunkt mit der Steuerungsebene.

  • Stellen Sie die Steuerungsebene nur über den internen Endpunkt bereit. Das bedeutet, dass Clients im Internet keine Verbindung zum Cluster herstellen können und die Steuerungsebene von jeder IP-Adresse aus dem VPC-Netzwerk des Clusters zugänglich ist. Knoten kommunizieren nur über den internen Endpunkt mit der Steuerungsebene.

    Dies ist die sicherste Option bei der Verwendung von IP-basierten Endpunkten, da dadurch der gesamte Internetzugriff auf die Steuerungsebene verhindert wird. Dies ist eine gute Wahl, wenn Sie Arbeitslasten haben, die beispielsweise aufgrund von Datenschutz- und Sicherheitsvorschriften einen kontrollierten Zugriff erfordern.

Bei beiden Optionen können Sie einschränken, welche IP-Adressen die Endpunkte erreichen, indem Sie autorisierte Netzwerke konfigurieren. Wenn Sie IP-basierte Endpunkte verwenden, sollten Sie unbedingt mindestens ein autorisiertes Netzwerk hinzufügen. Autorisierte Netzwerke gewähren der Steuerungsebene Zugriff auf eine bestimmte Gruppe vertrauenswürdiger IPv4-Adressen und bieten Schutz und zusätzliche Sicherheitsvorteile für Ihren GKE-Cluster.

Best Practice:

Aktivieren Sie autorisierte Netzwerke, wenn Sie IP-basierte Endpunkte verwenden, um Ihren GKE-Cluster zu schützen.

Funktionsweise autorisierter Netzwerke

Autorisierte Netzwerke stellen eine IP-basierte Firewall bereit, die den Zugriff auf die GKE-Steuerungsebene kontrolliert. Der Zugriff auf die Steuerungsebene hängt von den Quell-IP-Adressen ab. Wenn Sie autorisierte Netzwerke aktivieren, konfigurieren Sie die IP-Adressen, für die Sie Zugriff auf den Endpunkt der Steuerungsebene des GKE-Cluster gewähren möchten, als CIDR-Blockliste.

Die folgende Tabelle enthält folgende Informationen:

  • Die voreingestellten IP-Adressen, die immer auf die GKE-Steuerungsebene zugreifen können, unabhängig davon, ob Sie autorisierte Netzwerke aktivieren.
  • Die konfigurierbaren IP-Adressen, die auf die Steuerungsebene zugreifen können, wenn Sie sie auf die Zulassungsliste setzen, indem Sie autorisierte Netzwerke aktivieren.
Endpunkte der Steuerungsebene Voreingestellte IP-Adressen, die immer auf die Endpunkte zugreifen können Konfigurierbare IP-Adresse, die nach der Aktivierung autorisierter Netzwerke auf die Endpunkte zugreifen kann
Externe und interne Endpunkte aktiviert
  • Von Google reservierte IP-Adressen
  • IP-Adressbereiche des GKE-Clusters
  • Externe IP-Adressen auf der Zulassungsliste
  • Interne IP-Adressen auf der Zulassungsliste
  • Externe IP-Adressen von Google Cloud
Nur interner Endpunkt aktiviert
  • Von Google reservierte IP-Adressen
  • IP-Adressbereiche des GKE-Clusters
  • Interne IP-Adressen auf der Zulassungsliste

Mit einem autorisierten Netzwerk können Sie auch die Region konfigurieren, von der aus eine interne IP-Adresse den internen Endpunkt Ihrer Steuerungsebene erreichen kann. Sie können den Zugriff nur aus dem VPC-Netzwerk des Clusters oder aus jeder Google Cloud-Region in einer VPC oder einer lokalen Umgebung zulassen.

Einschränkungen bei der Verwendung von IP-basierten Endpunkten

  • Wenn Sie ein Subnetz erweitern, das von einem Cluster mit autorisierten Netzwerken verwendet wird, müssen Sie die autorisierte Netzwerkkonfiguration so aktualisieren, dass es den erweiterten IP-Adressbereich enthält.
  • Wenn Clients eine Verbindung über Netzwerke mit dynamischen IP-Adressen herstellen, z. B. Mitarbeiter in Heimnetzwerken, müssen Sie die Liste der autorisierten Netzwerke häufig aktualisieren, um den Zugriff auf den Cluster aufrechtzuerhalten.
  • Wenn Sie den Zugriff auf den externen Endpunkt der Steuerungsebene deaktivieren, können Sie nicht mehr per Fernzugriff mit Ihrem Cluster interagieren. Wenn Sie per Fernzugriff auf den Cluster zugreifen möchten, müssen Sie einen Bastion Host verwenden, der den Client-Traffic an den Cluster weiterleitet. Bei einem DNS-basierten Endpunkt müssen dagegen nur IAM-Berechtigungen eingerichtet werden.
  • IP-basierte Endpunkte können nicht direkt in VPC Service Controls eingebunden werden. VPC Service Controls werden auf Dienstperimeterebene verwendet, um den Datenzugriff und die Datenübertragung innerhalb von Google Cloud zu steuern. Wir empfehlen, für eine robuste Sicherheitsabwehr sowohl einen DNS-basierten Endpunkt als auch VPC Service Controls zu verwenden.
  • Sie können bis zu 100 autorisierte IP-Adressbereiche angeben (einschließlich externer und interner IP-Adressen).

Zugriff auf Clusternetzwerke

In diesem Abschnitt wird beschrieben, wie Sie Knoten in einem Kubernetes-Cluster isolieren.

Private Knoten aktivieren

Sie können verhindern, dass externe Clients auf Knoten zugreifen, indem Sie diese Knoten nur mit internen IP-Adressen bereitstellen und sie so privat machen. Arbeitslasten, die auf Knoten ohne externe IP-Adresse ausgeführt werden, können das Internet nur erreichen, wenn NAT im Netzwerk des Clusters aktiviert ist. Du kannst diese Einstellungen jederzeit ändern.

Sie können private Knoten auf Clusterebene, Knotenpoolebene (für Standard) oder Arbeitslastebene (für Autopilot) aktivieren. Wenn Sie private Knoten auf Knotenpool- oder Arbeitslastebene aktivieren, werden alle Knotenkonfigurationen auf Clusterebene überschrieben.

Wenn Sie einen öffentlichen Knotenpool im privaten Modus aktualisieren, können Arbeitslasten, die Zugriff außerhalb des Clusternetzwerks benötigen, in den folgenden Szenarien fehlschlagen:

  • Cluster in einem freigegebene VPC-Netzwerk, in dem privater Google-Zugriff nicht aktiviert ist. Aktivieren Sie den privaten Google-Zugriff manuell, damit GKE das zugewiesene Knoten-Image sicher herunterlädt. Bei Clustern, die sich nicht in einem freigegebene VPC-Netzwerk befinden, aktiviert GKE privater Google-Zugriff automatisch.

  • Arbeitslasten, die Zugriff auf das Internet benötigen, wobei Cloud NAT nicht aktiviert oder keine benutzerdefinierte NAT-Lösung definiert ist. Aktivieren Sie Cloud NAT oder eine benutzerdefinierte NAT-Lösung, um ausgehenden Traffic zum Internet zuzulassen.

Unabhängig davon, ob Sie private Knoten aktivieren, kommuniziert die Steuerungsebene weiterhin nur über interne IP-Adressen mit allen Knoten.

Vorteile der Netzwerkisolierung

Die Netzwerkisolierung bietet folgende Vorteile:

  • Flexibilität:

    • Cluster haben eine einheitliche und flexible Konfiguration. Cluster mit oder ohne externe Endpunkte haben dieselbe Architektur und unterstützen dieselbe Funktionalität. Sie können den Zugriff anhand von Steuerelementen und Best Practices sichern, die Ihren Anforderungen entsprechen. Für die gesamte Kommunikation zwischen den Knoten in Ihrem Cluster und der Steuerungsebene wird eine interne IP-Adresse verwendet.
    • Sie können die Einstellungen für den Zugriff auf die Steuerungsebene und die Clusterknotenkonfiguration jederzeit ändern, ohne den Cluster neu erstellen zu müssen.
    • Sie können den externen Endpunkt der Steuerungsebene aktivieren, wenn Sie Ihren Cluster von einem beliebigen Ort mit Internetzugang oder von Netzwerken oder Geräten aus verwalten möchten, die nicht direkt mit Ihrer VPC verbunden sind. Sie können den externen Endpunkt auch deaktivieren, um die Sicherheit zu erhöhen, wenn Sie die Netzwerkisolation für vertrauliche Arbeitslasten aufrechterhalten müssen. In beiden Fällen können Sie mit autorisierten Netzwerken den Zugriff auf vertrauenswürdige IP-Bereiche einschränken.
  • Sicherheit

    • DNS-basierte Endpunkte mit VPC Service Controls bieten ein mehrschichtiges Sicherheitsmodell, das Ihren Cluster vor nicht autorisierten Netzwerken und nicht autorisierten Identitäten schützt, die auf die Steuerebene zugreifen. VPC Service Controls lassen sich in Cloud-Audit-Logs einbinden, um den Zugriff auf die Steuerebene zu überwachen.
    • Private Knoten und die auf diesen Knoten ausgeführten Arbeitslasten sind nicht direkt über das öffentliche Internet zugänglich. Das Risiko externer Angriffe auf Ihren Cluster wird dadurch erheblich reduziert.
    • Sie können den Zugriff auf die Steuerungsebene von externen IP-Adressen von Google Cloud oder von externen IP-Adressen blockieren, um die Steuerungsebene des Clusters vollständig zu isolieren und das Risiko potenzieller Sicherheitsbedrohungen zu verringern.
  • Compliance: Wenn Sie in einer Branche mit strengen Bestimmungen für den Datenzugriff und ‑speicher gelten, tragen private Knoten zur Einhaltung der Compliance bei, da sie dafür sorgen, dass sensible Daten in Ihrem privaten Netzwerk bleiben.

  • Steuerung: Mit privaten Knoten können Sie genau steuern, wie Traffic in Ihren Cluster ein- und ausgeht. Sie können Firewallregeln und Netzwerkrichtlinien so konfigurieren, dass nur autorisierte Kommunikation zulässig ist. Wenn Sie in Multi-Cloud-Umgebungen arbeiten, können Sie mit privaten Knoten eine sichere und kontrollierte Kommunikation zwischen verschiedenen Umgebungen herstellen.

  • Kosten: Wenn Sie private Knoten aktivieren, können Sie die Kosten für Knoten reduzieren, die keine externe IP-Adresse für den Zugriff auf öffentliche Dienste im Internet benötigen.

Nächste Schritte