Zabezpieczanie wdrożenia usługi Azure Container Apps

Usługa Azure Container Apps oferuje możliwości uruchamiania konteneryzowanych aplikacji bez zarządzania złożoną infrastrukturą przy jednoczesnym zapewnieniu funkcji zabezpieczeń klasy korporacyjnej. Podczas wdrażania tej usługi postępuj zgodnie z najlepszymi rozwiązaniami w zakresie zabezpieczeń, aby chronić dane, konfiguracje i infrastrukturę.

Ten artykuł zawiera zalecenia dotyczące zabezpieczeń ułatwiające ochronę wdrożenia usługi Azure Container Apps.

Zalecenia dotyczące zabezpieczeń w tym artykule implementują zasady zerowego zaufania: "Sprawdź jawnie", "Użyj dostępu z najmniejszymi uprawnieniami" i "Przyjmij naruszenie". Aby uzyskać kompleksowe wskazówki dotyczące zerowego zaufania, zobacz Centrum wskazówek dotyczących zerowego zaufania.

Zabezpieczenia specyficzne dla usługi

Usługa Container Apps oferuje unikatowe funkcje zabezpieczeń przeznaczone specjalnie dla konteneryzowanych obciążeń, architektur mikrousług i aplikacji natywnych dla chmury.

  • Konfigurowanie granic zabezpieczeń na poziomie środowiska: użyj środowisk usługi Container Apps, aby utworzyć granice zabezpieczeń między różnymi aplikacjami i obciążeniami. Oddzielaj środowiska produkcyjne i nieprodukcyjne, aby zapobiec nieautoryzowanemu dostępowi i dryfowi konfiguracji. Więcej informacji można znaleźć w przeglądzie środowiska.

  • Zaimplementuj odpowiednie skalowanie i limity zasobów: skonfiguruj odpowiednie reguły skalowania i limity zasobów, aby zapobiec atakom wyczerpania zasobów i zapewnić uczciwą alokację zasobów między aplikacjami. Monitoruj zdarzenia skalowania pod kątem nietypowych wzorców, które mogą wskazywać na problemy z zabezpieczeniami. Aby uzyskać więcej informacji, zobacz Ustawianie reguł skalowania w usłudze Azure Container Apps.

Bezpieczeństwo sieci

