Udostępnij przez


Klastry usługi Azure Kubernetes Service (AKS) izolowane w sieci

Organizacje zwykle mają ścisłe wymagania dotyczące zabezpieczeń i zgodności, aby regulować ruch sieciowy wychodzący (wychodzący) z klastra w celu wyeliminowania ryzyka eksfiltracji danych. Domyślnie standardowe klastry usługi Azure Kubernetes Service (AKS) mają nieograniczony wychodzący dostęp do Internetu. Ten poziom dostępu do sieci pozwala węzłom i usługom, które uruchamiasz, na dostęp do zasobów zewnętrznych według potrzeb. Jeśli chcesz ograniczyć ruch wychodzący, ograniczona liczba portów i adresów musi być dostępna, aby zachować zadania konserwacji klastra w dobrej kondycji. Koncepcyjny dokument dotyczący reguł sieci wychodzącej i w pełni kwalifikowanej nazwy domeny (FQDN) dla klastrów usługi AKS zawiera listę wymaganych punktów końcowych dla klastra usługi AKS oraz opcjonalnych dodatków i funkcji.

Jednym z typowych rozwiązań ograniczania ruchu wychodzącego z klastra jest użycie urządzenia zapory w celu ograniczenia ruchu na podstawie reguł zapory. Zapora ma zastosowanie, gdy aplikacja wymaga dostępu wychodzącego, ale gdy żądania wychodzące muszą być sprawdzane i zabezpieczone. Ręczne konfigurowanie zapory przy użyciu wymaganych reguł ruchu wychodzącego i nazw FQDN jest uciążliwym procesem, zwłaszcza jeśli jedynym wymaganiem jest utworzenie izolowanego klastra usługi AKS bez zależności wychodzących dla rozruchu klastra.

Aby zmniejszyć ryzyko eksfiltracji danych, klaster izolowany przez sieć umożliwia uruchamianie klastra usługi AKS bez żadnych zależności sieci wychodzących, nawet w przypadku pobierania składników/obrazów klastra z usługi Microsoft Artifact Registry (MAR). Operator klastra może przyrostowo skonfigurować dozwolony ruch wychodzący dla każdego scenariusza, który chce włączyć.

Jak działa klaster izolowany w sieci

Na poniższym diagramie przedstawiono komunikację sieciową między zależnościami dla izolowanego klastra sieciowego.

Diagram ruchu sieciowego izolowanego klastra AKS.

Klastry usługi AKS pobierają artefakty wymagane dla klastra i jego funkcji lub dodatków z rejestru artefaktów firmy Microsoft (MAR). To ściąganie obrazu umożliwia usłudze AKS udostępnianie nowszych wersji składników klastra, a także reagowanie na krytyczne luki w zabezpieczeniach. Klaster izolowany w sieci próbuje ściągnąć te obrazy i pliki binarne z prywatnej instancji usługi Azure Container Registry (ACR) połączonej z klastrem zamiast ściągać z MAR. Jeśli obrazy nie są obecne, prywatny ACR pobiera je z MAR i obsługuje za pośrednictwem swojego prywatnego punktu końcowego, eliminując konieczność włączenia ruchu wychodzącego z klastra do publicznego punktu końcowego MAR.

Następujące dwie opcje są obsługiwane w przypadku prywatnego rejestru ACR (Azure Container Registry) skojarzonego z izolowanymi klastrami sieciowymi:

  • Zarządzany przez AKS ACR — AKS tworzy, zarządza i uzgadnia zasób ACR w tej opcji. Nie ma nic, co musisz zrobić.

    Uwaga

    Zasób usługi ACR zarządzany przez usługę AKS jest tworzony w ramach subskrypcji. Jeśli usuniesz klaster z usługą AKS zarządzaną usługą ACR dla źródła artefaktu bootstrap. Powiązane zasoby, takie jak ACR zarządzane przez AKS, link prywatny i prywatny punkt końcowy, również są automatycznie usuwane. Jeśli zmienisz typ ruchu wychodzącego w klastrze na dowolny typ inny niż none lub block z --bootstrap-artifact-source zachowanym jako Cache. Następnie powiązane zasoby nie są usuwane.

  • Przynieś własne (BYO) ACR — opcja BYO ACR wymaga utworzenia rejestru ACR z prywatnym połączeniem między zasobem ACR a klastrem AKS. Zobacz Łączenie prywatnie z rejestrem kontenerów platformy Azure przy użyciu usługi Azure Private Link , aby dowiedzieć się, jak skonfigurować prywatny punkt końcowy dla rejestru. Należy również przypisać uprawnienia i zarządzać regułami pamięci podręcznej, linkiem prywatnym i prywatnym punktem końcowym używanym w klastrze.

    Uwaga

    Po usunięciu klastra usługi AKS lub po wyłączeniu tej funkcji. BYO ACR, łącze prywatne i prywatny punkt końcowy nie są usuwane automatycznie. Jeśli dodasz niestandardowe obrazy i reguły pamięci podręcznej do usługi BYO ACR, będą one utrwalone po rekonsyliacji klastra.

