Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Poufne kontenery ułatwiają uruchamianie niezmodyfikowanych aplikacji kontenerowych najpopularniejszych środowisk uruchomieniowych języków programowania (Python, Node, Java itp.) w zaufanym środowisku wykonawczym opartym na technologii Intel SGX. Ten model pakowania zwykle nie wymaga żadnych modyfikacji kodu źródłowego ani ponownej kompilacji i jest najszybszą metodą uruchamiania w enklawach Intel SGX. Typowy proces wdrażania standardowych kontenerów Docker wymaga otwartego oprogramowania SGX lub rozwiązania partnerskiego Azure. W tym modelu pakowania i wykonywania każda aplikacja kontenera jest ładowana do zaufanej strefy (enklawy) i pod izolacją opartą na sprzęcie, wymuszaną przez procesor Intel SGX. Każdy kontener uruchomiony w enklawie otrzymuje własny klucz szyfrowania pamięci dostarczony z procesora CPU Intel SGX. Ten model dobrze sprawdza się w przypadku gotowych aplikacji kontenerowych dostępnych na rynku lub niestandardowych aplikacjach działających obecnie na węzłach ogólnego przeznaczenia. Aby uruchomić istniejący kontener Docker, aplikacje działające na poufnych węzłach obliczeniowych wymagają oprogramowania opakowującego Intel Software Guard Extensions (SGX), aby ułatwić uruchamianie kontenera w ramach specjalnego zestawu instrukcji CPU. SGX tworzy bezpośrednie wykonanie na procesorze CPU w celu wykluczenia systemu operacyjnego gościa, systemu operacyjnego hosta lub funkcji hypervisor z granic zaufania. Ten krok zmniejsza ogólne obszary ataków na powierzchnię i luki w zabezpieczeniach podczas uzyskiwania izolacji na poziomie procesu w jednym węźle.
Ogólny proces uruchamiania niezmodyfikowanych kontenerów obejmuje zmiany sposobu, w jaki kontener jest spakowany dzisiaj, jak opisano poniżej.
Oprogramowanie wrappera SGX potrzebne do uruchamiania standardowych kontenerów jest oferowane przez partnerów oprogramowania Azure lub rozwiązania oprogramowania open source (OSS).
Czynniki wspierające partnerów
Deweloperzy mogą wybierać dostawców oprogramowania na podstawie ich funkcji, integracji z usługami platformy Azure i obsługą narzędzi.
Ważne
Partnerzy oprogramowania Azure często wiążą się z opłatami licencyjnymi oprócz infrastruktury Azure. Sprawdź niezależnie wszystkie postanowienia dotyczące oprogramowania partnerskiego.
Fortanix
Fortanix oferuje środowisko portalu i interfejs wiersza polecenia (CLI), aby przekonwertować swoje konteneryzowane aplikacje na kompatybilne z SGX kontenery poufne. Nie musisz modyfikować ani ponownie kompilować aplikacji. Fortanix zapewnia elastyczność uruchamiania szerokiego zestawu aplikacji i zarządzania nimi. Możesz używać istniejących aplikacji, aplikacji natywnych dla enklawy oraz aplikacji wcześniej przygotowanych. Zacznij od interfejsu użytkownika Enclave Manager Fortanix lub API REST. Utwórz poufne kontenery, używając przewodnika Fortanix Quickstart dla usługi AKS.
SCONE (Scontain)
Zasady zabezpieczeń SCONE (Scontain) generują certyfikaty, klucze i wpisy tajne. Tylko usługi z poświadczeniem dla aplikacji widzą te dane uwierzytelniające. Usługi aplikacji automatycznie poświadczają się nawzajem za pośrednictwem protokołu TLS. Nie trzeba modyfikować aplikacji ani protokołu TLS. Aby uzyskać więcej wyjaśnień, zobacz demonstrację aplikacji Flask SCONE.
SCONE może konwertować większość istniejących plików binarnych na aplikacje, które działają wewnątrz enklaw. SCONE chroni również interpretowane języki, takie jak Python, szyfrując zarówno pliki danych, jak i pliki kodu języka Python. Zasady zabezpieczeń SCONE umożliwiają ochronę zaszyfrowanych plików przed nieautoryzowanym dostępem, modyfikacjami i wycofywaniem. Aby uzyskać więcej informacji, zobacz dokumentację SCONE dotyczącą korzystania z aplikacji SCONE z istniejącą aplikacją języka Python.
Można wdrożyć SCONE na węzłach poufnego przetwarzania platformy Azure za pomocą AKS, postępując zgodnie z tym przykładowym wdrożeniem aplikacji AKS dla SCONE.
Anjuna
Anjuna udostępnia oprogramowanie platformy SGX do uruchamiania niezmodyfikowanych kontenerów na platformie AKS. Aby uzyskać więcej informacji, zobacz dokumentację anjuna dotyczącą funkcji i przykładowych aplikacji.
Rozpocznij pracę z przykładową pamięcią podręczną Redis Cache i aplikacją niestandardową języka Python tutaj
Ułatwienia dla oprogramowania open source
Uwaga
Poufne przetwarzanie na platformie Azure i firma Microsoft nie są bezpośrednio powiązane z tymi projektami i rozwiązaniami.
Gramina
Gramine to lekki system operacyjny gościa zaprojektowany do uruchamiania pojedynczej aplikacji systemu Linux z minimalnymi wymaganiami dotyczącymi hosta. Gramine może uruchamiać aplikacje w izolowanym środowisku. Istnieje obsługa narzędzi do konwertowania istniejącego kontenera platformy Docker na kontenery gotowe do użycia SGX.
Aby uzyskać więcej informacji, zobacz przykładową aplikację i wdrożenie Gramine w usłudze AKS
Oklum
Occlum to bezpieczny w pamięci system operacyjny biblioteki wieloprocesowej (LibOS) dla intel SGX. System operacyjny umożliwia uruchamianie starszych aplikacji na SGX bez żadnych modyfikacji kodu źródłowego. Occlum w sposób przezroczysty chroni poufność obciążeń użytkowników, umożliwiając łatwe przeniesienie i uruchomienie istniejących aplikacji Docker.
Aby uzyskać więcej informacji, zobacz Instrukcje wdrażania firmy Occlum i przykładowe aplikacje w usłudze AKS.
Marmurowy
Marblerun to platforma do orkiestracji poufnych kontenerów. Usługi poufne można uruchamiać i skalować na platformie Kubernetes z włączoną obsługą SGX. Marblerun zajmuje się zadaniami szablonowymi, takimi jak weryfikowanie usług w klastrze, zarządzanie tajnymi danymi dla nich i ustanawianie połączeń mTLS między enklawami. Aplikacja Marblerun zapewnia również, że klaster poufnych kontenerów jest zgodny z manifestem zdefiniowanym w prostym formacie JSON. Manifest można zweryfikować z klientami zewnętrznymi za pomocą zdalnego zaświadczania.
Ta struktura rozszerza poufność, integralność i właściwości weryfikowalności pojedynczej enklawy do klastra Kubernetes.
Aplikacja Marblerun obsługuje poufne kontenery utworzone za pomocą programu Graphene, Occlum i EGo, z przykładami dla każdego zestawu SDK. Platforma działa na platformie Kubernetes wraz z istniejącymi narzędziami natywnymi dla chmury. Istnieje interfejs wiersza polecenia i wykresy helm. Marblerun obsługuje również poufne węzły obliczeniowe na AKS. Postępuj zgodnie z przewodnikiem Marblerun, żeby wdrożyć Marblerun w usłudze AKS.
Architektury referencyjne kontenerów poufnych
- Poufne przesyłanie danych dla referencyjnej architektury opieki zdrowotnej oraz przykład z poufnymi kontenerami Intel SGX.
- Poufne przetwarzanie big data za pomocą platformy Apache Spark na AKS z poufnymi kontenerami Intel SGX.
Kontakt
Czy masz pytania dotyczące implementacji? Czy chcesz stać się osobą wspierającą wdrożenie kontenerów poufnych? Wyślij wiadomość na adres acconaks@microsoft.com.