Koncepty zabezpečení pro aplikace a clustery v Azure Kubernetes Service (AKS)

Zabezpečení kontejneru chrání celý kanál od sestavení po úlohy aplikací běžících v Azure Kubernetes Service (AKS).

Zabezpečený dodavatelský řetězec zahrnuje prostředí sestavení a registr.

Kubernetes zahrnuje součásti zabezpečení, jako jsou standardy zabezpečení podů a tajné kódy. Azure zahrnuje komponenty, jako jsou služba Active Directory, Microsoft Defender pro kontejnery, Azure Policy, Azure Key Vault, skupiny zabezpečení sítě a orchestrované upgrady clusteru. AKS kombinuje tyto součásti zabezpečení do:

  • Zadejte úplný ověřovací a autorizační scénář.
  • Použijte vestavěné zásady Azure Policy AKS k zabezpečení vašich aplikací.
  • Ucelený přehled od sestavení až po vaši aplikaci s využitím Microsoft Defender pro kontejnery.
  • Udržujte cluster AKS v provozu s nejnovějšími aktualizacemi zabezpečení operačního systému a verzemi Kubernetes.
  • Zajistěte zabezpečený provoz podů a přístup k citlivým přihlašovacím údajům.

Tento článek představuje základní koncepty, které zajišťují zabezpečení aplikací v AKS.

Důležité

Počínaje datem 30. listopadu 2025 Azure Kubernetes Service (AKS) již nepodporuje a neposkytuje aktualizace zabezpečení pro Azure Linux 2.0. Image uzlu Azure Linux 2.0 je zmražena ve verzi 202512.06.0. Od 31. března 2026 se image uzlů odeberou a nebudete moct škálovat fondy uzlů. Migrace na podporovanou verzi Azure Linuxu probíhá buď upgradováním vašich fondů uzlů na podporovanou verzi Kubernetes, nebo migrací na osSku AzureLinux3. Další informace najdete v problému GitHub vyřazení a ve vyhlášení o vyřazení aktualizací Azure. Pokud chcete mít přehled o oznámeních a aktualizacích, sledujte poznámky k verzi AKS.

Zajištění bezpečnosti při sestavování

Vzhledem k tomu, že se jedná o vstupní bod dodavatelského řetězce, je důležitá statická analýza image buildů před jejich zavedením do pipeline. To zahrnuje posouzení ohrožení zabezpečení a dodržování předpisů. Nejde o selhání sestavení, protože má chybu zabezpečení, neboť tím dochází k narušení vývoje. Jde o analýzu Vendor Status pro segmentaci na základě zranitelností, které jsou řešitelné vývojovými týmy. Pomocí období odkladu také můžete vývojářům umožnit čas na nápravu zjištěných problémů.

Zabezpečení registru

Posouzení stavu zranitelnosti obrazu v registru zjišťuje posun a také zachytává obrazy, které nepocházejí z vašeho prostředí sestavení. Pomocí Notary V2 připojte podpisy k obrazům, abyste zajistili, že nasazení pocházejí z důvěryhodného umístění.

Zabezpečení clusteru

Hlavní komponenty Kubernetes v AKS jsou součástí spravované služby, kterou poskytuje, spravuje a udržuje Microsoft. Každý cluster AKS má vlastní jednoklientský vyhrazený Kubernetes master, který zahrnuje server API, plánovač atd. Další informace najdete v tématu Vulnerability management for Azure Kubernetes Service.

Ve výchozím nastavení používá server rozhraní API Kubernetes veřejnou IP adresu a plně kvalifikovaný název domény (FQDN). Přístup ke koncovému bodu serveru ROZHRANÍ API můžete omezit pomocí autorizovaných rozsahů IP adres. Můžete také vytvořit plně privátní cluster , který omezí přístup k vašemu virtuální síti pomocí serveru API.

Přístup k serveru rozhraní API můžete řídit pomocí řízení přístupu na základě role Kubernetes (Kubernetes RBAC) a Azure RBAC. Další informace najdete v tématu Microsoft Entra integrace s AKS.

Zabezpečení uzlů