Mechanizmy zabezpieczeń sieci uniemożliwiają nieautoryzowany dostęp do punktów końcowych aplikacji kontenera i ustanawiają bezpieczne granice komunikacji między aplikacjami a usługami zewnętrznymi.

  • Wdrażaj aplikacje kontenerowe w sieci wirtualnej: Aby kontrolować ruch sieciowy i zapewnić bezpieczny dostęp do zasobów zaplecza, integruj środowisko aplikacji kontenerowej z sieciami wirtualnymi Azure. Integracja sieci wirtualnej umożliwia aplikacjom uzyskiwanie dostępu do zasobów w sieciach prywatnych, jednocześnie chroniąc przed atakami internetowymi. Aby uzyskać więcej informacji, zobacz Konfiguracja sieci wirtualnej.

  • Włączanie prywatnych punktów końcowych dla dostępu przychodzącego: eliminowanie publicznej ekspozycji w Internecie przy użyciu usługi Azure Private Link w celu kierowania ruchu klienta przez sieć wirtualną. Prywatne punkty końcowe zapewniają prywatny adres IP z sieci wirtualnej, skutecznie przenosząc aplikację kontenera do obwodu sieci. Więcej informacji można znaleźć w artykule Użyj prywatnego endpointu z środowiskiem Azure Container Apps.

  • Skonfiguruj środowiska wewnętrzne pod kątem pełnej izolacji: wdróż wewnętrzne środowiska usługi Container Apps, aby ograniczyć cały dostęp przychodzący do klientów w sieci wirtualnej. Środowiska wewnętrzne zapewniają pełną izolację od publicznego Internetu i umożliwiają bezpieczną komunikację między aplikacjami kontenera i innymi zasobami sieciowymi. Aby uzyskać więcej informacji, zobacz Networking w środowisku Azure Container Apps.

  • Wyłącz dostęp do sieci publicznej: skonfiguruj środowiska usługi Container Apps, aby wyłączyć dostęp do sieci publicznej podczas korzystania z prywatnych punktów końcowych, zapewniając, że wszystkie połączenia występują za pośrednictwem kontrolowanego środowiska sieci wirtualnej. Ta konfiguracja uniemożliwia nieautoryzowane próby dostępu zewnętrznego. Więcej informacji można znaleźć w artykule Prywatne endpointy i DNS dla sieci wirtualnych w środowiskach Azure Container Apps.

  • Zaimplementuj usługę Azure Firewall na potrzeby kontroli ruchu wychodzącego: użyj usługi Azure Firewall z trasami zdefiniowanymi przez użytkownika (UDR), aby kontrolować i monitorować cały ruch wychodzący z aplikacji kontenera, aby zapewnić komunikację tylko z zatwierdzonymi miejscami docelowymi. Więcej informacji można znaleźć w artykule Włącz trasy zdefiniowane przez użytkownika (UDR).

  • Konfiguruj grupy bezpieczeństwa sieciowego z restrykcyjnymi regułami: Stosuj grupy bezpieczeństwa sieciowego do kontrolowania przepływu ruchu do i z podsieci aplikacji kontenerowych, implementując polityki domyślnego odrzucania z konkretnymi regułami zezwalającymi na wymagane wzorce komunikacji. Więcej informacji można znaleźć w artykule Zabezpiecz istniejącą sieć wirtualną z grupą ds. bezpieczeństwa sieciowego.

  • Konfigurowanie ograniczeń na poziomie aplikacji: skonfiguruj ustawienia ruchu przychodzącego przy użyciu odpowiednich mechanizmów kontroli zabezpieczeń, w tym uwierzytelniania certyfikatu klienta i ograniczeń adresów IP w celu zapewnienia bezpiecznego ujawnienia aplikacji kontenera. Użyj wewnętrznego wejścia dla aplikacji, które nie powinny być dostępne z internetu. Więcej informacji można znaleźć w przeglądzie Ingress.

Zarządzanie tożsamością i dostępem

Mechanizmy zarządzania tożsamościami i dostępem zapewniają, że tylko autoryzowani użytkownicy i aplikacje mogą uzyskiwać dostęp do zasobów usługi Container Apps z odpowiednimi uprawnieniami i mechanizmami uwierzytelniania.

  • Włącz uwierzytelnianie i autoryzację: skonfiguruj wbudowane uwierzytelnianie przy użyciu identyfikatora Entra firmy Microsoft i innych dostawców tożsamości w celu ochrony punktów końcowych aplikacji kontenera poza podstawowymi mechanizmami kontroli dostępu. Ta konfiguracja zapewnia scentralizowane zarządzanie tożsamościami i obsługuje niestandardowe reguły autoryzacji. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie i autoryzacja w Azure Container Apps.

  • Użyj tożsamości zarządzanych dla połączeń usług: skonfiguruj tożsamości zarządzane przypisane przez system lub przypisane przez użytkownika do uwierzytelniania w innych usługach platformy Azure bez przechowywania poświadczeń w kodzie lub konfiguracji. Tożsamości zarządzane eliminują nakład związany z zarządzaniem poświadczeniami i zapewniają automatyczną rotację sekretów. Więcej informacji można znaleźć w artykule Use managed identities in Azure Container Apps.

  • Implementacja kontroli dostępu opartej na rolach (RBAC): Przypisz tylko uprawnienia wymagane dla każdego zadania zarządzania aplikacjami kontenerowymi. Wbudowane role specyficzne dla usługi Container Apps mogą zapewniać bardziej ograniczony dostęp niż szerokie przypisania ról Contributor lub Owner, ale niektóre z nich używają uprawnień z symbolami wieloznacznymi, które obejmują akcje umożliwiające odczyt wartości wpisów tajnych. Jeśli żadna wbudowana rola nie zapewnia potrzebnej granicy dostępu, stwórz niestandardową rolę z wyraźnymi uprawnieniami. Więcej informacji można znaleźć w artykule Uprawnienia do zarządzania sekretami oraz wbudowane role Azure dla kontenerów.

  • Konfigurowanie uwierzytelniania identyfikatora entra firmy Microsoft: użyj identyfikatora Entra firmy Microsoft do scentralizowanego zarządzania tożsamościami i włącz zasady dostępu warunkowego, aby kontrolować dostęp na podstawie warunków użytkownika, lokalizacji i urządzenia. Ta konfiguracja zapewnia możliwości uwierzytelniania klasy korporacyjnej z obsługą uwierzytelniania wieloskładnikowego. Więcej informacji można znaleźć w artykule Włącz uwierzytelnianie i autoryzację w Azure Container Apps z Microsoft Entra ID.

  • Włącz magazyn tokenów na potrzeby bezpiecznego uwierzytelniania: użyj wbudowanej funkcji magazynu tokenów, aby bezpiecznie zarządzać tokenami uwierzytelniania niezależnie od kodu aplikacji. Magazyn tokenów zapewnia automatyczne odświeżanie tokenów i zmniejsza obszar ataków, eliminując niestandardowy kod zarządzania tokenami. Więcej informacji można znaleźć w artykule Włącz magazyn tokenów uwierzytelniających.

