Wdrażanie usługi Private Application Gateway (wersja zapoznawcza)

Wprowadzenie

W przeszłości jednostki SKU usługi Application Gateway w wersji 2 i w pewnym zakresie w wersji 1 wymagały publicznego adresowania IP w celu umożliwienia zarządzania usługą. To wymaganie nałożyło kilka ograniczeń dotyczących używania kontrolek precyzyjnych w sieciowych grupach zabezpieczeń i tabelach tras. W szczególności zaobserwowano następujące wyzwania:

  1. Wszystkie wdrożenia usługi Application Gateway w wersji 2 muszą zawierać publiczną konfigurację adresu IP frontonu, aby umożliwić komunikację z tagiem usługi Menedżer bramy.
  2. Skojarzenia sieciowej grupy zabezpieczeń wymagają reguł zezwalania na dostęp przychodzący z bramyManager i wychodzącego dostępu do Internetu.
  3. Podczas wprowadzania trasy domyślnej (0.0.0.0/0) do przekazywania ruchu w dowolnym miejscu innym niż Internet, metryki, monitorowanie i aktualizacje bramy powodują niepowodzenie.

Usługa Application Gateway w wersji 2 może teraz rozwiązać każdy z tych elementów, aby dodatkowo wyeliminować ryzyko eksfiltracji danych i kontrolować prywatność komunikacji z sieci wirtualnej. Te zmiany obejmują następujące możliwości:

  1. Konfiguracja adresu IP frontonu tylko dla prywatnego adresu IP
    • Brak wymaganego zasobu publicznego adresu IP
  2. Eliminacja ruchu przychodzącego z tagu usługi GatewayManager za pośrednictwem sieciowej grupy zabezpieczeń
  3. Możliwość zdefiniowania reguły Odmów wszystkich wychodzących sieciowych grup zabezpieczeń w celu ograniczenia ruchu wychodzącego do Internetu
  4. Możliwość zastąpienia trasy domyślnej do Internetu (0.0.0.0/0)
  5. Rozpoznawanie nazw DNS za pośrednictwem zdefiniowanych rozpoznawania nazw w sieci wirtualnej Dowiedz się więcej, w tym prywatnych stref DNS łącza prywatnego.

Każdą z tych funkcji można skonfigurować niezależnie. Na przykład publiczny adres IP może służyć do zezwalania na ruch przychodzący z Internetu i można zdefiniować regułę Odmów wszystkich wychodzących w konfiguracji sieciowej grupy zabezpieczeń, aby zapobiec eksfiltracji danych.

Dołączanie do publicznej wersji zapoznawczej

Funkcje nowych kontrolek konfiguracji frontonu prywatnego adresu IP, kontroli nad regułami sieciowej grupy zabezpieczeń i kontroli nad tabelami tras są obecnie dostępne w publicznej wersji zapoznawczej. Aby dołączyć do publicznej wersji zapoznawczej, możesz wyrazić zgodę na korzystanie z witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia lub interfejsu API REST.

Po dołączeniu do wersji zapoznawczej wszystkie nowe usługi Application Gateway umożliwiają definiowanie dowolnej kombinacji sieciowych grup zabezpieczeń, tabeli tras lub prywatnych funkcji konfiguracji adresu IP. Jeśli chcesz zrezygnować z nowych funkcji i powrócić do bieżącej ogólnie dostępnej funkcji usługi Application Gateway, możesz to zrobić, wyrejestrując się z wersji zapoznawczej.

Aby uzyskać więcej informacji na temat funkcji w wersji zapoznawczej, zobacz Konfigurowanie funkcji w wersji zapoznawczej w subskrypcji platformy Azure

Zarejestruj się w wersji zapoznawczej

Wykonaj następujące kroki, aby zarejestrować się w publicznej wersji zapoznawczej dla rozszerzonych kontrolek sieci usługi Application Gateway za pośrednictwem witryny Azure Portal:

  1. Zaloguj się w witrynie Azure Portal.

  2. W polu wyszukiwania wprowadź subskrypcje i wybierz pozycję Subskrypcje.

    Azure portal search.

  3. Wybierz link dla nazwy subskrypcji.

    Select Azure subscription.

  4. W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Funkcje w wersji zapoznawczej.

    Azure preview features menu.

  5. Zostanie wyświetlona lista dostępnych funkcji w wersji zapoznawczej i bieżący stan rejestracji.

    Azure portal list of preview features.

  6. W obszarze Funkcje w wersji zapoznawczej wpisz w polu filtru EnableApplicationGatewayNetworkIsolation, zaznacz tę funkcję i kliknij pozycję Zarejestruj.

    Azure portal filter preview features.