Uzly AKS jsou virtuální počítače Azure, které spravujete a udržujete.

  • Uzly Linuxu používají optimalizované verze Ubuntu nebo Azure Linux.
  • Windows Server uzly spouštějí optimalizovanou verzi Windows Server pomocí modulu runtime kontejneru containerd.

Při vytvoření nebo vertikálním navýšení kapacity clusteru AKS se uzly automaticky nasadí s nejnovějšími aktualizacemi a konfiguracemi zabezpečení operačního systému.

Poznámka:

Clustery AKS spuštěné:

  • Kubernetes verze 1.19 a vyšší – fondy linuxových uzlů používají containerd jako běhové prostředí kontejneru. Fondy uzlů Windows Server 2019 a Windows Server 2022 používají containerd jako běhové prostředí kontejneru. Další informace najdete v tématu Přidání fondu uzlů Windows Server pomocí containerd.
  • Kubernetes verze 1.19 a starší – linuxové uzlové fondy používají Docker jako runtime kontejneru.

Další informace o procesu upgradu zabezpečení pro pracovní uzly Linux a Windows najdete v tématu opravy uzlů zabezpečení.

Clustery AKS se spuštěnými virtuálními počítači Azure generace 2 zahrnují podporu pro Trusted Launch. Tato funkce chrání před pokročilými a trvalými technikami útoku kombinováním technologií, které můžete povolit nezávisle, jako je zabezpečené spouštění a virtualizovaná verze modulu důvěryhodné platformy (vTPM). Správci můžou nasadit pracovní uzly AKS s ověřenými a podepsanými spouštěcími zavaděči, jádry operačního systému a ovladači, aby zajistili integritu celého řetězce spouštění základního virtuálního počítače.

Možnosti operačního systému optimalizované pro kontejnery a zabezpečení

AKS vydala podporu pro dvě nové optimalizované možnosti operačního systému Linux. Azure Linux OS Guard (Preview) je vytvořen a optimalizován společností Microsoft pro Azure. OS Guard je založený na Azure Linuxu se specializovanou konfigurací, která podporuje kontejnerizované úlohy s optimalizací zabezpečení. Flatcar Container Linux pro AKS (preview) je nezávislý na dodavateli, na CNCF založený nezměnitelný operační systém optimalizovaný pro kontejnery, který je nejvhodnější pro provoz v multicloudových a místních prostředích. Tyto možnosti operačního systému poskytují vyšší zabezpečení v porovnání s jinými možnostmi operačního systému Linux, například:

  • Oba Azure Linux OS Guard i Flatcar Container Linux pro AKS mají neměnný operační systém, který nemůžete upravovat za běhu. Všechny binární soubory operačního systému, knihovny a statická konfigurace jsou jen pro čtení a bitová integrita je často kryptograficky chráněná. Tyto speciální operační systémy se dodávají jako samostatné image a přicházejí bez jakéhokoli druhu správy balíčků nebo jiných tradičních prostředků pro změnu operačního systému. Uživatelské úlohy běží v izolovaných prostředích, jako jsou kontejnery, v izolovaném prostoru (sandbox) z operačního systému.
  • Jak Azure Linux OS Guard, tak Flatcar Container Linux pro AKS používají SELinux pro povinné Access Control.
  • Azure Linux OS Guard vynucuje povolení FIPS a Trusted Launch povolení a poskytuje lepší dodržování předpisů a ochranu před pokročilými a trvalými útoky kombinací zabezpečeného spouštění a virtualizované verze důvěryhodného modulu platformy (vTPM).

Při rozhodování mezi možnostmi operačního systému optimalizovanými pro kontejnery doporučuje AKS následující:

  • Pokud hledáte neutrální neměnný operační systém s podporou napříč cloudy, použijte Flatcar Container Linux pro AKS (Preview ).
  • Použijte Azure Linux OS Guard (Preview), pokud hledáte neměnný operační systém připravený pro podniky, doporučovaný společností Microsoft.
  • Ubuntu použijte, pokud hledáte neutrální operační systém pro obecné účely dodavatele s podporou napříč cloudy.
  • Pokud hledáte operační systém pro podnikové účely, který doporučuje Microsoft, použijte Azure Linux.

Screenshot tabulky, která porovnává optimalizované možnosti operačního systému, jako je Flatcar Container Linux pro AKS a Azure Linux OS Guard, s možnostmi operačního systému pro obecné účely, jako jsou Ubuntu a Azure Linux.