Ochrona danych

Mechanizmy ochrony danych zabezpieczają poufne informacje przetwarzane przez aplikacje kontenerowe za pomocą szyfrowania, bezpiecznego przechowywania oraz właściwego zarządzania tajnymi informacjami i danymi konfiguracyjnymi.

  • Wymuszaj protokół HTTPS dla całej komunikacji: skonfiguruj serwer proxy usługi Envoy, aby przekierować cały ruch HTTP do protokołu HTTPS, aby upewnić się, że wszystkie transmisje danych używają szyfrowania TLS. Ustaw allowInsecure: false w konfiguracji ruchu przychodzącego, aby zapobiec nieszyfrowanym połączeniom. Aby uzyskać więcej informacji, zobacz Konfigurowanie ingresu HTTPS lub TCP w usłudze Azure Container Apps.

  • Usługa Azure Key Vault umożliwia zarządzanie wpisami tajnymi: przechowywanie parametrów połączenia, kluczy interfejsu API i innych wpisów tajnych w usłudze Azure Key Vault zamiast ustawień aplikacji. Odwołania do usługi Key Vault umożliwiają pobieranie sekretów podczas uruchamiania, umożliwiając scentralizowane zarządzanie sekretami z rozszerzonymi możliwościami zabezpieczeń i audytu. Aby uzyskać więcej informacji, zobacz Zarządzanie sekretami w usłudze Azure Container Apps.

  • Włącz wzajemne zabezpieczenia warstwy transportu (mTLS): użyj biblioteki mTLS do uwierzytelniania i szyfrowania ruchu między usługami, zapewniając uwierzytelnianie dwukierunkowe, które weryfikuje tożsamości klienta i serwera. Ta funkcja zwiększa bezpieczeństwo komunikacji między usługami w środowisku aplikacji kontenera. Aby uzyskać więcej informacji, zobacz Używanie wzajemnego uwierzytelniania TLS (mTLS).

  • Wprowadź właściwe zarządzanie sekretami: Korzystaj z wbudowanego magazynu sekretów w Container Apps, aby przechowywać wrażliwe wartości z odpowiednią izolacją i kontrolą dostępu oraz unikać przechowywania sekretów bezpośrednio w obrazach kontenerów lub zmiennych środowiskowych. Więcej informacji można znaleźć w sekcji Uprawnienia do zarządzania sekretami.

  • Bezpieczny magazyn obrazów kontenera: przechowywanie obrazów kontenerów w usłudze Azure Container Registry z włączonym uwierzytelnianiem i konfigurowaniem replikacji geograficznej na potrzeby odzyskiwania po awarii. Użyj prywatnych rejestrów zamiast publicznych repozytoriów dla obciążeń produkcyjnych, aby zachować kontrolę nad dostępem do obrazów. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie za pomocą rejestru kontenerów platformy Azure.