Aby utworzyć izolowany klaster sieci, należy najpierw upewnić się, że ruch sieciowy między serwerem interfejsu API a pulami węzłów pozostaje tylko w sieci prywatnej, możesz wybrać jeden z następujących trybów klastra prywatnego:

  • Klaster oparty na prywatnych łączach — kontrolna płaszczyzna lub serwer API znajdują się w grupie zasobów platformy Azure zarządzanej przez AKS, natomiast pula węzłów znajduje się w Twojej własnej grupie zasobów. Serwer i pula węzłów mogą komunikować się ze sobą za pośrednictwem usługi Azure Private Link w wirtualnej sieci serwera API oraz prywatnego punktu końcowego, który jest dostępny w podsieci klastra AKS.
  • Klaster zintegrowany z VNet serwera interfejsu API - Klaster, który jest skonfigurowany do integracji z siecią wirtualną serwera interfejsu API, umieszcza punkt końcowy serwera API bezpośrednio w delegowanej podsieci w sieci wirtualnej, w której wdrożono usługę AKS. Integracja serwera API z siecią wirtualną (VNet) umożliwia komunikację sieciową między serwerem API a węzłami klastra bez konieczności korzystania z łącza prywatnego ani tunelu.

Należy również upewnić się, że ścieżka ruchu wychodzącego dla klastra usługi AKS jest kontrolowana i ograniczona. Można wybrać jeden z następujących typów ruchu wychodzącego sieci:

  • Typ ruchu wychodzącego none - Jeśli none jest ustawione. Usługa AKS nie konfiguruje automatycznie ścieżek ruchu wychodzącego, a trasa domyślna nie jest wymagana. Jest ona obsługiwana zarówno w scenariuszach sieci wirtualnej "przynieś własne urządzenie" (BYO) jak i w scenariuszach zarządzanych sieci wirtualnych. W przypadku scenariusza "przynieś własną sieć wirtualną" należy w razie potrzeby ustanowić jawne ścieżki ruchu wychodzącego.
  • Ustawiono typ ruchu wychodzącego block (wersja zapoznawcza) -Ifblock. Usługa AKS konfiguruje reguły sieciowe w celu aktywnego blokowania całego ruchu wychodzącego z klastra. Ta opcja jest przydatna w przypadku środowisk o wysokim poziomie bezpieczeństwa, w których łączność wychodząca musi być ograniczona. Jest ona obsługiwana w scenariuszu zarządzanych sieci wirtualnych. Możesz również osiągnąć podobny efekt, blokując cały ruch wychodzący, dodając reguły sieciowej grupy zabezpieczeń (NSG) w none scenariuszu "przynieś własną sieć wirtualną".

Uwaga

Typ ruchu wychodzącego none jest ogólnie dostępny. Typ block ruchu wychodzącego znajduje się w wersji zapoznawczej.

Ważne

Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi, z możliwością dobrowolnego udziału. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów na zasadzie najlepszych starań. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:

Ograniczenia

  • Unmanaged kanał nie jest obsługiwany.
  • Pule węzłów systemu Windows nie są jeszcze obsługiwane.
  • Sieć kubenet nie jest obsługiwana.

Ostrzeżenie

Jeśli używasz publicznego adresu IP węzła w izolowanych klastrach usługi AKS w sieci, będzie zezwalać na ruch wychodzący z typem nonewychodzącym .

