Profilanwendbarkeit: Stufe 1
Aktivieren Sie den privaten Endpunktzugriff, um den Zugriff auf die Steuerungsebene
des Clusters auf eine Positivliste autorisierter IPs zu beschränken.
Autorisierte Netzwerke sind eine Möglichkeit, einen eingeschränkten Bereich von IP-Adressen
festzulegen, die Zugriff auf die Steuerungsebene Ihres Clusters haben dürfen. Kubernetes
Engine verwendet sowohl Transport Layer Security (TLS) als auch Authentifizierung,
um sicheren Zugriff auf die Steuerungsebene Ihres Clusters aus dem öffentlichen Internet
zu ermöglichen. Dies bietet Ihnen die Flexibilität, Ihren Cluster von überall aus
zu verwalten; jedoch möchten Sie möglicherweise den Zugriff weiter auf eine Reihe
von IP-Adressen beschränken, die Sie kontrollieren. Sie können diese Einschränkung
festlegen, indem Sie ein autorisiertes Netzwerk spezifizieren.
Das Einschränken des Zugriffs auf ein autorisiertes Netzwerk kann zusätzliche Sicherheitsvorteile
für Ihren Container-Cluster bieten, einschließlich:
-
Besserer Schutz vor Angriffen von außen: Autorisierte Netzwerke bieten eine zusätzliche Sicherheitsebene, indem sie den externen Zugriff auf einen bestimmten Satz von Adressen beschränken, die Sie festlegen, wie beispielsweise solche, die von Ihrem Standort stammen. Dies hilft, den Zugriff auf Ihren Cluster im Falle einer Sicherheitslücke im Authentifizierungs- oder Autorisierungsmechanismus des Clusters zu schützen.
-
Besserer Schutz vor Insider-Angriffen: Autorisierte Netzwerke helfen, Ihren Cluster vor versehentlichen Lecks von Master-Zertifikaten aus den Räumlichkeiten Ihres Unternehmens zu schützen. Zertifikate, die außerhalb von Azure-virtuellen Maschinen und außerhalb der autorisierten IP-Bereiche verwendet werden (zum Beispiel von Adressen außerhalb Ihres Unternehmens), werden weiterhin der Zugriff verweigert.
HinweisStandardmäßig ist der private Endpunktzugriff deaktiviert.
|
Auswirkung
Beim Implementieren des Endpoint Private Access achten Sie darauf, dass alle gewünschten
Netzwerke auf der Zulassungsliste (Whitelist) stehen, um ein versehentliches Blockieren
des externen Zugriffs auf die Steuerungsebene Ihres Clusters zu verhindern.
Einschränkungen: IP-autorisierte Bereiche können nicht auf den privaten API-Server-Endpunkt
angewendet werden, sie gelten nur für den öffentlichen API-Server. Verfügbarkeitszonen
werden derzeit für bestimmte Regionen unterstützt. Azure Private Link-Dienstbeschränkungen
gelten für private Cluster. Keine Unterstützung für Azure DevOps Microsoft-gehostete
Agents mit privaten Clustern. Erwägen Sie die Verwendung von selbstgehosteten Agents.
Für Kunden, die Azure Container Registry mit privatem AKS aktivieren müssen, muss
das virtuelle Netzwerk des Container Registry mit dem virtuellen Netzwerk des Agentenclusters
verbunden sein.
Prüfung
Überprüfen Sie, ob die folgenden Einstellungen korrekt sind:
export CLUSTER_NAME=<your cluster name>
export RESOURCE_GROUP=<your resource group name>
az aks show \
--name "${CLUSTER_NAME}" \
--resource-group "${RESOURCE_GROUP}" \
--query "{enablePrivateCluster:apiServerAccessProfile.enablePrivateCluster, enablePublicFqdn:apiServerAccessProfile.enablePublicFqdn, authorizedIpRanges:apiServerAccessProfile.authorizedIpRanges}" \
--output json
Die Ausgabe wäre ähnlich wie:
{
"enablePrivateCluster": true,
"enablePublicFqdn": false,
"authorizedIpRanges": [
"203.0.113.10/32",
"198.51.100.0/24"
]
}
Dieser Befehl fragt die Eigenschaft
enablePrivateCluster innerhalb des apiServerAccessProfile Ihres AKS Clusters ab. Die Ausgabe wird wahr sein, wenn endpointPublicAccess aktiviert
ist, was den Zugriff auf den AKS Cluster API-Server aus dem Internet ermöglicht. Wenn
es falsch ist, ist endpointPublicAccess deaktiviert, was bedeutet, dass der API-Server
nicht über das Internet zugänglich ist, was eine übliche Konfiguration für private
Cluster ist.Dieser Befehl fragt die Eigenschaft enablePrivateCluster innerhalb des apiServerAccessProfile
Ihres AKS Clusters ab. Wenn die Ausgabe wahr ist, bedeutet dies, dass endpointPrivateAccess
aktiviert ist und der AKS Cluster API-Server so konfiguriert ist, dass er nur über
einen privaten Endpunkt zugänglich ist. Wenn die Ausgabe falsch ist, ist der Cluster
nicht ausschließlich für privaten Zugriff konfiguriert, und der API-Server könnte
je nach anderen Einstellungen über das Internet zugänglich sein.
Dieser Befehl fragt die Eigenschaft authorizedIpRanges innerhalb des apiServerAccessProfile
Ihres AKS Clusters ab. Die Ausgabe listet die IP-Bereiche auf, die berechtigt sind,
über das Internet auf den API-Server des AKS Clusters zuzugreifen. Wenn die Liste
leer ist, bedeutet dies, dass keine Einschränkungen bestehen und jeder IP auf den
API-Server des AKS Clusters zugreifen kann, vorausgesetzt, andere Netzwerk- und Sicherheitskonfigurationen
erlauben dies.
Wiederherstellung
Durch Aktivierung des privaten Endpunktzugriffs auf den Kubernetes-API-Server bleibt
die gesamte Kommunikation zwischen Ihren Knoten und dem API-Server innerhalb Ihrer
VPC. Sie können auch die IP-Adressen einschränken, die von außerhalb auf Ihren API-Server
zugreifen können, oder den Internetzugang zum API-Server vollständig deaktivieren.
Vor diesem Hintergrund können Sie Ihren Cluster entsprechend mit der AKS CLI aktualisieren,
um sicherzustellen, dass der Zugriff auf den privaten Endpunkt aktiviert ist.
Wenn Sie sich entscheiden, auch den Zugriff auf öffentliche Endpunkte zu aktivieren,
sollten Sie eine Liste zulässiger CIDR-Blöcke konfigurieren, was zu einem eingeschränkten
Zugriff aus dem Internet führt. Wenn Sie keine CIDR-Blöcke angeben, kann der Endpunkt
des öffentlichen API-Servers standardmäßig Anfragen von allen IP-Adressen empfangen
und verarbeiten, indem er auf ['0.0.0.0/0'] zurückgreift.
Zum Beispiel würde der folgende Befehl privaten Zugriff auf die Kubernetes-API sowie
eingeschränkten öffentlichen Zugriff über das Internet von einer einzelnen IP-Adresse
ermöglichen (unter Berücksichtigung des /32 CIDR-Suffixes).