Autorizace uzlu

Autorizace uzlu je speciální režim autorizace, který se konkrétně zaměřuje na autorizaci požadavků rozhraní kubelet API na ochranu před útoky typu East-West. Ve výchozím nastavení je autorizace uzlu povolená v clusterech AKS 1.24 a více.

Nasazení uzlů

Uzly se nasazují do podsítě privátní virtuální sítě bez přiřazených veřejných IP adres. Pro účely řešení potíží a správy je SSH ve výchozím nastavení povolená a přístupná pouze pomocí interní IP adresy. Zakázání SSH během vytváření clusteru a fondu uzlů nebo pro již existující cluster nebo fond uzlů je v režimu ukázky. Další informace najdete v tématu Správa přístupu SSH.

Úložiště uzlů

K zajištění úložiště používají uzly Spravované disky Azure. U většiny velikostí uzlů virtuálních počítačů jsou Spravované disky Azure disky Premium založené na vysoce výkonných discích SSD. Data uložená na spravovaných discích se automaticky šifrují v klidovém stavu v rámci Azure platformy. Aby se zlepšila redundance, Spravované disky Azure se bezpečně replikují v datovém centru Azure.

Nepřátelské multitenantní zátěže

Prostředí Kubernetes v současné době nejsou bezpečná pro nepřátelské použití s více tenanty. Dodatečné funkce zabezpečení, jako jsou zásady zabezpečení podů nebo RBAC Kubernetes pro uzly, efektivně blokují zneužití. Pro skutečné zabezpečení při spouštění nepřátelských víceklientských úloh důvěřujte pouze hypervisoru. Doména zabezpečení pro Kubernetes se stává celým clusterem, nikoli z jednotlivých uzlů.

U těchto typů nepřátelských víceklientských úloh byste měli používat fyzicky izolované clustery. Další informace o způsobech izolace úloh najdete v tématu Osvědčené postupy pro izolaci clusteru v AKS.

Izolace výpočetních procesů

Vzhledem k požadavkům na dodržování předpisů nebo zákonným požadavkům mohou určité úlohy vyžadovat vysokou míru izolace od jiných zákaznických úloh. Pro tyto úlohy Azure poskytuje:

  • Izolované kontejnery jádra, které se mají použít jako uzly agentů v clusteru AKS. Tyto kontejnery jsou zcela izolované od konkrétního typu hardwaru a jsou izolované od prostředků infrastruktury hostitele Azure, hostitelského operačního systému a hypervisoru. Jsou vyhrazené pro jednoho zákazníka. Při vytváření clusteru AKS nebo přidání fondu uzlů vyberte jednu z velikostíizolovaných virtuálních počítačů jako velikost uzlu.
  • Důvěrné kontejnery (preview), založené také na Kata Confidential Containers, šifrují paměť kontejneru a zabraňují tomu, aby data během výpočtu byla v prostém textu nebo čitelném formátu, a zároveň brání manipulaci s nimi. Pomáhá izolovat kontejnery od jiných skupin kontejnerů nebo podů a jádra operačního systému uzlu virtuálního počítače. Důvěrné kontejnery (Preview) používají hardwarové šifrování paměti (SEV-SNP).
  • Pod Sandboxing (náhled) poskytuje hranici izolace mezi kontejnerovou aplikací a sdíleným jádrem a výpočetními prostředky (procesor, paměť a síť) kontejnerového hostitele.

Zabezpečení sítě

Pro připojení a zabezpečení místních sítí můžete cluster AKS nasadit do stávajících podsítí Azure virtuálních sítí. Tyto virtuální sítě se připojují zpět k místní síti pomocí Azure VPN typu Site-to-Site nebo ExpressRoute. Definujte kontrolery příchozího přenosu dat Kubernetes s privátními interními IP adresami, abyste omezili přístup služeb k internímu síťovému připojení.

Azure skupiny zabezpečení sítě