Uwaga

Rejestracja funkcji może potrwać do 30 minut, aby przejść od rejestracji do stanu Zarejestrowane.

Aby uzyskać więcej informacji na temat funkcji w wersji zapoznawczej, zobacz Konfigurowanie funkcji w wersji zapoznawczej w subskrypcji platformy Azure

Wyrejestrowywanie z wersji zapoznawczej

Aby zrezygnować z publicznej wersji zapoznawczej dla rozszerzonych kontrolek sieci usługi Application Gateway za pośrednictwem portalu, wykonaj następujące kroki:

  1. Zaloguj się w witrynie Azure Portal.

  2. W polu wyszukiwania wprowadź subskrypcje i wybierz pozycję Subskrypcje.

    Azure portal search.

  3. Wybierz link dla nazwy subskrypcji.

    Select Azure subscription.

  4. W menu po lewej stronie w obszarze Ustawienia wybierz pozycję Funkcje w wersji zapoznawczej.

    Azure preview features menu.

  5. Zostanie wyświetlona lista dostępnych funkcji w wersji zapoznawczej i bieżący stan rejestracji.

    Azure portal list of preview features.

  6. W obszarze Funkcje w wersji zapoznawczej wpisz w polu filtru EnableApplicationGatewayNetworkIsolation, zaznacz tę funkcję i kliknij pozycję Wyrejestruj.

    Azure portal filter preview features.

Regiony i dostępność

Wersja zapoznawcza usługi Private Application Gateway jest dostępna we wszystkich regionach chmury publicznej, w których jest obsługiwana jednostka SKU usługi Application Gateway w wersji 2.

Konfiguracja kontrolek sieci

Po zarejestrowaniu się w publicznej wersji zapoznawczej konfigurację sieciowej grupy zabezpieczeń, tabeli tras i konfiguracji frontonu prywatnego adresu IP można wykonać przy użyciu dowolnych metod. Na przykład: interfejs API REST, szablon usługi ARM, wdrożenie Bicep, terraform, program PowerShell, interfejs wiersza polecenia lub portal. W tej publicznej wersji zapoznawczej nie wprowadzono żadnych zmian interfejsu API ani poleceń.

Zmiany zasobów

Po aprowizacji bramy tag zasobu jest automatycznie przypisywany z nazwą EnhancedNetworkControl i wartością True. Zobacz poniższy przykład:

View the EnhancedNetworkControl tag

Tag zasobu jest kosmetyczny i służy do potwierdzenia, że brama została aprowizowana z możliwościami konfigurowania dowolnej kombinacji funkcji bramy tylko prywatnej. Modyfikacja lub usunięcie tagu lub wartości nie zmienia żadnych funkcjonalnych funkcji bramy.

Napiwek

Tag EnhancedNetworkControl może być przydatny, gdy istniejące bramy Aplikacji zostały wdrożone w subskrypcji przed włączeniem funkcji i chcesz odróżnić bramę, która może korzystać z nowych funkcji.

Podsieć usługi Application Gateway

Podsieć usługi Application Gateway jest podsiecią w sieci wirtualnej, w której zostaną wdrożone zasoby usługi Application Gateway. W konfiguracji prywatnego adresu IP frontonu ważne jest, aby ta podsieć mogła uzyskać dostęp prywatnie do zasobów, które chcą połączyć się z udostępnioną aplikacją lub witryną.

Wychodząca łączność z Internetem

Wdrożenia usługi Application Gateway zawierające tylko konfigurację prywatnego adresu IP frontonu (nie mają konfiguracji frontonu publicznego adresu IP) nie mogą kierować ruchu wychodzącego kierowanego do Internetu. Ta konfiguracja ma wpływ na komunikację z obiektami docelowymi zaplecza, które są publicznie dostępne za pośrednictwem Internetu.

Aby włączyć łączność wychodzącą z usługi Application Gateway do docelowego zaplecza połączonego z Internetem, możesz użyć translatora adresów sieci wirtualnych lub przekazać ruch do urządzenia wirtualnego, które ma dostęp do Internetu.

Translator adresów sieci wirtualnych zapewnia kontrolę nad tym, jakiego adresu IP lub prefiksu należy używać, a także konfigurowalnego limitu czasu bezczynności. Aby skonfigurować, utwórz nową bramę translatora adresów sieciowych z publicznym adresem IP lub prefiksem publicznym i skojarz ją z podsiecią zawierającą usługę Application Gateway.

Jeśli urządzenie wirtualne jest wymagane do ruchu wychodzącego z Internetu, zobacz sekcję kontrolki tabeli tras w tym dokumencie.

Typowe scenariusze, w których wymagane jest użycie publicznego adresu IP:

  • Komunikacja z magazynem kluczy bez używania prywatnych punktów końcowych lub punktów końcowych usługi
    • Komunikacja wychodząca nie jest wymagana w przypadku plików pfx przekazanych bezpośrednio do usługi Application Gateway
  • Komunikacja z obiektami docelowymi zaplecza za pośrednictwem Internetu
  • Komunikacja z internetowymi punktami końcowymi listy CRL lub OCSP

Kontrola sieciowej grupy zabezpieczeń

Sieciowe grupy zabezpieczeń skojarzone z podsiecią usługi Application Gateway nie wymagają już reguł ruchu przychodzącego dla usługi GatewayManager i nie wymagają dostępu wychodzącego do Internetu. Jedyną wymaganą regułą jest zezwalanie na ruch przychodzący z modułu AzureLoadBalancer , aby upewnić się, że sondy kondycji mogą dotrzeć do bramy.

Poniższa konfiguracja to przykład najbardziej restrykcyjnego zestawu reguł ruchu przychodzącego, który blokuje cały ruch, ale sondy kondycji platformy Azure. Oprócz zdefiniowanych reguł jawne reguły są definiowane, aby zezwolić na dostęp ruchu klienta do odbiornika bramy.

View the inbound security group rules

Uwaga

Usługa Application Gateway wyświetli alert z prośbą o upewnienie się, że parametr Allow LoadBalanceRule zostanie określony, jeśli reguła DenyAll przypadkowo ogranicza dostęp do sond kondycji.

Przykładowy scenariusz

W tym przykładzie przedstawiono proces tworzenia sieciowej grupy zabezpieczeń przy użyciu witryny Azure Portal z następującymi regułami:

  • Zezwalaj na ruch przychodzący do portów 80 i 8080 do usługi Application Gateway z żądań klientów pochodzących z Internetu
  • Odmów wszystkich innych ruchu przychodzącego
  • Zezwalaj na ruch wychodzący do obiektu docelowego zaplecza w innej sieci wirtualnej
  • Zezwalaj na ruch wychodzący do docelowego zaplecza, który jest dostępny z Internetu
  • Odmów wszystkich innych ruchu wychodzącego

Najpierw utwórz sieciową grupę zabezpieczeń. Ta grupa zabezpieczeń zawiera reguły ruchu przychodzącego i wychodzącego.

Reguły ruchu przychodzącego

W grupie zabezpieczeń są już aprowizowane trzy reguły domyślne dla ruchu przychodzącego. Zobacz poniższy przykład:

View default security group rules

Następnie utwórz następujące cztery nowe reguły zabezpieczeń dla ruchu przychodzącego:

  • Zezwalaj na port przychodzący 80, tcp, z Internetu (dowolny)
  • Zezwalaj na port przychodzący 8080, tcp, z Internetu (dowolny)
  • Zezwalaj na ruch przychodzący z modułu AzureLoadBalancer
  • Odmów dowolnego ruchu przychodzącego

Aby utworzyć następujące reguły:

  • Wybierz pozycję Reguły zabezpieczeń dla ruchu przychodzącego
  • Wybierz Dodaj
  • Wprowadź następujące informacje dla każdej reguły w okienku Dodawanie reguły zabezpieczeń dla ruchu przychodzącego.
  • Po wprowadzeniu informacji wybierz pozycję Dodaj , aby utworzyć regułę.
  • Tworzenie każdej reguły zajmuje chwilę.
Reguły # Źródło Tag usługi źródłowej Zakresy portów źródłowych Element docelowy Usługa Zakresy portów dest Protokół Akcja Priorytet Nazwisko
1 Dowolne * Dowolne HTTP 80 TCP Zezwalaj 1028 AllowWeb
2 Dowolne * Dowolne Niestandardowy 8080 TCP Zezwalaj 1029 AllowWeb8080
3 Tag usługi AzureLoadBalancer * Dowolne Niestandardowy * Dowolne Zezwalaj 1045 Zezwalaj na moduł równoważenia obciążenia
100 Dowolne * Dowolne Niestandardowy * Dowolne Zablokuj 4095 DenyAllInbound

Wybierz pozycję Odśwież , aby przejrzeć wszystkie reguły po zakończeniu aprowizacji.

