Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ve výchozím nastavení mají všechny pody spuštěné v clusteru Azure Kubernetes Service (AKS) přístup ke koncovému bodu služby Azure Instance Metadata Service (IMDS ). Teď můžete volitelně omezit přístup ke koncovému bodu IMDS z clusterů Azure Kubernetes Service (AKS) za účelem zvýšení zabezpečení (Preview).
Důležité
Funkce AKS ve verzi Preview jsou k dispozici na samoobslužné bázi s možností přihlášení. Verze Preview jsou poskytovány "tak, jak jsou" a "jak jsou dostupné", a jsou vyloučeny ze smluv o úrovni služeb a z omezené záruky. Předběžné verze AKS jsou částečně pokryty zákaznickou podporou v rámci maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:
O omezeních služby IMDS pro AKS clustery
Azure IMDS je rozhraní REST API, které poskytuje informace o aktuálně spuštěných instancích virtuálních počítačů. Tyto informace zahrnují skladovou položku, paměť, konfiguraci sítě a nadcházející události údržby.
Rozhraní IMDS REST API je k dispozici na dobře známé nesměrovatelné IP adrese (169.254.169.254), která je ve výchozím nastavení přístupná ze všech podů spuštěných v clusteru AKS. Tento výchozí přístup představuje určitá bezpečnostní rizika pro cluster AKS:
- Uživatelé se zlými úmysly mohou službu využít k získání citlivých informací, jako jsou tokeny a další informace o platformě, což vede k úniku informací.
- Potenciální ohrožení zabezpečení ověřování se pak zveřejňují, protože aplikace by mohly tyto přihlašovací údaje zneužít.
Nyní můžete omezit přístup ke koncovému bodu IMDS pro pody, které nejsou součástí hostitelské sítě, spuštěné ve vašem clusteru. Pody nevyužívající hostitelskou síť mají ve svých specifikacích nastaveno hostNetwork na false. Pokud je povolené omezení IMDS, nemůžou pody sítě bez hostitele získat přístup ke koncovému bodu IMDS nebo získat tokeny OAuth 2.0 pro autorizaci spravovanou identitou. Pody v nehostitelské síti by se měly po aktivaci omezení IMDS spoléhat na ID úloh Microsoft Entra.
Pody hostitelské sítě jsou hostNetwork ve svých specifikacích nastavené na true . Po povolení omezení IMDS můžou pody sítě hostitelů dál přistupovat ke koncovému bodu IMDS, protože sdílejí stejný obor názvů sítě s hostitelskými procesy. Místní procesy v uzlech mohou používat koncový bod IMDS k načítání metadat instancí, takže mají povolen přístup k tomuto koncovému bodu i po uplatnění omezení IMDS.
Než začnete
Ujistěte se, že máte nainstalované Azure CLI verze 2.61.0 nebo novější. Verzi zjistíte spuštěním příkazu
az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.aks-previewNainstalujte rozšíření Azure CLI verze 7.0.0b2 nebo novější.Pokud ještě nemáte rozšíření
aks-preview, nainstalujte jej pomocí příkazuaz extension add.az extension add --name aks-previewPokud už máte rozšíření
aks-preview, aktualizujte ho pomocí příkazuaz extension updatea ujistěte se, že máte nejnovější verzi.az extension update --name aks-preview
Pomocí příkazu
IMDSRestrictionPreviewzaregistrujte příznak funkce .az feature register --namespace Microsoft.ContainerService --name IMDSRestrictionPreviewPomocí příkazu az feature show ověřte stav registrace. Zobrazení stavu Zaregistrované trvá několik minut:
az feature show --namespace Microsoft.ContainerService --name IMDSRestrictionPreviewPokud se stav projeví jako zaregistrovaný, aktualizujte registraci poskytovatele prostředků Microsoft.ContainerService pomocí příkazu az provider register :
az provider register --namespace Microsoft.ContainerServicePovolte vystavitele OIDC v clusteru AKS. Pokud chcete vytvořit nový cluster nebo aktualizovat existující cluster, přečtěte si téma Konfigurace clusteru AKS s vystavitelem OIDC.
Omezení
Omezení IMDS nepodporuje některé doplňky, které potřebují přístup ke koncovému bodu IMDS. Pokud máte v clusteru nainstalované tyto doplňky, nemůžete povolit omezení IMDS. Pokud je naopak povolené omezení IMDS, nemůžete tyto doplňky nainstalovat. Mezi nepodporované doplňky patří:
- Kontroler vstupní brány aplikací
- Azure Monitor pro kontejnery (Container Insights)
- Virtuální uzly
- Azure Policy
- Rozšíření clusteru: Flux (GitOps), Dapr, Azure App Configuration, Azure Machine Learning, Azure Container Storage, Azure Backup
- Operátor sady nástrojů AI (Preview)
- Směrování přihlášek
- Směrování aplikací HTTP
- Směrování webových aplikací
- Analýza nákladů Azure
Zprostředkovatel služby Azure Key Vault pro ovladač rozhraní csI (Secrets Store Container Storage Interface) teď podporuje režim ověřování identit úloh, a proto může pracovat s povoleným omezením IMDS.
Navíc v současné době nejsou pooly uzlů Windows podporovány s omezením IMDS.
Upozornění
Povolení omezení IMDS pro cluster, který používá nepodporované doplňky, způsobí chybu.
Důležitá poznámka
Pokud je povolené omezení IMDS, AKS spravuje pravidla iptables na uzlu. Mějte na paměti následující body, abyste zabránili náhodnému odebrání nebo manipulaci s pravidly iptables:
- Pravidla iptables je možné upravit pomocí SSH nebo node-shellu, proto doporučujeme zakázat SSH nebo zásadu k zakázání privilegovaných podů.
- Pravidla iptables, která omezují přístup k IMDS, se obnoví, když dojde k přeinstalování systému nebo restartování uzlu.
Povolení omezení IMDS v novém clusteru
Pokud chcete povolit omezení IMDS v novém clusteru a blokovat veškerý provoz z podů sítě mimo hostitele do koncového bodu IMDS, spusťte az aks create příkaz s parametrem --enable-imds-restriction .
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--enable-imds-restriction
Povolení omezení IMDS u existujícího clusteru
Pokud chcete povolit omezení IMDS u existujícího clusteru a blokovat veškerý provoz z podů sítě mimo hostitele do koncového bodu IMDS, spusťte az aks update příkaz s parametrem --enable-imds-restriction .
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--enable-imds-restriction
Po aktualizaci clusteru je nutné znovu vytvořit uzly v clusteru az aks upgrade --node-image-only , aby se začal blokovat provoz do podů clusteru.
Ověření provozu v clusteru s povoleným omezením IMDS
Aby bylo možné ověřit, že je omezení IMDS účinné, otestujte provoz do podů sítě jak pro nehostitelské, tak pro hostitelské sítě.
Ověřit provoz na ne-hostitelském síťovém podu
Vytvořte pod pomocí
hostNetwork: false. Pokud nemáte testovací pod shostNetwork: false, můžete ho vytvořit spuštěním následujícího příkazu.cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: non-host-nw spec: hostNetwork: false containers: - name: non-host-nw image: mcr.microsoft.com/azurelinux/base/nginx:1 command: ["sleep", "infinity"] EOFPřipojte se k prostředí v podu pomocí
kubectl exec.kubectl exec -it non-host-nw -- /bin/bashOtestujte provoz z podu do koncového bodu IMDS.
curl -s -H Metadata:true --connect-timeout 10 --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2023-11-15"
Počkejte asi 10 sekund a všimněte si, že příkaz nevrací nic, což znamená, že vypršel časový limit připojení a pod nemůže získat přístup ke koncovému bodu IMDS.
Poté vyčistěte pod pomocí kubectl delete pod non-host-nw.
Ověření provozu na podu hostitelské sítě
Vytvořte pod pomocí
hostNetwork: true. Pokud nemáte testovací pod shostNetwork: true, můžete ho vytvořit spuštěním následujícího příkazu.cat <<EOF | kubectl apply -f - apiVersion: v1 kind: Pod metadata: name: host-nw spec: hostNetwork: true containers: - name: host-nw image: mcr.microsoft.com/azurelinux/base/nginx:1 command: ["sleep", "infinity"] EOFPřipojte se k prostředí v podu pomocí
kubectl exec.kubectl exec -it host-nw -- /bin/bashOtestujte provoz z podu do koncového bodu IMDS
curl -s -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2023-11-15"
Všimněte si, že příkaz vrátí výsledky, což znamená, že pod má přístup ke koncovým bodům IMDS podle očekávání.
Poté vyčistěte pod pomocí kubectl delete pod host-nw.
Zakázání omezení IMDS pro cluster
Pokud chcete zakázat omezení IMDS u existujícího clusteru a povolit veškerý provoz z libovolných podů do koncového bodu IMDS, spusťte az aks update příkaz s parametrem --disable-imds-restriction .
az aks update \
--resource-group myResourceGroup \
--name myAKSCluster \
--disable-imds-restriction
Po aktualizaci clusteru je nutné znovu vytvořit image uzlů v clusteru, aby se začaly povolovat veškerý provoz do podů clusteru.