K filtrování toku provozu virtuální sítě Azure používá pravidla skupiny zabezpečení sítě. Tato pravidla definují rozsahy zdrojových a cílových IP adres, porty a protokoly, které mají povolený nebo zakázaný přístup k prostředkům. Vytvoří se výchozí pravidla, která povolí provoz protokolu TLS na server rozhraní API Kubernetes. Vytváříte služby s nástroji pro vyrovnávání zatížení, mapováním portů nebo trasami příchozího přenosu dat. Služba AKS automaticky upraví skupinu zabezpečení sítě pro řízení toku provozu.

Pokud pro cluster AKS zadáte vlastní podsíť (bez ohledu na to, zda používáte Azure CNI nebo Kubenet), ne upravujte skupinu zabezpečení sítě na úrovni síťové karty spravovanou službou AKS. Místo toho vytvořte další skupiny zabezpečení sítě na úrovni podsítě a upravte tok provozu. Ujistěte se, že neruší nezbytný provoz pro správu clusteru, jako je přístup k vyrovnávači zátěže, komunikace s řídicí rovinou nebo egresní komunikace.

Zásady sítě Kubernetes

Pro omezení síťového provozu mezi pody ve vašem clusteru nabízí AKS podporu pro zásady sítě Kubernetes. Pomocí síťových zásad můžete povolit nebo odepřít specifické síťové cesty v rámci clusteru na základě jmenných prostorů a selektorů štítků.

Bezpečnost aplikací

Pokud chcete chránit pody spuštěné v AKS, zvažte Microsoft Defender pro kontejnery a detekujte a omezte kybernetické útoky proti vašim aplikacím běžícím ve vašich podech. Spusťte nepřetržité prohledávání, abyste zjistili odchylku ve stavu ohrožení zabezpečení vaší aplikace a implementovali proces "blue/green/canary", který opraví a nahradí ohrožené obrázky.

Zabezpečení přístupu k prostředkům pomocí kontejnerů

Stejně jako byste uživatelům nebo skupinám měli udělit minimální požadovaná oprávnění, měli byste také omezit kontejnery jenom na nezbytné akce a procesy. Abyste minimalizovali riziko útoku, vyhněte se konfiguraci aplikací a kontejnerů, které vyžadují eskalovaná oprávnění nebo kořenový přístup. Integrované funkce zabezpečení Linuxu, jako je AppArmor a seccomp , se doporučují jako osvědčené postupy pro zabezpečení přístupu ke kontejnerům k prostředkům.

Tajné klíče Kubernetes

S Kubernetes Secret můžete vložit citlivá data do podů, jako jsou přístupové údaje nebo klíče.

  1. Vytvořte tajný klíč pomocí rozhraní Kubernetes API.
  2. Definujte svůj pod nebo nasazení a požádejte o konkrétní Secret.
    • Tajné kódy se poskytují jenom uzlům s naplánovaným podem, který je vyžaduje.
    • Tajný kód je uložen v tmpfs, není zapsán na disk.
  3. Když odstraníte poslední pod na uzlu vyžadujícím tajemství, tajemství se odstraní z uzlu tmpfs.
    • Tajné kódy jsou uložené v daném oboru názvů a jsou přístupné jenom z podů ve stejném oboru názvů.

Používání tajemství omezuje expozici citlivých informací definovaných v manifestu YAML podu nebo služby. Místo toho si vyžádáte tajný kód uložený na serveru rozhraní API Kubernetes jako součást manifestu YAML. Tento přístup poskytuje konkrétnímu podu přístup pouze k tajemství.

Poznámka:

Nezpracované soubory manifestu tajného kódu obsahují tajná data ve formátu base64. Další informace najdete v oficiální dokumentaci. S těmito soubory zacházejte jako s citlivými informacemi a nikdy je neukládejte do správy verzí.

Tajné kódy Kubernetes jsou uložené v atd., distribuovaném úložišti klíč-hodnota. AKS umožňuje šifrování neaktivních tajných kódů v etcd pomocí klíčů spravovaných zákazníkem.

Další kroky

Pokud chcete začít se zabezpečením clusterů AKS, viz Upgrade clusteru AKS.

Přidružené osvědčené postupy najdete v tématu Osvědčené postupy pro zabezpečení a upgrady clusteru v AKS a osvědčené postupy pro zabezpečení podů v AKS.

Další informace o základních konceptech Kubernetes a AKS najdete tady: