Důvěrné kontejnery (Preview) se službou Azure Kubernetes Service (AKS)
Důvěrné kontejnery poskytují sadu funkcí a možností pro další zabezpečení standardních úloh kontejnerů, aby bylo dosaženo vyššího zabezpečení dat, ochrany osobních údajů a cílů integrity kódu modulu runtime. Azure Kubernetes Service (AKS) zahrnuje důvěrné kontejnery (Preview) v AKS.
Důvěrné kontejnery vycházejí z kontejnerů Kata Confidential Containers a hardwarového šifrování pro šifrování paměti kontejneru. Vytvoří novou úroveň důvěrnosti dat tím, že brání datům v paměti při výpočtu ve formátu prostého textu, který je čitelný. Důvěryhodnost se v kontejneru získává prostřednictvím ověření hardwaru, což umožňuje přístup k šifrovaným datům důvěryhodnými entitami.
Společně s sandboxem podů můžete spouštět citlivé úlohy izolované v Azure za účelem ochrany dat a úloh. Co znamená, že kontejner je důvěrný:
- Transparentnost: Důvěrné prostředí kontejneru, ve kterém je sdílená citlivá aplikace, můžete zobrazit a ověřit, jestli je bezpečné. Všechny komponenty důvěryhodné výpočetní základny (TCB) mají být opensourcové.
- Auditovatelnost: Máte možnost ověřit a zjistit, jakou verzi balíčku prostředí CoCo včetně hostovaného operačního systému Linuxu a všech součástí jsou aktuální. Microsoft se přihlásí k prostředí hostovaného operačního systému a modulu runtime kontejneru pro ověření prostřednictvím ověření identity. Také vydává zabezpečený hashovací algoritmus (SHA) sestavení hostovaného operačního systému za účelem vytvoření přehlednosti řetězců a řídicího scénáře.
- Úplné ověření identity: Vše, co je součástí TEE, se plně měří procesorem s možností vzdáleně ověřit. Sestava hardwaru z procesoru AMD SEV-SNP musí odrážet vrstvy kontejnerů a hodnotu hash konfigurace modulu runtime kontejneru prostřednictvím deklarací identity ověření identity. Aplikace může načíst sestavu hardwaru místně, včetně sestavy, která odráží image hostovaného operačního systému a modul runtime kontejneru.
- Integrita kódu: Vynucení modulu runtime je vždy dostupné prostřednictvím zásad definovaných zákazníkem pro kontejnery a konfiguraci kontejneru, jako jsou neměnné zásady a podepisování kontejnerů.
- Izolace od operátora: Návrhy zabezpečení, které předpokládají nejnižší oprávnění a nejvyšší izolaci stínění od všech nedůvěryhodných stran, včetně správců zákazníka nebo tenanta. Zahrnuje posílení stávajícího přístupu řídicí roviny Kubernetes (kubelet) k důvěrným podům.
Díky dalším bezpečnostním opatřením nebo ovládacím prvkům ochrany dat, které jsou součástí celkové architektury, vám tyto možnosti pomůžou splňovat zákonné, oborové nebo požadavky na dodržování zásad správného řízení pro zabezpečení citlivých informací.
Tento článek vám pomůže pochopit funkci Důvěrné kontejnery a jak implementovat a nakonfigurovat následující:
- Nasazení nebo upgrade clusteru AKS pomocí Azure CLI
- Přidání poznámky do YAML podu pro označení podu jako důvěrného kontejneru
- Přidání zásad zabezpečení do YAML podu
- Nasazení aplikace v důvěrném výpočetním prostředí
Podporované scénáře
Důvěrné kontejnery (Preview) jsou vhodné pro scénáře nasazení, které zahrnují citlivá data. Například identifikovatelné osobní údaje (PII) nebo jakákoli data se silným zabezpečením potřebným pro dodržování právních předpisů. Mezi běžné scénáře s kontejnery patří:
- Spouštění analýz velkých objemů dat s využitím Apache Sparku pro rozpoznávání vzorů podvodů ve finančním sektoru
- Spouštění místních spouštěčů GitHubu pro bezpečné podepisování kódu v rámci postupů DevOps pro kontinuální integraci a průběžné nasazování (CI/CD).
- Odvozování a trénování modelů ML pomocí šifrované datové sady z důvěryhodného zdroje Dešifruje pouze v důvěrném prostředí kontejneru, aby zachovala ochranu osobních údajů.
- Vytváření čistých místností pro velké objemy dat pro porovnávání ID v rámci výpočtů ve více stranách v odvětvích, jako je maloobchod s digitální reklamou.
- Vytváření důvěrných výpočetních nulová důvěra (Zero Trust) cílových zón pro splnění předpisů pro ochranu osobních údajů pro migrace aplikací do cloudu.
Důležité informace
V této verzi Preview důvěrných kontejnerů je potřeba vzít v úvahu následující skutečnosti:
- Zvýšení doby spouštění podů v porovnání s pody runc a pody izolovanými jádry.
- Image kontejneru verze 1 nejsou podporované.
- Dočasné kontejnery a další metody řešení potíží, jako jsou
exec
kontejner, výstupy protokolů z kontejnerů astdio
vyžadují úpravu a opětovné nasazení zásad, aby bylo možné povolit ExecProcessRequest, ReadStreamRequest, WriteStreamRequest a CloseStdinRequest. - Kvůli zakódování měření vrstvy imagí kontejneru v zásadách zabezpečení nedoporučujeme při zadávání kontejnerů používat
latest
značku. - Služby, nástroje pro vyrovnávání zatížení a koncové bodySlices podporují pouze protokol TCP.
- Generátor zásad podporuje jenom pody, které používají adresy IPv4.
- Proměnné prostředí podů založené na objektech ConfigMap a tajných kódech nelze po nasazení podu změnit.
- Protokoly ukončení podů se nepodporují. Zatímco pody zapisují protokoly ukončení do
/dev/termination-log
nebo do vlastního umístění, pokud jsou zadané v manifestu podů, hostitel/kubelet nemůže tyto protokoly číst. Změny z podu na tento soubor se neprojeví na hostiteli.
Přehled přidělení prostředků
Je důležité pochopit chování přidělení prostředků paměti a procesoru v této verzi.
- CPU: Překrytí přiřadí jeden virtuální procesor k základnímu operačnímu systému uvnitř podu. Pokud nejsou zadány žádné prostředky
limits
, úlohy nemají přiřazené samostatné sdílené složky procesoru, virtuální procesor se pak s danou úlohou sdílí. Pokud jsou zadány limity procesoru, sdílené složky procesoru jsou explicitně přiděleny pro úlohy. - Paměť: Obslužná rutina Kata-CC používá 2 GB paměti pro OS UVM a X MB další paměť, kde X je prostředek
limits
, pokud je zadaný v manifestu YAML (což vede k 2GB virtuálnímu počítači, pokud není zadán žádný limit, bez implicitní paměti pro kontejnery). Obslužná rutina Kata používá 256 MB základní paměti pro OS UVM a X MB další paměť, pokud jsou prostředkylimits
zadány v manifestu YAML. Pokud limity nejsou zadané, přidá se implicitní limit 1 792 MB, což vede k 2GB virtuálnímu počítači a implicitní paměti 1 792 MB pro kontejnery.
V této verzi není podporováno zadávání požadavků na prostředky v manifestech podů. Containerd nepředává požadavky na Kata Shim a v důsledku toho se rezervace prostředků na základě požadavků na prostředky manifestu podu neimplementuje. Prostředky použijte místo prostředku limits
requests
k přidělení paměti nebo prostředků procesoru pro úlohy nebo kontejnery.
Při použití místního systému souborů kontejneru zálohovaného pamětí virtuálního počítače může zápis do systému souborů kontejneru (včetně protokolování) vyplnit dostupnou paměť poskytnutou podu. Tato podmínka může způsobit potenciální chybové ukončení podu.
Další kroky
- Informace o ochraně úloh a jejich dat v podu najdete v přehledu zásad zabezpečení důvěrných kontejnerů.
- Nasaďte důvěrné kontejnery v AKS s automaticky vygenerovanými zásadami zabezpečení.
- Přečtěte si další informace o vyhrazených hostitelích Azure pro uzly s clusterem AKS, abyste mohli používat izolaci hardwaru a kontrolu nad událostmi údržby platformy Azure.
Azure Kubernetes Service