Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln visar hur du använder API-serverauktoriserade IP-adressintervall för att begränsa vilka IP-adresser och CIDR:er som kan komma åt kontrollplansslutpunkter för dina AkS-arbetsbelastningar (Azure Kubernetes Service).
Förutsättningar
- Azure CLI version 2.0.76 eller senare. Kontrollera din version genom att köra
az --version. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI. - Den senaste versionen av Azure PowerShell. Installationsinstruktioner finns i Installera Azure PowerShell.
- Information om vilka IP-adresser som ska inkluderas när du integrerar ditt AKS-kluster med Azure DevOps finns i Tillåtna IP-adresser och domän-URL:er.
Tips/Råd
I Azure-portalen använder du Azure Copilot för att ändra DE IP-adresser som kan komma åt klustret. Mer information finns i Arbeta med AKS-kluster effektivt med Hjälp av Azure Copilot.
Begränsningar och överväganden
- AKS stöder endast den här funktionen med Standard SKU-lastbalanseraren. AKS stöder inte längre Basic SKU-lastbalanseraren. Om du har ett befintligt kluster som använder basic-SKU :n migrerar du till standard-SKU:n. Migreringen kräver stilleståndstid och har ytterligare förutsättningar.
- Du kan inte använda den här funktionen med privata kluster.
- För kluster som använder offentliga NOD-IP-adresser måste varje nodpool med offentliga IP-adresser använda offentliga IP-prefix. Lägg till dessa prefix som auktoriserade intervall.
- Du kan ange upp till 200 auktoriserade IP-intervall. Om du vill överskrida den här gränsen kan du överväga att använda API Server VNet-integrering, som stöder upp till 2 000 auktoriserade IP-intervall.
Översikt över API-serverauktoriserade IP-intervall
Kubernetes API-servern exponerar underliggande Kubernetes-API:er. Hanteringsverktyg som kubectl och Kubernetes-instrumentpanelen interagerar med klustret via den här API-servern. AKS tillhandahåller ett kontrollplan med en enda klientorganisation med en dedikerad API-server och tilldelar servern en offentlig IP-adress som standard. Du kan styra åtkomsten med hjälp av Rollbaserad åtkomstkontroll för Kubernetes (Kubernetes RBAC) eller Azure RBAC.
Om du vill skydda den annars offentligt tillgängliga API-servern för AKS-kontrollplan aktiverar du auktoriserade IP-intervall. Auktoriserade IP-intervall tillåter endast att definierade IP-adressintervall kommunicerar med API-servern. API-servern blockerar begäranden från IP-adresser som inte ingår i de auktoriserade intervallen. Det kan ta upp till två minuter att sprida reglerna. Vänta upp till två minuter innan du testar anslutningen.
Rekommenderade IP-intervall för att tillåta
Vi rekommenderar att du inkluderar följande IP-adressintervall i konfigurationen av API-serverauktoriserade IP-intervall:
- Klustrets utgående IP-adress (brandvägg, NAT-gateway eller annan adress, beroende på din utgående typ).
- IP-adressintervallen för nätverk som du använder för att administrera klustret.
Skapa ett AKS-kluster med API-serverauktoriserade IP-intervall aktiverade
Anteckning
När du aktiverar API-serverauktoriserade IP-intervall när klustret skapas lägger AKS till den offentliga IP-adressen för API-servern och den utgående offentliga IP-adressen för Standard SKU-lastbalanseraren i listan över auktoriserade IP-intervall som standard, utöver de intervall som du anger.
Specialfall – 0.0.0.0/32: Platshållaren 0.0.0.0/32 säger till AKS att endast tillåta att den utgående offentliga IP-adressen för Standard SKU-lastbalanseraren får åtkomst till API-servern. Platshållaren har följande beteenden:
| Behavior | Description |
|---|---|
| Extra klient-IP-intervall | Inaktiverar standardbeteendet för att tillåta extra klient-IP-intervall. |
| API-serveråtkomst | Begränsar API-serveråtkomsten till endast klustrets egen utgående IP-adress. |
| Självhantering | Låter klustret självhantera samtidigt som extern åtkomst blockeras. |
Om du vill skapa ett kluster med API-serverauktoriserade IP-intervall aktiverade anger du en lista över auktoriserade offentliga IP-adressintervall. För ett CIDR-intervall använder du nätverksadressen, som är den första IP-adressen i intervallet. Om du till exempel vill tillåta intervallet 137.117.106.88 till 137.117.106.95anger du 137.117.106.88/29.
az aks create Använd kommandot med parametern --api-server-authorized-ip-ranges för att skapa ett AKS-kluster med API-serverauktoriserade IP-intervall aktiverade. I följande exempel skapas ett kluster med namnet myAKSCluster i resursgruppen med namnet myResourceGroup och gör att IP-adressintervallet 73.140.245.0/24 kan komma åt API-servern:
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
Använd cmdleten New-AzAksCluster med parametern -ApiServerAccessAuthorizedIpRange för att skapa ett AKS-kluster med API-serverauktoriserade IP-intervall aktiverade. I följande exempel skapas ett kluster med namnet myAKSCluster i resursgruppen med namnet myResourceGroup och gör att IP-adressintervallet 73.140.245.0/24 kan komma åt API-servern:
New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '73.140.245.0/24' -GenerateSshKey
- På startsidan Azure Portal väljer du
- Konfigurera klusterinställningarna efter behov.
- I avsnittet Nätverk under Offentlig åtkomst väljer du Ange auktoriserade IP-intervall.
- För Ange IP-intervall anger du de IP-adressintervall som du vill auktorisera för åtkomst till API-servern.
- Konfigurera resten av klusterinställningarna efter behov.
- När du är klar väljer du Granska + skapa>Skapa för att skapa klustret.
Ange utgående IP-adresser för en Standard SKU-lastbalanserare med hjälp av Azure CLI
När du skapar ett kluster med API-serverauktoriserade IP-intervall aktiverade kan du även ange dess utgående IP-adresser eller prefix med hjälp av parametrarna --load-balancer-outbound-ips eller --load-balancer-outbound-ip-prefixes . AKS tillåter dessa IP-adresser utöver IP-adresserna i parametern --api-server-authorized-ip-ranges .
Använd parametern --load-balancer-outbound-ips för att skapa ett AKS-kluster med API-serverauktoriserade IP-intervall aktiverade och ange utgående IP-adresser för Standard SKU-lastbalanseraren. I följande exempel skapas ett kluster med namnet myAKSCluster i resursgruppen myResourceGroup, tillåter 73.140.245.0/24 åtkomst till API-servern och anger två utgående IP-adresser för Standard SKU-lastbalanseraren. Ersätt <public-ip-id-1> och <public-ip-id-2> med resurs-ID:t för dina offentliga IP-adresser.
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
Tillåt endast den utgående offentliga IP-adressen för Standard SKU-lastbalanseraren
Använd parametern --api-server-authorized-ip-ranges för att skapa ett AKS-kluster som endast tillåter att den utgående offentliga IP-adressen för Standard SKU-lastbalanseraren får åtkomst till API-servern. I följande exempel skapas ett kluster med namnet myAKSCluster i resursgruppen myResourceGroup:
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
Använd parametern -ApiServerAccessAuthorizedIpRange för att skapa ett AKS-kluster som endast tillåter att den utgående offentliga IP-adressen för Standard SKU-lastbalanseraren får åtkomst till API-servern. I följande exempel skapas ett kluster med namnet myAKSCluster i resursgruppen myResourceGroup:
New-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -NodeVmSetType VirtualMachineScaleSets -LoadBalancerSku Standard -ApiServerAccessAuthorizedIpRange '0.0.0.0/32' -GenerateSshKey
- På startsidan Azure Portal väljer du
- Konfigurera klusterinställningarna efter behov.
- I avsnittet Nätverk under Offentlig åtkomst väljer du Ange auktoriserade IP-intervall.
- För Ange IP-intervall anger du
0.0.0.0/32. Den här inställningen tillåter endast den utgående offentliga IP-adressen för Standard SKU-lastbalanseraren. - Konfigurera resten av klusterinställningarna efter behov.
- När du är klar väljer du Granska + skapa>Skapa för att skapa klustret.
Uppdatera API-serverns auktoriserade IP-intervall i ett befintligt kluster
az aks update Använd kommandot med parametern --api-server-authorized-ip-ranges för att uppdatera ett klusters API-serverauktoriserade IP-intervall. I följande exempel anges det auktoriserade intervallet till 73.140.245.0/24 för klustret med namnet myAKSCluster i resursgruppen med namnet myResourceGroup:
az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges 73.140.245.0/24
Tillåt flera IP-adressintervall med hjälp av Azure CLI
Om du vill tillåta flera IP-adressintervall separerar du dem med kommatecken.
az aks update Använd kommandot med parametern --api-server-authorized-ip-ranges för att auktorisera flera IP-adressintervall. I följande exempel uppdateras klustret med namnet myAKSCluster i resursgruppen med namnet myResourceGroup:
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
Använd cmdleten Set-AzAksCluster med parametern -ApiServerAccessAuthorizedIpRange för att uppdatera ett klusters API-serverauktoriserade IP-intervall. I följande exempel anges det auktoriserade intervallet till 73.140.245.0/24 för klustret med namnet myAKSCluster i resursgruppen med namnet myResourceGroup:
Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange '73.140.245.0/24'
- Gå till Azure Portal och välj det AKS-kluster som du vill uppdatera.
- På tjänstmenyn går du till Inställningar och väljer Nätverk.
- Under Resursinställningar väljer du Hantera.
- På sidan Auktoriserade IP-intervall uppdaterar du de auktoriserade IP-intervallenefter behov.
- När du är klar väljer du Spara.
Inaktivera API-serverauktoriserade IP-intervall i ett befintligt kluster
Om du vill inaktivera API-serverauktoriserade IP-intervall använder du az aks update kommandot och anger ett tomt intervall "" för parametern --api-server-authorized-ip-ranges .
az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges ""
Om du vill inaktivera API-serverauktoriserade IP-intervall använder du cmdleten Set-AzAksCluster och anger ett tomt intervall '' för parametern -ApiServerAccessAuthorizedIpRange .
Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange ''
- Gå till Azure Portal och välj det AKS-kluster som du vill uppdatera.
- På tjänstmenyn går du till Inställningar och väljer Nätverk.
- Under Resursinställningar väljer du Hantera.
- På sidan Auktoriserade IP-intervall avmarkerar du kryssrutan Ange auktoriserade IP-intervall .
- Välj Spara.
Hitta befintliga API-serverauktoriserade IP-intervall
Om du vill hitta befintliga API-serverauktoriserade IP-intervall använder du az aks show kommandot med parametern inställd på --queryapiServerAccessProfile.authorizedIpRanges.
az aks show --resource-group myResourceGroup --name myAKSCluster --query apiServerAccessProfile.authorizedIpRanges
Exempel på utdata:
[
"73.140.245.0/24"
]
Använd cmdleten Get-AzAksCluster för att hitta befintliga API-serverauktoriserade IP-intervall.
Get-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster | Select-Object -ExpandProperty ApiServerAccessProfile
Exempel på utdata:
AuthorizedIPRanges: {73.140.245.0/24}
...
Gå till Azure Portal och välj ditt AKS-kluster.
På tjänstmenyn går du till Inställningar och väljer Nätverk.
Avsnittet Resursinställningar på sidan Nätverk visar de för närvarande konfigurerade auktoriserade IP-intervallen.
Få åtkomst till API-servern från utvecklingsdatorn, verktygen eller automatiseringen
Om du vill komma åt API-servern från en utvecklingsdator, ett verktyg eller ett automationssystem lägger du till dess offentliga IP-adress i klustrets auktoriserade IP-intervall.
Du kan också konfigurera en jumpbox med nödvändiga verktyg i ett separat undernät i brandväggens virtuella nätverk och lägga till brandväggens IP-adresser i de auktoriserade intervallen. Om AKS-klustrets undernät använder tvingad tunneltrafik genom brandväggen kan du i stället placera jumpboxen i AKS-klustrets undernät.
Anteckning
I följande exempel bevaras det befintliga auktoriserade intervallet och ytterligare en IP-adress läggs till. Om du utelämnar en befintlig IP-adress ersätter kommandot den med det nya intervallet.
Kör följande kommando för att hämta din IP-adress och ange den som en miljövariabel:
# Retrieve your IP address CURRENT_IP=$(dig +short "myip.opendns.com" "@resolver1.opendns.com")az aks updateAnvänd kommandot med parametern--api-server-authorized-ip-rangesför att lägga till din IP-adress till de auktoriserade intervallen. I följande exempel läggs din aktuella IP-adress till i de befintliga intervallen i klustret med namnet myAKSCluster i resursgruppen med namnet myResourceGroup:az aks update --resource-group myResourceGroup --name myAKSCluster --api-server-authorized-ip-ranges $CURRENT_IP/32,73.140.245.0/24
Kör följande kommando för att hämta din IP-adress och ange den som en miljövariabel:
# Retrieve your IP address $CURRENT_IP = (Invoke-RestMethod -Uri 'https://ipinfo.io/json').ipAnvänd cmdleten
Set-AzAksClustermed parametern-ApiServerAccessAuthorizedIpRangeför att lägga till din IP-adress till de auktoriserade intervallen. I följande exempel läggs din aktuella IP-adress till i de befintliga intervallen i klustret med namnet myAKSCluster i resursgruppen med namnet myResourceGroup:Set-AzAksCluster -ResourceGroupName myResourceGroup -Name myAKSCluster -ApiServerAccessAuthorizedIpRange "$CURRENT_IP/32", '73.140.245.0/24'
Ett annat sätt att identifiera din IP-adress finns i Hitta din IP-adress eller sök efter vad som är min IP-adress? i en webbläsare.
Relaterat innehåll
Mer information om säkerhet i AKS finns i följande artiklar: