Udostępnij przez


Poufne kontenery (wersja zapoznawcza) w usłudze Azure Kubernetes Service (AKS)

Ważne

Wersja zapoznawcza kontenerów poufności ma zostać zakończona w marcu 2026 r. Po tej dacie klienci posiadający istniejące pule węzłów kontenera poufnego powinni się spodziewać ograniczenia funkcjonalności, a uruchomienie nowych węzłów ze środowiskiem uruchomieniowym KataCcIsolation nie będzie możliwe. Klienci korzystający obecnie z pul węzłów kontenera poufnego mogą nadal używać ich normalnie. Jeśli chcesz przejść na inne rozwiązania niż kontenery poufne, rozważ następujące alternatywy:

  • Poufne maszyny wirtualne w usłudze AKS: oferują podobny sprzętowy TEE, który korzysta z funkcji zabezpieczeń firmy AMD SEV-SNP, bez dodawania izolacji każdej maszyny wirtualnej dla obciążeń widocznych w kontenerach poufnych.
  • Obsługa enklawy aplikacji: zapewnia użytkownikom węzły maszyn wirtualnych przetwarzania poufnego Intel SGX, które obsługują izolację kontenerów na poziomie sprzętu za pośrednictwem zaufanego środowiska wykonawczego Intel SGX.
  • Poufne kontenery w usłudze Azure Container Instances: umożliwia wdrażanie wdrożeń metodą lift-and-shift w kontenerach wspieranych przez firmę AMD SEV-SNP. Funkcje obejmują pełne uwierzytelnianie gościa, dostęp do narzędzi do tworzenia zasad i korzystanie z kontenerów sidecar na potrzeby bezpiecznego wydawania kluczy. Węzły ACI można uruchamiać w usłudze AKS za pośrednictwem węzłów wirtualnych.
  • Poufne Kontenery Azure RedHat OpenShift: oferuje podobne SEV-SNP obsługiwane przez AMD TEE i korzysta ze środowiska uruchomieniowego Kata dla izolacji na poziomie kontenera.
  • Poufne kontenery open source: zapewnia podobne do SEV-SNP firmy AMD oparte na technologii TEE, które są dostarczane z izolacją poszczególnych kontenerów za pośrednictwem Kata.

Jeśli masz dodatkowe pytania, utwórz wniosek o pomoc techniczną lub opublikuj problem w problemach z usługą AKS.

Kontenery poufne udostępniają zestaw funkcji i możliwości w celu dalszego zabezpieczania standardowych obciążeń kontenerów w celu osiągnięcia wyższych celów dotyczących bezpieczeństwa danych, prywatności danych i integralności kodu środowiska uruchomieniowego. Usługa Azure Kubernetes Service (AKS) zawiera poufne kontenery (wersja zapoznawcza) na AKS.

Poufne kontenery bazują na kontenerach Poufnych Kata i szyfrowaniu sprzętowym w celu szyfrowania pamięci kontenera. Ustanawia nowy poziom poufności danych, uniemożliwiając, aby dane w pamięci podczas obliczeń były w czytelnej formie. Zaufanie jest uzyskiwane w kontenerze za pośrednictwem zaświadczania sprzętowego, co umożliwia dostęp do zaszyfrowanych danych przez zaufane jednostki.

W połączeniu z Pod Sandboxing można uruchamiać wrażliwe zadania izolowane na platformie Azure, aby chronić dane i zadania. Co sprawia, że kontener jest poufny:

  • Przezroczystość: poufne środowisko kontenera, w którym jest udostępniana wrażliwa aplikacja, można zobaczyć i sprawdzić, czy jest bezpieczna. Wszystkie składniki zaufanej bazy obliczeniowej (TCB) mają być typu open source.
  • Możliwość audytowania: Masz możliwość zweryfikowania i zobaczenia, która wersja pakietu środowiska CoCo, w tym system operacyjny Linux działa na maszynie wirtualnej oraz wszystkie składniki, są aktualne. Microsoft potwierdza środowisko systemu operacyjnego gościa i środowisko uruchomieniowe kontenera w celach weryfikacji poprzez atestację. Zwalnia również bezpieczny algorytm wyznaczania wartości skrótu (SHA) kompilacji systemu operacyjnego gościa w celu utworzenia scenariusza słyszalności i kontroli ciągu.
  • Pełne zaświadczanie: Wszystkie elementy, które są częścią TEE, są w pełni mierzone przez procesor z możliwością zdalnego weryfikowania. Raport dotyczący sprzętu z procesora AMD SEV-SNP powinien odzwierciedlać warstwy kontenera i skrót konfiguracji środowiska uruchomieniowego kontenera poprzez żądania atestacyjne. Aplikacja może pobrać raport sprzętowy lokalnie, w tym raport, który odzwierciedla obraz systemu operacyjnego gościa i środowisko uruchomieniowe kontenera.
  • Integralność kodu: wymuszanie środowiska uruchomieniowego jest zawsze dostępne za pośrednictwem zasad zdefiniowanych przez klienta dla kontenerów i konfiguracji kontenerów, takich jak niezmienne zasady i podpisywanie kontenerów.
  • Izolacja od operatora: Projekty zabezpieczeń, które zakładają najmniejsze uprawnienia i najwyższą ochronę izolacji od wszystkich niezaufanych stron, w tym administratorów klientów/dzierżaw. Obejmuje on wzmocnienie zabezpieczeń istniejącego dostępu do płaszczyzny kontroli kubernetes (kubelet) do poufnych zasobników.

Dzięki innym środkom zabezpieczeń lub mechanizmom kontroli ochrony danych w ramach ogólnej architektury te możliwości pomagają spełnić wymagania dotyczące zgodności z przepisami, branżą lub ładem w zakresie zabezpieczania poufnych informacji.

Ten artykuł ułatwia zrozumienie funkcji Poufne kontenery oraz sposób implementowania i konfigurowania następujących elementów:

  • Wdrażanie lub uaktualnianie klastra usługi AKS przy użyciu interfejsu wiersza polecenia platformy Azure
  • Dodaj adnotację do zasobnika YAML, aby oznaczyć zasobnik jako uruchamiany jako poufny kontener
  • Dodaj zasadę bezpieczeństwa do YAML podu
  • Wdróż swoją aplikację w środowisku przetwarzania poufnego

Ważne

Od 30 listopada 2025 r. usługa Azure Kubernetes Service (AKS) nie obsługuje już ani nie zapewnia aktualizacji zabezpieczeń dla systemu Azure Linux 2.0. Obraz węzła systemu Linux 2.0 platformy Azure został zamrożony w wersji 202512.06.0. Od 31 marca 2026 r. obrazy węzłów zostaną usunięte i nie będzie można skalować pul węzłów. Przeprowadź migrację do obsługiwanej wersji systemu Linux platformy Azure, uaktualniając pule węzłów do obsługiwanej wersji rozwiązania Kubernetes lub migrując do systemu osSku AzureLinux3. Aby uzyskać więcej informacji, zobacz [Wycofywanie] pul węzłów Azure Linux 2.0 w usłudze AKS.

Obsługiwane scenariusze

Kontenery poufne (wersja zapoznawcza) są odpowiednie dla scenariuszy wdrażania obejmujących poufne dane. Na przykład dane osobowe (PII) lub wszelkie dane z silnymi zabezpieczeniami wymaganymi do zapewnienia zgodności z przepisami. Oto niektóre typowe scenariusze z kontenerami:

  • Uruchamianie analizy danych big data przy użyciu platformy Apache Spark w celu rozpoznawania wzorców oszustw w sektorze finansowym.
  • Uruchamianie własnych modułów uruchamianych w usłudze GitHub w celu bezpiecznego podpisywania kodu w ramach praktyk DevOps ciągłej integracji i ciągłego wdrażania (CI/CD).
  • Wnioskowanie i trenowanie modeli uczenia maszynowego przy użyciu zaszyfrowanego zestawu danych z zaufanego źródła. Odszyfrowuje tylko wewnątrz poufnego środowiska kontenera, aby zachować prywatność.
  • Tworzenie czystych środowisk big data na potrzeby dopasowywania identyfikatorów w ramach obliczeń wielostronnych w branżach takich jak handel detaliczny z wykorzystaniem reklam cyfrowych.
  • Tworzenie stref docelowych zgodnych z zasadami Zero Trust dla poufnego przetwarzania, aby spełnić przepisy dotyczące prywatności podczas migracji aplikacji do chmury.

Kwestie wymagające rozważenia

