Sieciowe grupy zabezpieczeń do konfigurowania sieci wirtualnej w Azure Container Apps

Sieciowe grupy zabezpieczeń potrzebne do konfigurowania sieci wirtualnych ściśle przypominają ustawienia wymagane przez platformę Kubernetes.

Sieć można zabezpieczyć za pośrednictwem sieciowych grup zabezpieczeń z bardziej restrykcyjnymi regułami niż domyślne reguły sieciowej grupy zabezpieczeń w celu kontrolowania całego ruchu przychodzącego i wychodzącego dla środowiska Azure Container Apps na poziomie subskrypcji.

W środowisku profilu obciążenia obsługiwane są trasy zdefiniowane przez użytkownika (UDR) i zabezpieczanie ruchu wychodzącego za pomocą zapory . Aby zapoznać się z przewodnikiem dotyczącym konfigurowania trasy zdefiniowanej przez użytkownika dla usługi Container Apps w celu ograniczenia ruchu wychodzącego za pomocą Azure Firewall, zobacz Kontroluj ruch wychodzący w Azure Container Apps za pomocą tras zdefiniowanych przez użytkownika.

W przypadku korzystania ze środowiska profilu obciążenia zewnętrznego ruch przychodzący do usługi Container Apps jest kierowany przez publiczny adres IP, który istnieje w zarządzanej grupie zasobów , a nie za pośrednictwem podsieci. To ograniczenie oznacza, że blokowanie ruchu przychodzącego za pośrednictwem sieciowej grupy zabezpieczeń lub zapory w środowisku profilu obciążenia zewnętrznego nie jest obsługiwane.

W starszym środowisku tylko do użycia Azure ExpressRoute nie jest obsługiwana, a niestandardowe trasy zdefiniowane przez użytkownika mają ograniczoną obsługę. Aby uzyskać więcej informacji na temat poziomu obsługi trasy zdefiniowanej przez użytkownika dostępnego w środowisku tylko do użycia, zobacz często zadawane pytania.

Reguły zezwalania sieciowej grupy zabezpieczeń

W poniższych tabelach opisano sposób konfigurowania kolekcji reguł zezwalania sieciowej grupy zabezpieczeń. Określone reguły, których potrzebujesz, zależą od typu środowiska.

Przychodzący

Uwaga

W przypadku korzystania z profilów obciążeń reguły sieciowej grupy zabezpieczeń dla ruchu przychodzącego mają zastosowanie tylko do ruchu przechodzącego przez sieć wirtualną. Jeśli ustawisz aplikacje kontenera tak, aby akceptowały ruch z publicznego Internetu, ruch przychodzący przechodzi przez publiczny punkt końcowy zamiast sieci wirtualnej.

Protokół Element źródłowy Porty źródłowe Element docelowy Porty docelowe opis
TCP Adresy IP klienta * Podsieć1 aplikacji kontenera 80, 31080 Zezwalaj swoim adresom IP klienta na dostęp do usługi Container Apps podczas korzystania z protokołu HTTP. 31080 to port, na którym serwer proxy brzegowy środowiska usługi Container Apps odpowiada na ruch HTTP. Znajduje się on za wewnętrznym modułem równoważenia obciążenia.
TCP Adresy IP klienta * Podsieć1 aplikacji kontenera 443, 31443 Zezwalaj swoim adresom IP klienta na dostęp do usługi Container Apps podczas korzystania z protokołu HTTPS. 31443 to port, na którym serwer proxy brzegowy środowiska usługi Container Apps odpowiada na ruch HTTPS. Znajduje się on za wewnętrznym modułem równoważenia obciążenia.
TCP Azure Load Balancer * Podsieć aplikacji kontenera 30000-32767 2 Zezwalaj usłudze Azure Load Balancer na sondę pul zaplecza.
TCP Adresy IP klienta * Podsieć aplikacji kontenera Uwidocznione porty i 30000-327672 Ta reguła ma zastosowanie tylko do aplikacji TCP. Nie jest to wymagane w przypadku aplikacji HTTP.

1 Ten adres należy przekazać jako parametr podczas tworzenia środowiska. Na przykład 10.0.0.0/21.

2 Pełny zakres potrzebny podczas tworzenia aplikacji kontenera jako portu w zakresie jest przydzielany dynamicznie. Po utworzeniu aplikacji kontenera wymagane porty są dwa niezmienne, statyczne wartości i można zaktualizować reguły sieciowej grupy zabezpieczeń.

Wychodzący

Protokół Element źródłowy Porty źródłowe Element docelowy Porty docelowe opis
TCP Podsieć aplikacji kontenera * MicrosoftContainerRegistry 443 Ten tag usługi reprezentuje Microsoft Artifact Registry dla kontenerów systemowych.
TCP Podsieć aplikacji kontenera * AzureFrontDoor.FirstParty 443 Ten tag usługi jest zależnością tagu MicrosoftContainerRegistry usługi.
Dowolne Podsieć aplikacji kontenera * Podsieć aplikacji kontenera * Ta reguła umożliwia komunikację między adresami IP w podsieci aplikacji kontenera.
TCP Podsieć aplikacji kontenera * AzureActiveDirectory 443 Jeśli używasz tożsamości zarządzanej, jest to wymagane.
TCP Podsieć aplikacji kontenera * AzureMonitor 443 Ta reguła jest wymagana tylko wtedy, gdy używasz Azure Monitor. Umożliwia ona wywołania wychodzące do Azure Monitor.
TCP i UDP Podsieć aplikacji kontenera * 168.63.129.16 53 Ta reguła umożliwia środowisku rozpoznawanie nazwy hosta przy użyciu Azure DNS.

Komunikacja DNS z Azure DNS nie podlega sieciowej grupie zabezpieczeń, chyba że jest ona przeznaczona za pośrednictwem tagu usługi AzurePlatformDNS. Aby zablokować ruch DNS, utwórz regułę ruchu wychodzącego w celu odmowy ruchu do tagu AzurePlatformDNS usługi.
TCP Podsieć1 aplikacji kontenera * Rejestr kontenerów Port rejestru kontenerów Ta reguła jest wymagana do komunikowania się z rejestrem kontenerów. Jeśli na przykład używasz Azure Container Registry, musisz AzureContainerRegistry i AzureActiveDirectory miejsca docelowego. Port jest portem rejestru kontenerów, chyba że używasz prywatnych punktów końcowych. 2
TCP Podsieć aplikacji kontenera * Storage.<Region> 443 Ta reguła jest wymagana tylko wtedy, gdy używasz usługi Container Registry do hostowania obrazów.

1 Ten adres należy przekazać jako parametr podczas tworzenia środowiska. Na przykład 10.0.0.0/21.

2 Jeśli używasz usługi Container Registry z sieciowymi grupami zabezpieczeń skonfigurowanymi w sieci wirtualnej, utwórz prywatny punkt końcowy w rejestrze kontenerów, aby umożliwić usłudze Container Apps ściąganie obrazów za pośrednictwem sieci wirtualnej. Nie musisz dodawać reguły sieciowej grupy zabezpieczeń dla usługi Container Registry, gdy jest ona skonfigurowana z prywatnymi punktami końcowymi.

Kwestie wymagające rozważenia

  • Jeśli używasz serwerów HTTP, może być konieczne dodanie portów 80 i 443.
  • Nie odrzucaj jawnie adresu Azure DNS 168.63.129.16 w wychodzących regułach sieciowej grupy zabezpieczeń. Jeśli to zrobisz, środowisko usługi Container Apps nie działa.