Korzystanie z funkcji, dodatków i rozszerzeń wymagających ruchu wychodzącego

W przypadku klastrów izolowanych sieci za pomocą usługi BYO ACR:

Często zadawane pytania

Jaka jest różnica między izolowanym klastrem sieci a usługą Azure Firewall?

Klaster izolowany w sieci nie wymaga żadnego ruchu wychodzącego poza sieć wirtualną w całym procesie uruchamiania klastra. Izolowany klaster sieciowy ma typ połączenia wychodzącego jako none lub block. Jeśli typ ruchu wychodzącego jest ustawiony na none, usługa AKS nie konfiguruje żadnych połączeń wychodzących dla klastra, umożliwiając użytkownikowi ich samodzielną konfigurację. Jeśli typ ruchu wychodzącego ma wartość block, wszystkie połączenia wychodzące są blokowane.

Zapora zazwyczaj ustanawia barierę między zaufaną siecią a niezaufaną siecią, taką jak Internet. Usługa Azure Firewall może na przykład ograniczyć wychodzący ruch HTTP i HTTPS oparty na miejscu docelowym. Daje Ci dokładną kontrolę nad ruchem wychodzącym, umożliwiając jednocześnie zapewnienie dostępu do nazw FQDN (Fully Qualified Domain Names), które obejmują zależności ruchu wychodzącego klastra AKS. Jest to coś, czego nie mogą zrobić sieciowe grupy zabezpieczeń. Na przykład, można ustawić typ ruchu wychodzącego klastra na userDefinedRouting w celu skierowania ruchu wychodzącego przez zaporę, a następnie skonfigurować ograniczenia dotyczące nazw FQDN dla tego ruchu. Istnieje wiele przypadków, w których nadal potrzebujesz zapory. Na przykład, jeśli twoja aplikacja generuje ruch wychodzący, lub jeśli chcesz kontrolować, sprawdzać i zabezpieczać zarówno ruch wychodzący, jak i przychodzący w klastrze.

Podsumowując, podczas gdy usługa Azure Firewall może służyć do definiowania ograniczeń ruchu wychodzącego w klastrach z żądaniami wychodzącymi, izolowane klastry sieciowe przechodzą dalej w stan bezpieczny domyślnie, eliminując lub blokując całkowicie żądania wychodzące.

Czy muszę skonfigurować punkty końcowe listy dozwolonych dla izolowanego klastra sieciowego, aby klaster działał?

Etapy tworzenia klastra i uruchamiania nie wymagają żadnego ruchu wychodzącego z izolowanego klastra sieciowego. Obrazy wymagane dla składników usługi AKS i dodatków są pobierane z prywatnego rejestru ACR połączonego z klastrem zamiast ściągania z Rejestr Artefaktów Microsoft (MAR) za pośrednictwem publicznych punktów końcowych.

Po skonfigurowaniu izolowanego klastra sieciowego. Jeśli chcesz włączyć funkcje lub dodatki, które muszą wysyłać żądania wychodzące do ich punktów końcowych usługi, możesz skonfigurować prywatne punkty końcowe do usług obsługiwanych przez usługę Azure Private Link.

Czy mogę ręcznie uaktualnić pakiety w celu uaktualnienia obrazu puli węzłów?

Ręczne uaktualnianie pakietów na podstawie ruchu wychodzącego do repozytoriów pakietów nie jest zalecane. Zamiast tego możesz ręcznie uaktualnić lub automatycznie uaktualnić obrazy systemu operacyjnego węzła. Tylko NodeImage i None kanały uaktualnienia są obecnie obsługiwane w przypadku klastrów izolowanych w sieci.

Co zrobić, jeśli zmienię typ ruchu wychodzącego inny niż none lub block, czy nadal jest to klaster izolowany przez sieć?

Jedynymi obsługiwanymi typami ruchu wychodzącego dla izolowanego klastra sieciowego są none i block. Jeśli używasz innego typu ruchu wychodzącego, klaster może nadal ściągać artefakty z prywatnego rekordu ACR skojarzonego, jednak może to generować ruch wychodzący.

Następne kroki