Rejestrowanie i monitorowanie

Kompleksowe rejestrowanie i monitorowanie zapewnia wgląd w operacje usługi Container Apps, zdarzenia zabezpieczeń i metryki wydajności umożliwiające wykrywanie zagrożeń i nadzór operacyjny.

  • Włącz integrację Log Analytics w Azure Monitor: skonfiguruj integrację obszaru roboczego Log Analytics w celu zbierania i analizowania dzienników systemowych i aplikacyjnych z wszystkich aplikacji kontenerowych w Twoim środowisku. Ta konfiguracja zapewnia scentralizowane zarządzanie dziennikami i obsługuje monitorowanie zabezpieczeń i inspekcję zgodności. Aby uzyskać więcej informacji, zobacz Monitorowanie dzienników w usłudze Azure Container Apps za pomocą usługi Log Analytics.

  • Konfigurowanie ustawień diagnostycznych: włącz ustawienia diagnostyczne, aby przesyłać strumieniowo dzienniki i metryki aplikacji kontenera do dzienników usługi Azure Monitor, kont magazynu lub usługi Event Hubs na potrzeby scentralizowanej analizy i długoterminowego przechowywania. Ta konfiguracja obsługuje badania zabezpieczeń i wymagania dotyczące zgodności. Aby uzyskać więcej informacji, zobacz Obserwowanie w usłudze Azure Container Apps.

  • Konfigurowanie alertów usługi Azure Monitor: skonfiguruj alerty dotyczące podejrzanych działań, w tym uwierzytelniania, nietypowych wzorców ruchu, wysokich współczynników błędów i anomalii zużycia zasobów. Użyj grup akcji, aby włączyć automatyczną reakcję na potencjalne zdarzenia zabezpieczeń. Aby uzyskać więcej informacji, zobacz Alerty usługi Azure Monitor.

  • Włącz przesyłanie strumieniowe dzienników na potrzeby monitorowania w czasie rzeczywistym: użyj funkcji przesyłania strumieniowego dzienników, aby wyświetlić dzienniki systemu w czasie rzeczywistym i dzienniki konsoli z kontenerów w celu natychmiastowego rozwiązywania problemów i wykrywania zdarzeń zabezpieczeń. Ta zdolność umożliwia szybkie reagowanie podczas incydentów bezpieczeństwa. Aby uzyskać więcej informacji, zobacz Przesyłanie strumieniowe dzienników.

  • Implementowanie integracji usługi Application Insights: skonfiguruj integrację usługi Application Insights, aby przechwycić szczegółowe dane telemetryczne, metryki wydajności i niestandardowe ślady z aplikacji kontenera. Ta integracja zapewnia kompleksową obserwację analizy zabezpieczeń i optymalizacji wydajności. Aby uzyskać więcej informacji, zobacz Omówienie usługi Application Insights.

Zgodność i ład

Mechanizmy kontroli zgodności i zarządzania zapewniają, że wdrożenia Container Apps spełniają wymagania prawne i zasady organizacyjne dzięki odpowiednim funkcjom zarządzania konfiguracją i audytu.

  • Zastosuj definicje usługi Azure Policy: użyj wbudowanych definicji usługi Azure Policy, aby przeprowadzać inspekcję i wymuszać konfiguracje zabezpieczeń, takie jak wdrażanie sieci wirtualnej, wymagania dotyczące uwierzytelniania i wymuszanie wymuszania protokołu HTTPS. Zasady pomagają zachować spójny stan zabezpieczeń w różnych środowiskach. Aby uzyskać więcej informacji, zobacz Wbudowane definicje usługi Azure Policy dla usługi Azure Container Apps.

  • Implementowanie tagowania zasobów: stosowanie spójnych tagów zasobów do zasobów usługi Container Apps na potrzeby zarządzania kosztami, monitorowania zabezpieczeń, śledzenia zgodności i ładu. Użyj tagów, aby zidentyfikować klasyfikację danych, informacje o właścicielach i wymagania prawne. Aby uzyskać więcej informacji, zobacz Organizowanie zasobów platformy Azure przy użyciu tagów.

  • Konfiguruj polityki dostępu warunkowego: Stosuj polityki Dostęp warunkowy usługi Microsoft Entra, które wymagają uwierzytelniania wieloskładnikowego i zgodności urządzeń dla tożsamości zarządzających aplikacjami kontenerowymi i ich środowiskami oraz dla dostępu użytkownika końcowego chronionego przez wbudowaną funkcję uwierzytelniania. Więcej informacji można znaleźć w artykule Wymagaj MFA dla zarządzania Azure.

  • Zachowaj dzienniki inspekcji i dokumentację zgodności: Upewnij się, że kompleksowe rejestrowanie przechwytuje wszystkie akcje administracyjne aplikacji kontenera, zmiany konfiguracji i próby dostępu na potrzeby badań zgodności z przepisami i zabezpieczeń przy użyciu ustawień diagnostycznych i dzienników aktywności. Aby uzyskać więcej informacji, zobacz Dziennik aktywności platformy Azure.

Kopia zapasowa i przywracanie

Strategie kopii zapasowych i odzyskiwania chronią konfiguracje aplikacji kontenerowych i zapewniają ciągłość działania poprzez odpowiednie planowanie odzyskiwania po awarii oraz strategie wdrożenia wieloregionalnego.

  • Włącz nadmiarowość strefy w celu zapewnienia wysokiej dostępności: Skonfiguruj nadmiarowość strefy w środowiskach usługi Container Apps, w celu automatycznego dystrybuowania replik w wielu strefach dostępności w regionie. Ta konfiguracja chroni przed awariami na poziomie strefy i poprawia czas działania aplikacji. Aby uzyskać więcej informacji, zobacz Niezawodność w usłudze Azure Container Apps.

  • Wdrażaj wdrożenia wieloregionalne: Wdroż aplikacje kontenerowe w wielu regionach Azure, korzystając z Azure Front Door lub Azure Traffic Manager do automatycznego przełączania podczas regionalnych przerw. Ta strategia zapewnia ciągłą dostępność aplikacji dla obciążeń krytycznych. Aby uzyskać więcej informacji, zobacz Odporność na awarie całego regionu.

  • Użyj infrastruktury jako kodu do automatyzacji wdrażania: zaimplementuj zautomatyzowane procesy wdrażania przy użyciu szablonów usługi Azure Resource Manager, Bicep lub innej infrastruktury jako narzędzi kodu, aby zapewnić szybkie ponowne wdrożenie konfiguracji aplikacji kontenera po zdarzeniu lub w alternatywnych regionach. Więcej informacji można znaleźć w specyfikacji interfejsu API platform Azure Resource Manager i Bicep dla usługi Azure Container Apps.

  • Konfigurowanie geograficznie nadmiarowego rejestru kontenerów: użyj usługi Azure Container Registry z włączoną replikacją geograficzną, aby upewnić się, że obrazy kontenerów są dostępne w wielu regionach na potrzeby scenariuszy odzyskiwania po awarii. Ta konfiguracja chroni przed awariami rejestru i obsługuje wdrożenia wieloregionalne. Aby uzyskać więcej informacji, zobacz Replikacja geograficzna w usłudze Azure Container Registry.

  • Testowanie procedur odzyskiwania po awarii: Regularne testowanie procedur tworzenia kopii zapasowych i odzyskiwania, w tym wdrażania aplikacji, przywracania konfiguracji i procesów trybu failover w celu zweryfikowania skuteczności i zidentyfikowania luk w planowaniu odzyskiwania po awarii. Dokumentowanie wyników testów i procedur aktualizacji na podstawie wyciągniętych wniosków. Aby uzyskać więcej informacji, zobacz Niestandardowe rozwiązania wieloregionowe w celu zapewnienia odporności.

Dalsze kroki