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 Microsoft Entra ID, 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 integrované Azure Policy pro AKS k zabezpečení svých aplikací.
  • Komplexní přehled napříč celým procesem od buildu až po vaši aplikaci s využitím Microsoft Defenderu 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.

AKS podporuje dva režimy clusteru: AKS Automatic a AKS Standard. Koncepty zabezpečení v tomto článku platí pro oba režimy, pokud není uvedeno jinak. AKS Automatic zahrnuje posílené standardní hodnoty zabezpečení s několika předkonfigurovanými ovládacími prvky ve výchozím nastavení, zatímco AKS Standard poskytuje větší flexibilitu konfigurace.

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.

Sestavení zabezpečení

Zabezpečení buildu je výchozím bodem vašeho bezpečného dodavatelského řetězce. Před povýšením imagí do prostředí nasazení spusťte statickou analýzu a posouzení ohrožení zabezpečení a dodržování předpisů v CI.

V obou režimech AKS používejte prioritizaci podle rizika namísto blokování všech sestavení kvůli jakékoli zranitelnosti. Upřednostnit nápravu pomocí stavu a závažnosti dodavatele a použít období odkladu pro nevyužitelné výjimky nebo výjimky vázané na čas.

AKS Automatic pomáhá omezit odchylky v navazující konfiguraci tím, že nasazuje clustery z předem zabezpečeného výchozího základu s předkonfigurovanými bezpečnostními mechanismy. To činí ověřování kvality imagů a souladu se zásadami během sestavení ještě důležitějším, protože důvěryhodné imagy jsou konzistentněji povyšovány na zabezpečený výchozí základ běhového prostředí.

AKS Standard poskytuje větší flexibilitu na úrovni clusteru, takže kanály sestavení by měly před nasazením výslovně vynucovat základní standardy vaší organizace pro původ imagí, prahové hodnoty zranitelností a kontroly zásad.

Zabezpečení registru

Zabezpečení registru ověřuje, že jsou pro nasazení k dispozici pouze důvěryhodné image splňující požadavky, a pomáhá odhalovat odchylky po sestavení. Vyhodnoťte stav ohrožení zabezpečení image v registru nepřetržitě, nejen v době sestavení. Skenování registru zachytí nově zveřejněné zranitelnosti a obrazy, které obešly schválené postupy sestavení. Používejte podepisování a ověřování bitových kopií, například pomocí Notary V2, abyste zajistili nasazování úloh z důvěryhodných zdrojů s ověřitelným původem.

U AKS Automatic, kde je předkonfigurováno několik možností zabezpečení modulu runtime, zůstávají ovládací prvky registru kritickou upstreamovou bránou, která udržuje dodavatelský řetězec modulu runtime čistý. Pro AKS Standard použijte stejné ovládací prvky registru a přirovnejte je ke konfiguraci přístupu a zásad clusteru, aby se důvěryhodná image používala konzistentně.

Zabezpečení clusteru

V AKS jsou hlavní komponenty Kubernetes součástí spravované služby poskytované, spravované a udržované společností Microsoft. Každý cluster AKS má vlastní jednoklientské vyhrazené primární prostředí Kubernetes pro poskytování serveru API, plánovače 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.

U služby AKS Automatic je integrace virtuální sítě serveru API předem nakonfigurovaná jako součást výchozího stavu zabezpečení. Ve službě AKS Standard je k dispozici stejná funkce a je možné ji povolit na základě požadavků na návrh a zabezpečení sítě.

Přístup k serveru rozhraní API můžete řídit pomocí řízení přístupu na základě role Kubernetes (Kubernetes RBAC) a Azure RBAC. V AKS Automatic je předkonfigurováno Azure RBAC pro autorizaci Kubernetes. Ve službě AKS Standard můžete zvolit a nakonfigurovat autorizační model, který nejlépe vyhovuje vašemu prostředí. Další informace najdete v tématu Microsoft Entra integrace s AKS.

Automatické výchozí nastavení zabezpečení AKS

AKS Automatic zahrnuje posílený směrný plán s předkonfigurovanými ovládacími prvky zabezpečení, mezi které patří:

  • Azure RBAC pro autorizaci Kubernetes
  • Integrace virtuální sítě serveru API
  • Identita úlohy a vydavatel OIDC
  • Zabezpečení nasazení a standardní standardy zabezpečení podů v režimu vynucení
  • Čištění obrázků pro odebrání nepoužívaných ohrožených imagí
  • Omezení zabezpečení fondu uzlů spravovaného systému, která zachovají hranice mezi úlohami zákazníků a infrastrukturou spravovanou službou AKS

AKS Standard podporuje tyto funkce s větší flexibilitou implementace, ale můžou vyžadovat explicitní povolení a provozní správu.

Zabezpečení uzlů

Uzly AKS jsou virtuální počítače Azure (VM). Ve službě AKS Standard spravujete konfiguraci fondu uzlů a možnosti životního cyklu. V AKS Automatic spravuje AKS fondy systémových uzlů a základní systémové komponenty vaším jménem, včetně škálování a upgradů, s omezeními zabezpečení pro infrastrukturu spravovaného systému.

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 novější: Fondy linuxových uzlů používají jako kontejnerové runtime containerd. 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ší: Uzlové fondy se systémem Linux používají Docker jako runtime kontejnerů.

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í

Azure Container Linux (ACL) je neměnný operační systém optimalizovaný pro kontejnery pro AKS. ACL vychází z projektu Flatcar Container Linux a staví na osvědčené neměnné architektuře Flatcaru, v níž jsou kontejnery na prvním místě, a zároveň ji doplňuje o balíčky Azure Linuxu, servis a integraci platformy. To umožňuje ACL zůstat v těsném souladu s inovacemi v upstream projektu Flatcar a zároveň splňovat požadavky Azure na produkční prostředí, zabezpečení a dodržování předpisů. Další informace o Flatcar Container Linuxu najdete v dokumentaci k Flatcaru.

ACL je obecně k dispozici (GA) jako možnost operačního systému v AKS od verze AKS 1.34. Fondy uzlů seznamu ACL můžete nasadit v novém clusteru AKS, přidat fondy uzlů seznamu ACL do stávajících clusterů a migrovat existující fondy uzlů Linuxu do seznamu ACL.

Další informace o ACL najdete v tématu Přehled služby Azure Container Linux (ACL) pro AKS.

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í.

V AKS Automatic jsou funkce spravované virtuální sítě a výchozí nastavení pro základní příchozí a odchozí provoz předem nakonfigurovány tak, aby poskytovaly bezpečný výchozí základ. V AKS Standard jsou síťové modely a výchozí/příchozí řízení flexibilnější a měly by být vybrány na základě vaší architektury zabezpečení.

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ů.

Zabezpečení 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.

V AKS Automatic jsou identita úlohy a vystavitel OIDC tokenů předem nakonfigurovány tak, aby se zjednodušil zabezpečený přístup úloh ke službám Azure. Ve službě AKS Standard jsou tyto funkce dostupné a dají se povolit jako součást základního stavu zabezpečení.

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.

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

Pokud posuzujete výchozí nastavení pro jednotlivé režimy a provozní odpovědnosti, viz Co je Azure Kubernetes Service (AKS) Automatic?

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: