Distribuzione del gateway applicazione privato

Introduction

In passato, gli SKU v2 del gateway applicazione e, in un certo modo i v1, hanno richiesto indirizzi IP pubblici per abilitare la gestione del servizio. Questo requisito ha imposto diverse limitazioni nell'uso di controlli granulari nei gruppi di sicurezza di rete e nelle tabelle di route. In particolare, sono state osservate le sfide seguenti:

  • Tutte le distribuzioni di gateway applicazione v2 devono contenere la configurazione IP front-end pubblico per abilitare la comunicazione con il tag del servizio Gateway Manager.
  • Le associazioni del gruppo di sicurezza di rete richiedono regole per consentire l'accesso in ingresso da GatewayManager e l'accesso in uscita a Internet.
  • Quando si introduce una route predefinita (0.0.0.0/0) per inoltrare il traffico in qualsiasi punto diverso da Internet, metriche, monitoraggio e aggiornamenti del gateway, si verifica un errore.

Il gateway applicazione v2 può ora risolvere ognuno di questi elementi per eliminare ulteriormente il rischio di esfiltrazione dei dati e controllare la privacy della comunicazione dall'interno della rete virtuale. Queste modifiche includono le funzionalità seguenti:

  • Configurazione IP frontend privata
    • Nessuna risorsa indirizzo IP pubblico necessaria
  • Eliminazione del traffico in ingresso dal tag del servizio GatewayManager tramite il gruppo di sicurezza di rete
  • Possibilità di definire una regola Nega tutto per il gruppo di sicurezza di rete in uscita (NSG) per limitare il traffico in uscita verso Internet
  • Possibilità di eseguire l'override della route predefinita a Internet (0.0.0.0/0)
  • Risoluzione DNS tramite resolver definiti nella rete virtuale Altre informazioni, incluse le zone DNS private di collegamento privato.

Suggerimento

Per indicazioni dettagliate sulla configurazione di DNS per il gateway applicazioni, vedere Risoluzione DNS del gateway applicazioni.

Ognuna di queste funzionalità può essere configurata in modo indipendente. Ad esempio, un indirizzo IP pubblico può essere usato per consentire il traffico in ingresso da Internet ed è possibile definire una regola Nega tutto in uscita nella configurazione del gruppo di sicurezza di rete per impedire l'esfiltrazione dei dati.

Eseguire l'onboarding nella funzionalità

Questo articolo descrive la distribuzione privata di Application Gateway per gli SKU v2 di Application Gateway. Supporta due modalità di implementazione: una configurazione IP-front privata e una configurazione combinata che utilizza sia una configurazione IP frontale pubblica che una privata. I controlli per la configurazione privata dell'IP frontend, la gestione delle regole del network security group (NSG) e la configurazione della tabella di instradamento sono generalmente disponibili e supportati in produzione.

Per utilizzare queste capacità, devi iscriverti all'esperienza utilizzando il portale Azure, PowerShell, CLI o API REST. Questo meccanismo opt-in offre anche flessibilità se si deve tornare alle funzionalità tradizionali di Application Gateway quando necessario (ad esempio, per abilitare collegamento privato).

Suggerimento

I gateway operano utilizzando le funzionalità disponibili quando vengono configurati. Se si annulla la registrazione dalla funzionalità, i gateway esistenti continuano a funzionare con le funzionalità abilitate al momento della creazione.

Registrare la funzionalità

Note

Nell'esperienza del portale di Azure il processo di registrazione delle funzionalità viene etichettato come anteprima; Tuttavia, questa esperienza è disponibile a livello generale, completamente supportata per i carichi di lavoro di produzione e coperta dai contratti di servizio del gateway applicazione pubblicati.

Utilizzare i seguenti passaggi per registrare la funzione privata di deployment del Gateway applicativo tramite il portale Azure:

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca immettere sottoscrizioni e selezionare Sottoscrizioni.

    Screenshot di una ricerca nel portale di Azure.

  3. Selezionare il collegamento per il nome della sottoscrizione.

    Screenshot della selezione dell'abbonamento di Azure.

  4. Nel menu a sinistra, in Impostazioni selezionare Funzionalità di anteprima.

    Screenshot del menu delle funzionalità di Azure.

  5. Viene visualizzato un elenco delle funzionalità disponibili e lo stato di registrazione corrente.

    Screenshot dell'elenco delle funzionalità di anteprima nel portale di Azure.

  6. In Anteprima funzionalità digitare nella casella di filtro EnableApplicationGatewayNetworkIsolation, selezionare la funzionalità e fare clic su Registra.

    Screenshot del filtro delle funzionalità di anteprima nel portale di Azure.

Note

La registrazione delle funzionalità può richiedere fino a 30 minuti per passare dalla registrazione allo stato registrato.

Annullare la registrazione della funzionalità