View example inbound security group rules

Reguły ruchu wychodzącego

Istnieją trzy domyślne reguły ruchu wychodzącego z priorytetem 65000, 65001 i 65500.

Utwórz następujące trzy nowe reguły zabezpieczeń dla ruchu wychodzącego:

  • Zezwalaj na protokół TCP 443 z wersji 10.10.4.0/24 do docelowej wewnętrznej bazy danych 20.62.8.49
  • Zezwalaj na protokół TCP 80 ze źródła 10.10.4.0/24 do lokalizacji docelowej 10.13.0.4
  • DenyAll reguła ruchu

Te reguły mają odpowiednio priorytet 400, 401 i 4096.

Uwaga

  • 10.10.4.0/24 to przestrzeń adresowa podsieci usługi Application Gateway.
  • 10.13.0.4 to maszyna wirtualna w równorzędnej sieci wirtualnej.
  • 20.63.8.49 to docelowa maszyna wirtualna zaplecza.

Aby utworzyć następujące reguły:

  • Wybierz pozycję Reguły zabezpieczeń dla ruchu wychodzącego
  • Wybierz Dodaj
  • Wprowadź następujące informacje dla każdej reguły w okienku Dodawanie reguły zabezpieczeń dla ruchu wychodzącego.
  • Po wprowadzeniu informacji wybierz pozycję Dodaj , aby utworzyć regułę.
  • Tworzenie każdej reguły zajmuje chwilę.
Reguły # Źródło Zakresy źródłowych adresów IP/CIDR Zakresy portów źródłowych Element docelowy Docelowe adresy IP/zakresy CIDR Usługa Zakresy portów dest Protokół Akcja Priorytet Nazwisko
1 Adresy IP 10.10.4.0/24 * Adresy IP 20.63.8.49 HTTPS 443 TCP Zezwalaj 400 AllowToBackendTarget
2 Adresy IP 10.10.4.0/24 * Adresy IP 10.13.0.4 HTTP 80 TCP Zezwalaj 401 AllowToPeeredVnetVM
3 Dowolne * Dowolne Niestandardowy * Dowolne Zablokuj 4096 DenyAll

Wybierz pozycję Odśwież , aby przejrzeć wszystkie reguły po zakończeniu aprowizacji.

View example outbound security group rules

Kojarzenie sieciowej grupy zabezpieczeń z podsiecią

Ostatnim krokiem jest skojarzenie sieciowej grupy zabezpieczeń z podsiecią zawierającą usługę Application Gateway.

Associate NSG to subnet

Wynik:

View the NSG overview

Ważne

Należy zachować ostrożność podczas definiowania reguł DenyAll , ponieważ nieumyślnie odmawiaj ruchu przychodzącego od klientów, do których zamierzasz zezwolić na dostęp. Możesz również przypadkowo odmówić ruchu wychodzącego do docelowego zaplecza, powodując niepowodzenie kondycji zaplecza i generować odpowiedzi 5XX.

Kontrolka tabeli tras

W bieżącej ofercie usługi Application Gateway skojarzenie tabeli tras z regułą (lub tworzeniem reguły) zdefiniowanej jako 0.0.0.0/0 z następnym przeskokiem jako urządzenie wirtualne nie jest obsługiwane w celu zapewnienia prawidłowego zarządzania usługą Application Gateway.

Po zarejestrowaniu funkcji publicznej wersji zapoznawczej możliwość przekazywania ruchu do urządzenia wirtualnego jest teraz możliwa za pomocą definicji reguły tabeli tras, która definiuje 0.0.0.0.0/0 z następnym przeskokiem do urządzenia wirtualnego.

Wymuszone tunelowanie lub uczenie się trasy 0.0.0.0/0 za pośrednictwem anonsowania BGP nie ma wpływu na kondycję usługi Application Gateway i jest honorowane dla przepływu ruchu. Ten scenariusz może mieć zastosowanie w przypadku korzystania z sieci VPN, usługi ExpressRoute, usługi Route Server lub wirtualnej sieci WAN.

Przykładowy scenariusz

W poniższym przykładzie utworzymy tabelę tras i skojarzymy ją z podsiecią usługi Application Gateway, aby zapewnić wychodzący dostęp do Internetu z podsieci z urządzenia wirtualnego. Na wysokim poziomie poniższy projekt jest podsumowany na rysunku 1:

  • Usługa Application Gateway znajduje się w sieci wirtualnej będącej szprychą
  • W sieci koncentratora znajduje się wirtualne urządzenie sieciowe (maszyna wirtualna)
  • Tabela tras z trasą domyślną (0.0.0.0/0) do urządzenia wirtualnego jest skojarzona z podsiecią usługi Application Gateway

