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
  • Povolení vynucování zásad zabezpečení
  • 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).
  • Strojové Učení 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é.
  • Aktualizace tajným kódům a konfiguraci Mapy se v hostovi neprojeví.
  • Dočasné kontejnery a další metody řešení potíží, jako jsou exec kontejner, výstupy protokolů z kontejnerů a stdio (ReadStreamRequest a WriteStreamRequest) vyžadují úpravu a opětovné nasazení zásad.
  • Nástroj generátoru zásad nepodporuje typy nasazení cronjob.
  • 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.
  • Všechny kontejnery ve všechpodchch imagePullPolicy: Always
  • Generátor zásad podporuje jenom pody, které používají adresy IPv4.
  • Konfigurace Mapy a hodnoty tajných kódů nelze změnit, pokud se po nasazení podu použije metoda proměnné prostředí. Zásady zabezpečení ho brání.
  • 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 hosta na tento soubor se na hostiteli neprojeví.

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ředky limits 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ů. Kontejner Kata ignoruje požadavky na prostředky z manifestu YAML podu a v důsledku toho kontejner nepřidává požadavky do překrytí. Prostředky použijte místo prostředku limitrequests 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