Per non utilizzare la funzione privata di implementazione del Gateway applicativo tramite il portale, utilizza i seguenti passaggi:

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca immettere sottoscrizioni e selezionare Sottoscrizioni.

    Screenshot di una ricerca nel portale di Azure.

  3. Selezionare il collegamento per il nome della sottoscrizione.

    Screenshot della selezione dell'abbonamento di Azure.

  4. Nel menu a sinistra, in Impostazioni selezionare Funzionalità di anteprima.

    Screenshot del menu delle funzionalità di Azure.

  5. Viene visualizzato un elenco delle funzionalità disponibili e lo stato di registrazione corrente.

    Screenshot dell'elenco di funzionalità nel portale di Azure.

  6. In Anteprima funzionalità digitare nella casella di filtro EnableApplicationGatewayNetworkIsolation, selezionare la funzionalità e fare clic su Annulla registrazione.

    Screenshot del filtro delle funzionalità nel portale di Azure.

Configurazione dei controlli di rete

Dopo aver registrato la funzione, puoi configurare NSG, tabella di instradamento e configurazione IP frontend privata per una distribuzione privata di Application Gateway utilizzando qualsiasi metodo. Ad esempio, usa REST API, ARM Template, Bicep deployment, Terraform, PowerShell, CLI o il portale Azure.

Note

Se la tua applicazione client si collega a Application Gateway usando un indirizzo IP privato, richiede un timeout inattivo superiore a quattro minuti e non può avviare TCP keepalive, invia un ticket di supporto per richiedere l'abilitazione del comportamento keepalive richiesto sull'Application Gateway.

Subnet del gateway applicazione

La subnet di Application Gateway è la subnet all'interno della rete virtuale in cui si distribuiscono le risorse di Application Gateway. In una distribuzione privata di Application Gateway che utilizza una configurazione IP-frontend privata esclusiva, questa subnet deve raggiungere privatamente le risorse che vogliono connettersi all'app o al sito esposto.

Note

A partire dal 5 maggio 2025, le distribuzioni nuove ed esistenti del gateway applicazione privata richiedono la delega della subnet a Microsoft.Network/applicationGateways. Seguire questi passaggi per configurare la delega del subnet.

Connettività Internet in uscita

In una distribuzione privata di Application Gateway, le implementazioni Application Gateway v2 che utilizzano una configurazione di frontend IP privato (non hanno una configurazione di frontend IP pubblico associata a una regola di instradamento delle richieste) non possono far uscire il traffico diretto a Internet. Questa configurazione influisce sulla comunicazione con le destinazioni back-end accessibili pubblicamente tramite Internet.

Per abilitare la connettività in uscita dal gateway applicazione a una destinazione back-end con connessione Internet, è possibile usare NAT di rete virtuale o inoltrare il traffico a un'appliance virtuale che ha accesso a Internet.

NAT di rete virtuale offre il controllo sull'indirizzo IP o sul prefisso da usare, nonché sul timeout di inattività configurabile. Per configurare, creare un nuovo gateway NAT con un indirizzo IP pubblico o un prefisso pubblico e associarlo alla subnet contenente il gateway applicazione.

Se per internet è necessaria un'appliance virtuale, vedere la sezione controllo tabella di route in questo documento.

Scenari comuni in cui è necessario l'utilizzo di indirizzi IP pubblici:

  • Comunicazione con l'insieme di credenziali delle chiavi senza usare endpoint privati o endpoint di servizio
    • La comunicazione in uscita non è necessaria per i file pfx caricati direttamente nel gateway applicazione
  • Comunicazione con destinazioni back-end tramite Internet
  • Comunicazione con gli endpoint CRL o OCSP con connessione Internet

Controllo del gruppo di sicurezza di rete

Questa sezione descrive il controllo del gruppo di sicurezza di rete (NSG) per la subnet Application Gateway v2 in una distribuzione privata di Application Gateway. Dopo aver registrato la funzione, i gruppi di sicurezza di rete associati a una subnet Application Gateway non richiedono più le regole in entrata per GatewayManager, né l'accesso in uscita a Internet. L'unica regola necessaria è Consentire l'ingresso da AzureLoadBalancer per garantire che i probe di integrità possano raggiungere il gateway.

La configurazione seguente è un esempio del set più restrittivo di regole in ingresso, che nega tutto il traffico tranne i probe di integrità di Azure. Oltre alle regole definite, vengono definite delle regole esplicite per consentire al traffico client di raggiungere il listener del gateway.

Screenshot delle regole del gruppo di sicurezza in ingresso.

Note

Il gateway applicazione visualizzerà un avviso che chiede di assicurarsi che l'opzione Consenti LoadBalanceRule sia specificata se una regola DenyAll limita inavvertitamente l'accesso ai probe di integrità.

Scenario di esempio