Diagram for example route table

Rysunek 1. Ruch wychodzący z Internetu za pośrednictwem urządzenia wirtualnego

Aby utworzyć tabelę tras i skojarz ją z podsiecią usługi Application Gateway:

  1. Utwórz tabelę tras:

View the newly created route table

  1. Wybierz pozycję Trasy i utwórz regułę następnego przeskoku dla wersji 0.0.0.0/0 i skonfiguruj lokalizację docelową jako adres IP maszyny wirtualnej:

View of adding default route to network virtual applicance

  1. Wybierz pozycję Podsieci i skojarz tabelę tras z podsiecią usługi Application Gateway:

View of associating the route to the AppGW subnet

  1. Sprawdź, czy ruch przechodzi przez urządzenie wirtualne.

Ograniczenia / znane problemy

W publicznej wersji zapoznawczej znane są następujące ograniczenia.

Obsługa konfiguracji łącza prywatnego na potrzeby tunelowania ruchu przez prywatne punkty końcowe do usługi Application Gateway nie jest obsługiwana z bramą tylko prywatną.

Konfiguracja frontonu prywatnego adresu IP tylko z usługą AGIC

Należy użyć programu AGIC w wersji 1.7, aby wprowadzić obsługę tylko prywatnego adresu IP frontonu.

Łączność z prywatnym punktem końcowym za pośrednictwem globalnej komunikacji równorzędnej sieci wirtualnych

Jeśli usługa Application Gateway ma docelową lokalizację docelową zaplecza lub magazyn kluczy odwołanie do prywatnego punktu końcowego znajdującego się w sieci wirtualnej dostępnej za pośrednictwem globalnej komunikacji równorzędnej sieci wirtualnych, ruch zostanie porzucony, co spowoduje stan złej kondycji.

Integracja usługi Network Watcher

Połączenie ion rozwiązywanie problemów i diagnostyka sieciowej grupy zabezpieczeń zwraca błąd podczas uruchamiania testów kontrolnych i diagnostycznych.

Współistnienie usługi Application Gateway w wersji 2 utworzone przed włączeniem rozszerzonej kontroli sieci

Jeśli podsieć udostępnia wdrożenia usługi Application Gateway w wersji 2, które zostały utworzone zarówno przed włączeniem, jak i po włączeniu rozszerzonej funkcji kontroli sieci, funkcjonalność sieciowej grupy zabezpieczeń i tabeli tras jest ograniczona do wcześniejszego wdrożenia bramy. Bramy aplikacji aprowidowane przed włączeniem nowej funkcji muszą zostać ponownie zainicjowane lub nowo utworzone bramy muszą używać innej podsieci, aby włączyć ulepszoną sieciową grupę zabezpieczeń i funkcje tabeli tras.

  • Jeśli brama wdrożona przed włączeniem nowej funkcji istnieje w podsieci, mogą pojawić się błędy, takie jak: For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet' podczas dodawania wpisów tabeli tras.
  • Podczas dodawania reguł sieciowej grupy zabezpieczeń do podsieci mogą zostać wyświetlone następujące elementy: Failed to create security rule 'DenyAnyCustomAnyOutbound'. Error: Network security group \<NSG-name\> blocks outgoing Internet traffic on subnet \<AppGWSubnetId\>, associated with Application Gateway \<AppGWResourceId\>. This isn't permitted for Application Gateways that have fast update enabled or have V2 Sku.

Nieznany stan kondycji zaplecza

Jeśli kondycja zaplecza jest nieznana, może zostać wyświetlony następujący błąd:

  • Nie można pobrać stanu kondycji zaplecza. Dzieje się tak, gdy sieciowa grupa zabezpieczeń/trasa zdefiniowana przez użytkownika/zapora w podsieci bramy aplikacji blokuje ruch na portach 65503-65534, jeśli istnieje jednostka SKU w wersji 1, a porty 65200–65535, jeśli istnieje jednostka SKU w wersji 2 lub jeśli nazwa FQDN skonfigurowana w puli zaplecza nie może zostać rozpoznana jako adres IP. Aby dowiedzieć się więcej, odwiedź stronę — https://aka.ms/UnknownBackendHealth.

Ten błąd można zignorować i zostanie wyjaśniony w przyszłej wersji.

Następne kroki