Auf dieser Seite wird beschrieben, wie Sie autorisierte Netzwerke verwenden, um die Ursprünge einzuschränken, von denen aus Sie auf die Steuerungsebenen Ihrer Google Kubernetes Engine-Cluster (GKE) zugreifen können. Autorisierte Netzwerke gewähren der Steuerungsebene Zugriff auf eine bestimmte Gruppe vertrauenswürdiger IP-Adressen und bieten Schutz und zusätzliche Sicherheitsvorteile für Ihren GKE-Cluster.
Funktionsweise autorisierter Netzwerke
Autorisierte Netzwerke bieten eine IP-basierte Firewall, die den Zugriff auf die GKE-Steuerungsebene steuert. Der Zugriff auf die Steuerungsebene hängt vom Typ des GKE-Clusters und den Quell-IP-Adressen ab. Mit autorisierten Netzwerken konfigurieren Sie die IP-Adressen, die Zugriff auf den Endpunkt der Steuerungsebene des GKE-Clusters gewähren möchten, als CIDR-Blockliste.
Begriffe in Bezug auf Cluster und IP-Adressen
Mit den folgenden Begriffen wird unterschieden, welche IP-basierten Firewallregeln vorhanden sind, je nach Clustertyp:
Unterscheidungen von IP-Adressen:
- Öffentliche IP-Adressen aller Compute Engine-VMs in Google Cloud: Öffentliche 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?
- IP-Adressen der Google Cloud-Plattform: IP-Adressen, die von Google Cloud-Produkten wie Cloud Run oder Cloud Functions verwendet werden. Jeder in Google Cloud gehostete Client kann diese IP-Adressen instanziieren. Google Cloud besitzt diese IP-Adressen.
- Von Google reservierte IP-Adressen: Öffentliche IP-Adressen für GKE-Clusterverwaltungszwecke. Diese IP-Adressen umfassen von GKE verwaltete Prozesse und andere Produktionsdienste von Google. Google besitzt diese IP-Adressen.
- Öffentliche Internet-IP-Adressen: Externe IP-Adressen außerhalb von RFC 1918 und von Google. Weder Google- noch Google Cloud-Produkte haben diese öffentlichen IP-Adressen.
- IP-Adressbereiche des GKE-Clusters: IP-Adressen, die dem Cluster zugewiesen sind und von GKE für die Knoten, Pods und Services des Clusters verwendet werden.
- Privat verwendete 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.
Clustertypen:
- Öffentliche Legacy-Cluster: Öffentliche Cluster, die in Legacy-Netzwerken oder VPC-Netzwerken mit öffentlichen IP-Adressen ausgeführt werden, die Knoten zugewiesen sind wurden nicht zur Architektur von Private Service Connect migriert.
- Private Legacy-Cluster: Cluster, die auf VPC-Netzwerk-Peering basieren, um die Verbindung der Steuerungsebene von Knoten mit privaten IP-Adressen zu ermöglichen.
- PSC-basierter Cluster, der als öffentlich oder privat erstellt wurde: Cluster, die die Private Service Connect-Architektur für die Kommunikation zwischen der Steuerungsebene und den Knoten des GKE-Clusters verwenden. Informationen dazu, ob Ihr Cluster Private Service Connect verwendet, finden Sie auf der GKE-Steuerungsebene.
Zugriff auf Endpunkte der Steuerungsebene
Die folgende Tabelle zeigt den standardmäßigen Status des autorisierten Netzwerks beim Erstellen des Clusters. Je nach Typ des GKE-Clusters und des Endpunkts der Steuerungsebene können Sie Folgendes ermitteln:
- Die voreingestellten IP-Adressen, die immer auf die GKE-Steuerungsebene zugreifen können.
- Die IP-Adressen, die Sie für den Zugriff auf die Steuerungsebene des Clusters konfigurieren können, wenn autorisierte Netzwerke aktiviert sind.
Die konfigurierbaren IP-Adressen können auf den Steuerungsebenencluster zugreifen, wenn Sie sie auf die Zulassungsliste setzen und autorisierte Netzwerke aktivieren.
Typ des GKE-Clusters und des Endpunkts der Steuerungsebene | Standardstatus des autorisierten Netzwerks der Steuerungsebene | Voreingestellte IP-Adressen, die immer auf die GKE-Steuerungsebene zugreifen können1 | Konfigurierbare IP-Adresse, die mit aktivierten autorisierten Netzwerken auf die GKE-Steuerungsebene zugreifen kann2 |
---|---|---|---|
Öffentliche Legacy-Cluster oder private Cluster, die auf VPC-Netzwerk-Peering basieren | |||
Öffentliche Legacy-Cluster mit öffentlichem Endpunkt | Deaktiviert |
|
|
Private Legacy-Cluster mit öffentlichen und privaten Endpunkten | Aktiviert |
|
|
Cluster, die Private Service Connect verwenden | |||
Als öffentlich erstellte Cluster | Deaktiviert |
Wenn das Flag
Wenn das Flag
Weitere Informationen finden Sie unter Clusterisolation ändern. |
|
Als privat erstellte Cluster | Aktiviert |
IP-Adressbereiche des GKE-Clusters wie Knoten, Pods und Services haben nur private IP-Adressen. Wenn der Cluster erstellt wird, ist die
Wenn das Flag
Weitere Informationen finden Sie unter Clusterisolation ändern. |
|
Beschränkungen
- 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.
Die Anzahl der autorisierten IP-Adressbereiche, die Sie für öffentliche und private IP-Adressen angeben können, hängt vom Clustertyp ab:
- Öffentlicher Cluster: 50 IP-Adressbereiche
- Privater Cluster: 100 IP-Adressbereiche
- PSC-basierte Cluster: 100 IP-Adressbereiche
Hinweis
Führen Sie die folgenden Aufgaben aus, bevor Sie beginnen:
- Aktivieren Sie die Google Kubernetes Engine API. Google Kubernetes Engine API aktivieren
- Wenn Sie die Google Cloud CLI für diese Aufgabe verwenden möchten, müssen Sie die gcloud CLI installieren und dann initialisieren. Wenn Sie die gcloud CLI bereits installiert haben, rufen Sie die neueste Version mit
gcloud components update
ab.
Cluster mit autorisierten Netzwerken erstellen
Einen Cluster mit einem oder mehreren autorisierten Netzwerken können Sie über das Google Cloud CLI, die Google Cloud Console oder die GKE API erstellen.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters create-auto CLUSTER_NAME \
--enable-master-authorized-networks \
--master-authorized-networks CIDR1,CIDR2,...
Ersetzen Sie Folgendes:
CLUSTER_NAME
: Der Name Ihres Clusters.CIDR1,CIDR2,...
ist eine durch Kommas getrennte Liste der CIDR-Werte für die autorisierten Netzwerke. Beispiel:8.8.8.8/32,8.8.8.0/24
.
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf add_box Erstellen.
Klicken Sie im Abschnitt Autopilot oder Standard auf Konfigurieren.
Konfigurieren Sie den Cluster nach Bedarf.
Klicken Sie im Navigationsmenü auf Netzwerk.
Klicken Sie unter Erweiterte Netzwerkoptionen das Kästchen Autorisierte Steuerungsebenennetzwerke aktivieren an.
Klicken Sie auf Autorisiertes Netzwerk hinzufügen.
Geben Sie einen Namen für das Netzwerk ein.
Geben Sie unter Netzwerk einen CIDR-Bereich ein, dem Sie Zugriff auf die Cluster-Steuerungsebene gewähren möchten.
Klicken Sie auf Fertig. Fügen Sie bei Bedarf weitere autorisierte Netzwerke hinzu.
Klicken Sie auf Erstellen.
API
Geben Sie in Ihrer Cluster-create
-Anfrage das Objekt masterAuthorizedNetworksConfig
an:
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": string,
"cidrBlock": string
}
]
}
Weitere Informationen finden Sie unter MasterAuthorizedNetworksConfig.
Sie können einen privaten Cluster mit einem oder mehreren autorisierten Netzwerken konfigurieren. Weitere Informationen finden Sie unter Private Cluster.
Cluster mit eingeschränktem Zugriff auf die Steuerungsebene erstellen
GKE weist der Steuerungsebene in öffentlichen Clustern eine öffentliche IP-Adresse (externen Endpunkt) zu. Bei öffentlichen Clustern, die Private Service Connect verwenden, um Knoten und Steuerebene privat zu verbinden, können Sie eine weitere Clusterisolierung festlegen. Wenn Sie prüfen wollen, ob Ihr Cluster Private Service Connect verwendet, finden Sie unter Öffentliche Cluster mit Private Service Connect weitere Informationen.
Sie können einen Cluster erstellen und GKE anweisen, den Zugriff von den folgenden Ursprüngen auf die Steuerungsebene zu blockieren:
- Von IP-Adressen, die Google Cloud gehören.
- Von externen IP-Adressen, mit Ausnahme von Google-Diensten, auf denen Clusterverwaltungsprozesse ausgeführt werden.
Mit der Google Cloud CLI oder der Google Cloud Console können Sie einen Cluster erstellen und den Zugriff auf die Steuerungsebene definieren.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters create-auto CLUSTER_NAME
--no-enable-google-cloud-access
Ersetzen Sie dabei CLUSTER_NAME
durch den Namen des GKE-Clusters.
Mit diesem Befehl verhindert das Flag no-enable-google-cloud-access
, dass die Steuerungsebene über IP-Adressen zugänglich ist, die Google Cloud gehören.
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf add_box Erstellen.
Klicken Sie im Abschnitt Autopilot oder Standard auf Konfigurieren.
Konfigurieren Sie den Cluster nach Bedarf.
Klicken Sie im Navigationsmenü auf Netzwerk.
Klicken Sie unter Erweiterte Netzwerkoptionen das Kästchen Autorisierte Steuerungsebenennetzwerke aktivieren an.
Entfernen Sie das Häkchen beim Kästchen Zugriff über öffentliche IP-Adressen von Google Cloud zulassen, um zu verhindern, dass die Steuerungsebene über IP-Adressen von Google Cloud zugänglich ist.
Klicken Sie auf Autorisiertes Netzwerk hinzufügen.
Geben Sie einen Namen für das Netzwerk ein.
Geben Sie unter Netzwerk einen CIDR-Bereich ein, dem Sie Zugriff auf die Cluster-Steuerungsebene gewähren möchten.
Klicken Sie auf Fertig. Fügen Sie bei Bedarf weitere autorisierte Netzwerke hinzu.
Klicken Sie auf Erstellen.
Einem vorhandenen Cluster ein autorisiertes Netzwerk hinzuzufügen
Sie können einem vorhandenen Cluster ein autorisiertes Netzwerk über die gcloud CLI oder die Google Cloud Console hinzufügen.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \
--enable-master-authorized-networks \
--master-authorized-networks CIDR1,CIDR2,...
Dabei gilt:
CLUSTER_NAME
ist der Name Ihres vorhandenen Clusters.CIDR1,CIDR2,...
ist eine durch Kommas getrennte Liste der CIDR-Werte für die autorisierten Netzwerke. Beispiel:8.8.8.8/32,8.8.8.0/24
.
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Netzwerk im Feld Autorisierte Steuerungsebenennetzwerke auf edit Autorisierte Steuerungsebenennetzwerke bearbeiten.
Klicken Sie das Kästchen Autorisierte Steuerungsebenennetzwerke aktivieren an.
Klicken Sie auf Autorisiertes Netzwerk hinzufügen.
Geben Sie einen Namen für das Netzwerk ein.
Geben Sie unter Netzwerk einen CIDR-Bereich ein, dem Sie Zugriff auf die Cluster-Steuerungsebene gewähren möchten.
Klicken Sie auf Fertig. Fügen Sie bei Bedarf weitere autorisierte Netzwerke hinzu.
Klicken Sie auf Änderungen speichern.
API
Geben Sie in Ihrer Cluster-update
-Anfrage das Feld desiredMasterAuthorizedNetworksConfig
an:
Geben Sie im Feld das Objekt MasterAuthorizedNetworksConfig an:
"desiredMasterAuthorizedNetworksConfig": {
object(MasterAuthorizedNetworksConfig)
}
Autorisiertes Netzwerk prüfen
Sie können ein autorisiertes Netzwerk in einem vorhandenen Cluster mithilfe der gcloud CLI oder der Google Cloud Console prüfen.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container clusters describe CLUSTER_NAME
Die entsprechende Ausgabe sieht etwa so aus:
...
masterAuthorizedNetworksConfig:
cidrBlocks:
- cidrBlock: 8.8.8.8/32
- cidrBlock: 8.8.4.4/32
enabled: true
...
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Unter Netzwerk werden im Feld Autorisierte Netzwerke der Steuerungsebene die zulässigen CIDRs angezeigt.
API
Senden Sie eine get
-Anfrage.
Suchen Sie im Feld masterAuthorizedNetworksConfig
nach CIDR-Blöcken.
Beispiel:
"masterAuthorizedNetworksConfig": {
"enabled": true,
"cidrBlocks": [
{
"displayName": "Office",
"cidrBlock": "192.0.2.0/24"
}
]
}
Autorisiertes Netzwerk deaktivieren
Sie können autorisierte Netzwerke für einen vorhandenen Cluster über die gcloud CLI oder die Google Cloud Console deaktivieren.
gcloud
Führen Sie diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \
--no-enable-master-authorized-networks
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Netzwerk im Feld Autorisierte Steuerungsebenennetzwerke auf edit Autorisierte Steuerungsebenennetzwerke bearbeiten.
Entfernen Sie das Häkchen aus dem Kästchen Autorisierte Steuerungsebenennetzwerke aktivieren.
Klicken Sie auf Änderungen speichern.
Autorisierte Netzwerke entfernen
gcloud
Führen Sie diesen Befehl aus:
gcloud container clusters update CLUSTER_NAME \
--enable-master-authorized-networks
Console
Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine auf.
Klicken Sie auf den Namen des Clusters, den Sie ändern möchten.
Klicken Sie unter Netzwerk im Feld Autorisierte Steuerungsebenennetzwerke auf edit Autorisierte Steuerungsebenennetzwerke bearbeiten.
Klicken Sie auf
Löschen.Klicken Sie auf Änderungen speichern.
Fehlerbehebung
In den folgenden Abschnitten wird erläutert, wie Sie häufige Probleme im Zusammenhang mit autorisierten Netzwerken beheben können.
Zu viele CIDR-Blöcke
gcloud
gibt den folgenden Fehler zurück, wenn Sie versuchen, einen Cluster mit mehr als 50 CIDR-Blöcken zu erstellen oder zu aktualisieren:
ERROR: (gcloud.container.clusters.update) argument --master-authorized-networks: too many args
Um dieses Problem zu beheben, dürfen Sie nicht mehr als 50 CIDR-Blöcke angeben, wenn der Cluster öffentlich ist. Wenn Ihr Cluster privat ist, geben Sie nicht mehr als 100 CIDR-Blöcke an.
Serververbindung kann nicht hergestellt werden
kubectl
-Befehle führen zu einer Zeitüberschreitung wegen falsch konfigurierter CIDR-Blöcke:
Unable to connect to the server: dial tcp MASTER_IP: getsockopt: connection timed out
Geben Sie beim Erstellen oder Aktualisieren eines Clusters die richtigen CIDR-Blöcke an.
Weitere Informationen
- Netzwerkübersicht
- VPC-native Cluster mithilfe von Alias-IP-Adressen erstellen
- Übersicht über Firewallregeln
- Private Cluster einrichten