Questo esempio illustra la creazione di un gruppo di sicurezza di rete usando il portale di Azure con le regole seguenti:

  • Consentire il traffico in ingresso alla porta 80 e 8080 al gateway applicazione dalle richieste client provenienti da Internet
  • Negare tutto il traffico in ingresso
  • Consentire il traffico in uscita verso una destinazione back-end in un'altra rete virtuale
  • Consentire il traffico in uscita verso una destinazione back-end accessibile da Internet
  • Negare tutto il traffico in uscita

Prima di tutto, creare un gruppo di sicurezza di rete. Questo gruppo di sicurezza contiene le regole in ingresso e in uscita.

Regole in ingresso

È già stato effettuato il provisioning di tre regole in ingresso predefinite nel gruppo di sicurezza. Vedere l'esempio seguente:

Screenshot delle regole del gruppo di sicurezza predefinite.

Creare quindi le quattro nuove regole di sicurezza in ingresso seguenti:

  • Consentire la porta in ingresso 80, tcp, da Internet (qualsiasi)
  • Consentire la porta in ingresso 8080, tcp, da Internet (qualsiasi)
  • Consentire l'ingresso da AzureLoadBalancer
  • Nega eventuali connessioni in ingresso

Per creare queste regole:

  • Selezionare Regole di sicurezza in ingresso
  • Seleziona Aggiungi
  • Immettere le informazioni seguenti per ogni regola nel riquadro Aggiungi regola di sicurezza in ingresso.
  • Dopo aver immesso le informazioni, selezionare Aggiungi per creare la regola.
  • La creazione di ogni regola richiede un attimo.
Regola n. Source Tag del servizio di origine Intervalli di porte di origine Destination Service Intervalli di porte Dest Protocol Action Priority Name
1 Any * Any HTTP 80 TCP Allow 1028 AllowWeb
2 Any * Any Custom 8080 TCP Allow 1029 AllowWeb8080
3 Tag del servizio AzureLoadBalancer * Any Custom * Any Allow 1045 AllowLB
4 Any * Any Custom * Any Deny 4095 DenyAllInbound

Selezionare Aggiorna per esaminare tutte le regole al termine del provisioning.

Screenshot delle regole del gruppo di sicurezza in ingresso di esempio.

Regole in uscita

È già stato effettuato il provisioning di tre regole in uscita predefinite con priorità 65000, 65001 e 65500.

Creare le tre nuove regole di sicurezza in uscita seguenti:

  • Consentire TCP 443 da 10.10.4.0/24 alla destinazione back-end 203.0.113.1
  • Consenti TCP 80 dall'origine 10.10.4.0/24 alla destinazione 10.13.0.4
  • Regola per negare tutto il traffico

Queste regole vengono assegnate rispettivamente a una priorità pari a 400, 401 e 4096.

Note

  • 10.10.4.0/24 è lo spazio di indirizzi della subnet del gateway applicazione.
  • 10.13.0.4 è una macchina virtuale in una rete virtuale con peering.
  • 203.0.113.1 è una macchina virtuale di destinazione back-end.

Per creare queste regole:

  • Selezionare regole di sicurezza in uscita
  • Seleziona Aggiungi
  • Immettere le informazioni seguenti per ogni regola nel riquadro Aggiungi regola di sicurezza in uscita.
  • Dopo aver immesso le informazioni, selezionare Aggiungi per creare la regola.
  • La creazione di ogni regola richiede un attimo.
Regola n. Source Indirizzi IP/intervalli CIDR di origine Intervalli di porte di origine Destination Intervalli di CIDR/indirizzi IP di destinazione Service Intervalli di porte Dest Protocol Action Priority Name
1 Indirizzi IP 10.10.4.0/24 * Indirizzi IP 203.0.113.1 HTTPS 443 TCP Allow 400 AllowToBackendTarget
2 Indirizzi IP 10.10.4.0/24 * Indirizzi IP 10.13.0.4 HTTP 80 TCP Allow 401 AllowToPeeredVnetVM
3 Any * Any Custom * Any Deny 4096 DenyAll

Selezionare Aggiorna per esaminare tutte le regole al termine del provisioning.

Screenshot delle regole di sicurezza in uscita per il gateway applicazione.

Associare un gruppo di sicurezza di rete alla subnet

L'ultimo passaggio consiste nell'associare il gruppo di sicurezza di rete alla subnet che contiene il gateway applicazione.

Screenshot del gruppo di sicurezza di rete associato alla subnet.

Result:

Screenshot delle panoramica del gruppo di sicurezza di rete.

Important

Prestare attenzione quando si definiscono le regole di DenyAll, in quanto è possibile negare inavvertitamente il traffico in ingresso dai client a cui si intende consentire l'accesso. È anche possibile che si neghi inavvertitamente il traffico in uscita alla destinazione back-end, causando l'esito negativo dell'integrità del back-end e produrre delle risposte 5XX.

Controllo tabella di route

Questa sezione descrive il controllo della tabella di instradamento (percorso definito dall'utente) per la subnet Application Gateway v2 in una distribuzione privata di Application Gateway. Per le distribuzioni di Application Gateway che non sono registrate per la funzionalità di distribuzione privata di Application Gateway, non è possibile associare una tabella di route che contenga una route 0.0.0.0/0 con un'appliance virtuale come hop successivo. Questa restrizione garantisce una corretta gestione dell'Application Gateway.

Important

Una route predefinita (0.0.0.0/0) che la subnet di Application Gateway apprende tramite BGP da una connessione ExpressRoute o VPN funge da tunneling forzato. Sostituisce la route predefinita del sistema e invia il traffico di gestione del gateway tramite il percorso locale. Poiché gateway applicazione v2 richiede un routing simmetrico per il traffico di gestione, questa route interrompe la connettività del piano di gestione e può causare errori di provisioning e InternalServerError. Per ripristinare la connettività, aggiungi una route definita dall'utente per 0.0.0.0/0 con hop successivo Internet a una tabella di route dedicata alla subnet di Application Gateway oppure interrompi l'annuncio della route predefinita alla subnet. Per una diagnosi dettagliata, vedere Risolvere i problemi relativi alla distribuzione, al ridimensionamento e agli errori di eliminazione di Application Gateway.

Dopo aver registrato la funzionalità, puoi inoltrare il traffico a un'appliance virtuale definendo una 0.0.0.0/0 route con un'appliance virtuale come hop successivo.

Scenario di esempio

Nell'esempio seguente viene creata una tabella di route e la si associa alla subnet del gateway applicazione per garantire che l'accesso a Internet in uscita dalla subnet esca da un'appliance virtuale. A livello generale, la progettazione seguente è riepilogata nella figura 1:

  • Il gateway applicazione si trova nella rete virtuale spoke
  • Nella rete hub è presente un'appliance virtuale di rete (una macchina virtuale)
  • Una tabella di route con una route predefinita (0.0.0.0/0) all'appliance virtuale è associata alla subnet del gateway applicazione

Diagramma di una tabella di route di esempio.

Figura 1: Accesso a Internet in uscita tramite appliance virtuale

Per creare una tabella di route e associarla alla subnet del gateway applicazione:

  1. Creare una tabella di route:

Screenshot della tabella di ruote appena creata.

  1. Selezionare Route e creare la regola hop successiva per 0.0.0.0/0 e configurare la destinazione come indirizzo IP della macchina virtuale:

Screenshot dell'aggiunta della route predefinita all'appliance virtuale di rete.

  1. Selezionare Subnet e associare la tabella di route alla subnet del gateway applicazione:

Screenshot dell'associazione della route alla subnet AppGW.

  1. Verificare che il traffico passi attraverso l'appliance virtuale.

Limitazioni e problemi noti

Si applicano le limitazioni seguenti:

Application Gateway non supporta la configurazione del collegamento privato per il tunneling del traffico tramite endpoint privati quando si usa una configurazione IP frontend solo privata.

Limitazione della velocità WAF

Le regole personalizzate di limitazione della velocità per WAF v2 del gateway applicazione non sono attualmente supportate.

Configurazione front-end IP privato solo con AGIC

Devi usare AGIC v1.7 per configurare una configurazione frontend IP privata.

Connettività dell'endpoint privato tramite peering reti virtuali globali

Se il gateway applicazione ha una destinazione back-end o un riferimento all'insieme di credenziali delle chiavi a un endpoint privato che si trova in una rete virtuale accessibile tramite peering di rete virtuale globale, il traffico viene eliminato, causando uno stato non integro.

Integrazione di Network Watcher

La risoluzione dei problemi di connessione e la diagnostica del gruppo di sicurezza di rete (NSG) restituiscono un errore durante l'esecuzione di test di controllo e diagnostica.

Gateway applicativi v2 coesistenti creati prima dell'abilitazione del controllo di rete avanzato

Se una subnet condivide le implementazioni Application Gateway v2 che hai creato sia prima che dopo aver attivato la funzione privata di deployment del Gateway applicativo, puoi utilizzare le funzionalità Network Security Group (NSG) e Route Table solo con la precedente distribuzione gateway. Per abilitare le funzionalità di gruppo di sicurezza di rete e tabella di instradamento, devi o rifornire i gateway applicativi creati prima di attivare la funzione oppure creare nuovi gateway in una subnet diversa.

  • Se un gateway che hai implementato prima di abilitare la funzione esiste nella subnet, potresti vedere errori come: For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet' quando aggiungi le voci della tabella di instradamento.
  • Quando si aggiungono regole del gruppo di sicurezza di rete alla subnet, è possibile che venga visualizzato: 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.

Passaggi successivi