Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule pokazano, jak za pomocą zakresów autoryzowanych adresów IP serwera interfejsu API ograniczyć, które adresy IP i ciDR mogą uzyskiwać dostęp do punktów końcowych płaszczyzny kontroli dla obciążeń usługi Azure Kubernetes Service (AKS).
Wymagania wstępne
- Interfejs wiersza polecenia platformy Azure w wersji 2.0.76 lub nowszej został zainstalowany i skonfigurowany. Sprawdź wersję przy użyciu polecenia
az --version. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure. - Aby dowiedzieć się, jakie adresy IP należy uwzględnić podczas integrowania klastra usługi AKS z usługą Azure DevOps, zobacz Dozwolone adresy IP i adresy URL domeny.
Wskazówka
W witrynie Azure Portal możesz użyć usługi Azure Copilot, aby wprowadzić zmiany w adresach IP, które mogą uzyskiwać dostęp do klastra. Aby uzyskać więcej informacji, zobacz Praca z klastrami AKS wydajnie przy użyciu rozwiązania Azure Copilot.
Ograniczenia i zagadnienia
- Ta funkcja jest obsługiwana tylko w module równoważenia obciążenia jednostki SKU w warstwie Standardowa dla klastrów utworzonych po październiku 2019 r. Wszystkie istniejące klastry na load balancerze SKU Basic z włączoną funkcją powinny nadal działać prawidłowo, jeśli wersja Kubernetes i płaszczyzna kontrolna zostaną zaktualizowane. Nie można jednak migrować tych klastrów do równoważnika obciążenia Standard SKU.
- Tej funkcji nie można używać z klastrami prywatnymi.
- W przypadku korzystania z tej funkcji z klastrami, które używają publicznych adresów IP węzłów, pule węzłów korzystające z tych adresów muszą używać prefiksów publicznych adresów IP. Należy dodać prefiksy publicznych adresów IP jako autoryzowane zakresy.
- Można określić maksymalnie 200 autoryzowanych zakresów adresów IP. Aby przejść poza ten limit, rozważ użycie integracji z siecią wirtualną serwera API Server, która obsługuje maksymalnie 2000 autoryzowanych zakresów adresów IP.
Omówienie zakresów autoryzowanych adresów IP serwera interfejsu API
Serwer interfejsu API Platformy Kubernetes uwidacznia podstawowe interfejsy API platformy Kubernetes i zapewnia interakcję z narzędziami do zarządzania, takimi jak kubectl i pulpit nawigacyjny platformy Kubernetes. Usługa AKS udostępnia jednodzierżawową płaszczyznę sterowania klastra z dedykowanym serwerem API. Serwer interfejsu API ma domyślnie przypisany publiczny adres IP. Dostęp można kontrolować przy użyciu kontroli dostępu opartej na rolach platformy Kubernetes (Kubernetes RBAC) lub kontroli dostępu opartej na rolach platformy Azure.
Aby zabezpieczyć dostęp do publicznie dostępnej płaszczyzny kontrolnej/serwera API usługi AKS, możesz włączyć i użyć autoryzowanych zakresów adresów IP. Te autoryzowane zakresy adresów IP zezwalają tylko zdefiniowanym zakresom adresów IP na komunikację z serwerem interfejsu API. Wszystkie żądania wysyłane do serwera interfejsu API z adresu IP, który nie jest częścią tych autoryzowanych zakresów adresów IP, są blokowane. Propagacja reguł może potrwać do dwóch minut. Poczekaj do tego czasu podczas testowania połączenia.
Zalecane zakresy adresów IP umożliwiające zezwolenie
Zalecamy uwzględnienie następujących zakresów adresów IP w konfiguracji autoryzowanych zakresów adresów IP serwera interfejsu API:
- Adres wyjściowy IP klastra (zapora, brama NAT lub inny adres, w zależności od typu ruchu wychodzącego).
- Dowolny zakres reprezentujący sieci, z których będziesz administrować klastrem.
Tworzenie klastra AKS z włączonymi autoryzowanymi zakresami adresów IP serwera interfejsu API
Uwaga / Notatka
Po włączeniu autoryzowanych zakresów adresów IP serwera interfejsu API podczas tworzenia klastra, zarówno publiczny adres IP serwera interfejsu API, jak i publiczny adres IP ruchu wychodzącego dla modułu równoważenia obciążenia Standard SKU są domyślnie dozwolone oprócz wszelkich zakresów, które określisz.
Przypadek specjalny — 0.0.0.0/32jest to specjalna wartość, która informuje usługę AKS, aby umożliwić dostęp do serwera API wyłącznie przez wychodzący publiczny adres IP modułu równoważenia obciążenia typu Standard SKU. Wartość 0.0.0.0/32 działa jako symbol zastępczy, który:
- Wyłącza domyślne zachowanie zezwalania na dodatkowe zakresy adresów IP klienta.
- Ogranicza dostęp serwera interfejsu API tylko do wychodzącego adresu IP należącego do klastra.
- Jest przydatny w scenariuszach, w których klaster ma zarządzać samodzielnie, ale blokować dostęp zewnętrzny.
Podczas tworzenia klastra z włączonymi autoryzowanymi zakresami adresów IP serwera interfejsu API należy podać listę autoryzowanych zakresów publicznych adresów IP. Po określeniu zakresu CIDR należy użyć adresu sieciowego (pierwszego adresu IP w zakresie). Jeśli na przykład chcesz zezwolić zakresowi od 137.117.106.88 do 137.117.106.95, musisz określić 137.117.106.88/29.
Utwórz klaster AKS, w którym włączono autoryzowane zakresy adresów IP serwera API, używając polecenia
az aks createz parametrem--api-server-authorized-ip-ranges. W poniższym przykładzie tworzony jest klaster o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup i umożliwia zakresowi73.140.245.0/24adresów IP dostęp do serwera interfejsu API:az aks create --resource-group myResourceGroup --name myAKSCluster --vm-set-type VirtualMachineScaleSets --load-balancer-sku standard --api-server-authorized-ip-ranges 73.140.245.0/24 --generate-ssh-keys
Utwórz klaster AKS z włączonymi autoryzowanymi zakresami adresów IP serwera interfejsu API, korzystając z polecenia cmdlet
New-AzAksClusteri parametru-ApiServerAccessAuthorizedIpRange. W poniższym przykładzie tworzony jest klaster o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup i umożliwia zakresowi73.140.245.0/24adresów IP dostęp do serwera interfejsu API:New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '73.140.245.0/24' -GenerateSshKey
- Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób>Kontenery>usługi Azure Kubernetes Service (AKS).
- Skonfiguruj ustawienia klastra zgodnie z potrzebami.
- W sekcji Sieć w obszarze Dostęp publiczny wybierz pozycję Ustaw autoryzowane zakresy adresów IP.
- W polu Określ zakresy adresów IP wprowadź zakresy adresów IP, które chcesz autoryzować w celu uzyskania dostępu do serwera interfejsu API.
- Skonfiguruj pozostałe ustawienia klastra zgodnie z potrzebami.
- Gdy wszystko będzie gotowe, wybierz pozycję Przejrzyj i utwórz>Utwórz aby utworzyć klaster.
Określanie wychodzących adresów IP dla load balancera Standard SKU
Podczas tworzenia klastra, w którym włączone są autoryzowane zakresy adresów IP serwera interfejsu API, można również określić wychodzące adresy IP lub prefiksy dla klastra za pomocą parametrów --load-balancer-outbound-ips lub --load-balancer-outbound-ip-prefixes. Wszystkie adresy IP podane w parametrach są dozwolone wraz z adresami IP w parametrze --api-server-authorized-ip-ranges .
Utwórz klaster AKS z włączonymi autoryzowanymi zakresami adresów IP dla serwera interfejsu API i określ adresy IP wychodzące dla standardowego modułu równoważenia obciążenia przy użyciu parametru
--load-balancer-outbound-ips. Poniższy przykład tworzy klaster o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup, umożliwia zakresowi73.140.245.0/24adresów IP dostęp do serwera interfejsu API i określa dwa adresy IP do komunikacji wychodzącej dla równoważnika obciążenia w wersji SKU Standard. Pamiętaj, aby zastąpić symbole zastępcze<public-ip-id-1>i<public-ip-id-2>rzeczywistymi identyfikatorami zasobów dla swoich publicznych adresów IP.az aks create --resource-group myResourceGroup --name myAKSCluster --vm-set-type VirtualMachineScaleSets --load-balancer-sku standard --api-server-authorized-ip-ranges 73.140.245.0/24 --load-balancer-outbound-ips <public-ip-id-1>,<public-ip-id-2> --generate-ssh-keys
Zezwalaj tylko na publiczny adres IP wychodzący Standardowego SKU równoważenia obciążenia
Utwórz klaster AKS z włączonymi autoryzowanymi zakresami adresów IP serwera API i zezwalaj tylko na wychodzący publiczny adres IP modułu równoważenia obciążenia SKU w warstwie Standard, używając parametru
--api-server-authorized-ip-ranges. W poniższym przykładzie tworzony jest klaster o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup. Włączono autoryzowane zakresy adresów IP serwera interfejsu API i zezwala się jedynie na wychodzący adres IP publiczny dla modułu równoważenia obciążenia o typie Standard SKU.az aks create --resource-group myResourceGroup --name myAKSCluster --vm-set-type VirtualMachineScaleSets --load-balancer-sku standard --api-server-authorized-ip-ranges 0.0.0.0/32 --generate-ssh-keys
Utwórz klaster AKS z włączonymi autoryzowanymi zakresami adresów IP serwera API i zezwalaj tylko na wychodzący publiczny adres IP modułu równoważenia obciążenia SKU w warstwie Standard, używając parametru
-ApiServerAccessAuthorizedIpRange. W poniższym przykładzie tworzony jest klaster o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup. Włączono autoryzowane zakresy adresów IP serwera interfejsu API i zezwala się jedynie na wychodzący adres IP publiczny dla modułu równoważenia obciążenia o typie Standard SKU.New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '0.0.0.0/32' -GenerateSshKey
- Na stronie głównej witryny Azure Portal wybierz pozycję Utwórz zasób>Kontenery>usługi Azure Kubernetes Service (AKS).
- Skonfiguruj ustawienia klastra zgodnie z potrzebami.
- W sekcji Sieć w obszarze Dostęp publiczny wybierz pozycję Ustaw autoryzowane zakresy adresów IP.
- W polu Określ zakresy adresów IP wprowadź wartość
0.0.0.0/32. To ustawienie zezwala tylko na wychodzący publiczny adres IP standardowego modułu równoważenia obciążenia SKU. - Skonfiguruj pozostałe ustawienia klastra zgodnie z potrzebami.
- Gdy wszystko będzie gotowe, wybierz pozycję Przejrzyj i utwórz>Utwórz aby utworzyć klaster.
Aktualizowanie autoryzowanych zakresów adresów IP serwera interfejsu API w istniejącym klastrze
Zaktualizuj zakresy autoryzowanych adresów IP serwera interfejsu API istniejącego klastra przy użyciu polecenia
az aks updatez parametrem--api-server-authorized-ip-ranges. Poniższy przykład aktualizuje autoryzowane zakresy adresów IP serwera interfejsu API w klastrze o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup i aktualizuje zakres adresów IP na73.140.245.0/24:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges 73.140.245.0/24
Zezwalaj na wiele zakresów adresów IP
Aby zezwolić na wiele zakresów adresów IP, można wyświetlić kilka adresów IP rozdzielonych przecinkami.
Zaktualizuj autoryzowane zakresy adresów IP serwera API istniejącego klastra, aby umożliwić wiele zakresów adresów IP, używając polecenia
az aks updatez parametrem--api-server-authorized-ip-ranges. Poniższy przykład aktualizuje autoryzowane zakresy adresów IP serwera interfejsu API w klastrze o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup i zezwala na wiele zakresów adresów IP:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges 73.140.245.0/24,193.168.1.0/24,194.168.1.0/24
Zaktualizuj autoryzowane zakresy adresów IP serwera API istniejącego klastra, używając polecenia cmdlet z parametrem
Set-AzAksCluster. Poniższy przykład aktualizuje autoryzowane zakresy adresów IP serwera interfejsu API w klastrze o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup i aktualizuje zakres adresów IP na73.140.245.0/24:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange '73.140.245.0/24'
- Przejdź do witryny Azure Portal i wybierz klaster usługi AKS, który chcesz zaktualizować.
- Z menu usługi w obszarze Ustawienia wybierz pozycję Sieć.
- W obszarze Ustawienia zasobów wybierz pozycję Zarządzaj.
- Na stronie Autoryzowane zakresy adresów IP zaktualizuj zakresy autoryzowanych adresów IP zgodnie z potrzebami .
- Po zakończeniu wybierz opcję Zapisz.
Zdezaktywuj zakresy autoryzowanych adresów IP serwera interfejsu API w istniejącym klastrze.
Wyłącz zakresy adresów IP autoryzowane na serwerze API używając polecenia
az aks updatei określ pusty zakres dla parametru--api-server-authorized-ip-ranges"".az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges ""
Wyłącz autoryzowane zakresy adresów IP serwera API przy użyciu polecenia cmdlet
Set-AzAksClusteri ustaw pusty zakres dla parametru''-ApiServerAccessAuthorizedIpRange.Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange ''
- Przejdź do witryny Azure Portal i wybierz klaster usługi AKS, który chcesz zaktualizować.
- Z menu usługi w obszarze Ustawienia wybierz pozycję Sieć.
- W obszarze Ustawienia zasobów wybierz pozycję Zarządzaj.
- Na stronie Autoryzowane zakresy adresów IP usuń zaznaczenie pola wyboru Ustaw autoryzowane zakresy adresów IP .
- Wybierz Zapisz.
Znajdowanie istniejących zakresów autoryzowanych adresów IP serwera interfejsu API
Znajdź istniejące zakresy autoryzowanych adresów IP serwera interfejsu API przy użyciu
az aks showpolecenia z parametrem ustawionym--querynaapiServerAccessProfile.authorizedIpRanges.az aks show --resource-group myResourceGroup --name myAKSCluster --query apiServerAccessProfile.authorizedIpRangesPrzykładowy wynik:
[ "73.140.245.0/24" ]
Znajdź istniejące zakresy autoryzowanych adresów IP serwera API przy użyciu cmdlet
Get-AzAksCluster.Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster | Select-Object -ExpandProperty ApiServerAccessProfilePrzykładowy wynik:
AuthorizedIPRanges: {73.140.245.0/24} ...
Przejdź do witryny Azure Portal i wybierz klaster usługi AKS.
Z menu usługi w obszarze Ustawienia wybierz pozycję Sieć. Istniejące zakresy autoryzowanych adresów IP serwera interfejsu API są wyświetlane w obszarze Ustawienia zasobów.
Uzyskiwanie dostępu do serwera API z maszyny deweloperskiej, narzędzi programistycznych lub oprogramowania do automatyzacji
Aby uzyskać dostęp do serwera API, należy dodać maszyny deweloperskie, narzędzia lub adresy IP automatyzacji do listy zatwierdzonych zakresów adresów IP klastra AKS.
Inną opcją jest skonfigurowanie "jumpboxa" z niezbędnymi narzędziami wewnątrz oddzielnej podsieci w sieci wirtualnej zapory. Ta opcja zakłada, że Twoje środowisko ma zaporę sieciową z odpowiednią siecią i że dodano adresy IP zapory sieciowej do autoryzowanych zakresów. Podobnie, jeśli wymuszono tunelowanie z podsieci AKS do podsieci zapory, umieszczenie punktu pośredniczącego w podsieci klastra również działa.
Uwaga / Notatka
W poniższym przykładzie dodano kolejny adres IP do zatwierdzonych zakresów. Nadal zawiera on istniejący adres IP. Jeśli nie dołączysz istniejącego adresu IP, to polecenie zastąpi je nowym, zamiast dodawać go do autoryzowanych zakresów.
Pobierz adres IP i ustaw go na zmienną środowiskową przy użyciu następującego polecenia:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")Dodaj swój adres IP do listy zatwierdzonych za pomocą polecenia
az aks updatez parametrem--api-server-authorized-ip-ranges. Poniższy przykład dodaje bieżący adres IP do istniejących zakresów autoryzowanych adresów IP serwera interfejsu API w klastrze o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges $CURRENT_IP/24,73.140.245.0/24
Pobierz adres IP i ustaw go na zmienną środowiskową przy użyciu następującego polecenia:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")Dodaj swój adres IP do zatwierdzonej listy przy użyciu polecenia
Set-AzAksClustercmdlet z parametrem-ApiServerAccessAuthorizedIpRange. Poniższy przykład dodaje bieżący adres IP do istniejących zakresów autoryzowanych adresów IP serwera interfejsu API w klastrze o nazwie myAKSCluster w grupie zasobów o nazwie myResourceGroup:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange '$CURRENT_IP/24,73.140.245.0/24'
Inną opcją jest użycie następującego polecenia w systemach Windows w celu uzyskania publicznego adresu IPv4:
Invoke-RestMethod http://ipinfo.io/json | Select -exp ip
Możesz również wykonać kroki opisane w artykule Znajdowanie adresu IP lub wyszukiwanie mojego adresu IP? w przeglądarce internetowej.
Treści powiązane
Aby dowiedzieć się więcej o zabezpieczeniach w usłudze AKS, przeczytaj następujące artykuły.