Poniżej przedstawiono rozważenia dotyczące tej wersji zapoznawczej Poufnych kontenerów:

  • Wzrost czasu uruchamiania zasobnika w porównaniu z zasobnikami runc i zasobnikami izolowanymi jądrami.
  • Obrazy kontenerów w wersji 1 nie są obsługiwane.
  • Kontenery efemeryczne i inne metody rozwiązywania problemów, takie jak wykonanie exec w kontenerze, wyjścia dzienników z kontenerów i stdio wymagają modyfikacji polityki i ponownego wdrożenia w celu włączenia ExecProcessRequest, ReadStreamRequest, WriteStreamRequest i CloseStdinRequest.
  • Ze względu na to, że pomiary warstwy obrazu kontenera są kodowane w zasadach zabezpieczeń, nie zalecamy używania tagu latest podczas określania kontenerów.
  • Usługi, moduły równoważenia obciążenia i EndpointSlices obsługują tylko protokół TCP.
  • Generator zasad obsługuje tylko zasobniki używające adresów IPv4.
  • Zmienne środowiskowe poda oparte na ConfigMaps i Secrets nie mogą być zmieniane po wdrożeniu poda.
  • Dzienniki kończenia zasobników nie są obsługiwane. Podczas gdy zasobniki zapisują dzienniki zakończenia do /dev/termination-log lub do lokalizacji niestandardowej, jeśli jest to określone w manifeście zasobnika, host/kubelet nie może odczytać tych dzienników. Zmiany z zasobnika na ten plik nie są odzwierciedlane na hoście.
  • Poufne Kontenery obecnie obsługują tylko Azure Linux.

Omówienie alokacji zasobów

Ważne jest, aby zrozumieć zachowanie alokacji zasobów pamięci i procesora w tej wersji.

  • Procesor: Nakładka przypisuje jedną wirtualną jednostkę CPU do bazowego systemu operacyjnego wewnątrz podu. Jeśli nie określono żadnego zasobu limits , obciążenia nie mają przypisanych oddzielnych udziałów procesora CPU, procesor wirtualny jest następnie współużytkowany z tym obciążeniem. Jeśli określono limity procesora, udziały procesora są przydzielane jednoznacznie do obciążeń.
  • Pamięć: Program obsługi Kata-CC używa 2 GB pamięci dla systemu operacyjnego UVM i X MB dodatkowej pamięci, gdzie X jest określonym zasobem limits w manifeście YAML (co skutkuje użyciem 2 GB pamięci przez maszynę wirtualną, gdy nie podano limitu, bez niejawnej pamięci dla kontenerów). Handler Kata używa 256 MB pamięci podstawowej dla systemu operacyjnego UVM i dodatkowych X MB pamięci, gdy zasoby limits są określone w manifeście YAML. Jeśli limity nie są określone, dodawany jest niejawny limit wynoszący 1792 MB, co powoduje dodanie maszyny wirtualnej o rozmiarze 2 GB i 1792 MB niejawnej pamięci dla kontenerów.

W tej wersji określanie żądań zasobów w manifestach "pod" nie jest obsługiwane. containerd nie przekazuje żądań do Kata Shim, a w związku z tym rezerwowanie zasobów na podstawie prośby o zasoby manifestu zasobnika nie jest wdrażane. Użyj zasobu limits zamiast zasobu requests , aby przydzielić pamięć lub zasoby procesora CPU dla obciążeń lub kontenerów.

Dzięki lokalnemu systemowi plików kontenera wspieranemu przez pamięć maszyny wirtualnej zapisywanie w systemie plików kontenera (w tym rejestrowanie) może wypełnić dostępną pamięć udostępnioną zasobnikowi. Ten warunek może spowodować potencjalne awarie zasobnika.

Następne kroki

  • Zapoznaj się z omówieniem zasad zabezpieczeń Poufnych kontenerów, aby dowiedzieć się, jak zadania i ich dane w podzie są chronione.
  • Wdrażanie kontenerów poufnych w usłudze AKS przy użyciu automatycznie wygenerowanych zasad zabezpieczeń.
  • Dowiedz się więcej o Azure Dedicated Hosts dla węzłów w Twoim klastrze AKS, aby korzystać z izolacji sprzętowej i mieć kontrolę nad zdarzeniami konserwacyjnymi platformy Azure.