Configurare Frontdoor Standard/Premium davanti a Gestione API di Azure
SI APPLICA A: Tutti i livelli di Gestione API
Il servizio Frontdoor di Azure è una piattaforma di rete per la distribuzione di applicazioni moderna che offre una rete CDN sicura e scalabile, l'accelerazione dinamica dei siti e il bilanciamento del carico HTTP/HTTPS globale per le applicazioni Web globali. Se usato davanti a Gestione API, Frontdoor può fornire offload TLS, TLS end-to-end, bilanciamento del carico, memorizzazione nella cache delle risposte delle richieste GET e un web application firewall, tra le altre funzionalità. Per un elenco completo delle funzionalità supportate, vedere Che cos'è Frontdoor di Azure?.
Nota
Per i carichi di lavoro Web, è consigliabile usare la Protezione DDoS di Azure e un web application firewall per proteggersi dagli attacchi DDoS emergenti. Un'altra opzione consiste nell'usare Frontdoor di Azure insieme a un web application firewall. Frontdoor di Azure offre protezione a livello di piattaforma contro gli attacchi DDoS a livello di rete. Per altre informazioni, vedere la baseline di sicurezza per i servizi di Azure.
Questo articolo illustra come:
- Configurare un profilo di Frontdoor di Azure Standard/Premium davanti a un'istanza di Gestione API di Azure accessibile pubblicamente, ovvero non in rete o inserita in una rete virtuale in modalità esterna.
- Limitare Gestione API per accettare il traffico API solo da Frontdoor di Azure.
Prerequisiti
- Un'istanza di Gestione API.
- Se si sceglie di usare un'istanza inserita in rete, deve essere distribuita in una rete virtuale esterna. L'inserimento nella rete virtuale è supportato nei livelli di servizio Developer e Premium.
- Importare una o più API nell'istanza di Gestione API per confermare il routing tramite Frontdoor.
Configurare Frontdoor di Azure
Creare il profilo
Per la procedura per creare un profilo di Frontdoor di Azure Standard/Premium, vedere Avvio rapido: Creare un profilo di Frontdoor di Azure - Portale di Azure. Per questo articolo è possibile scegliere un profilo di Frontdoor Standard. Per un confronto tra Frontdoor Standard e Frontdoor Premium, vedere Confronto tra livelli.
Configurare le impostazioni di Frontdoor seguenti specifiche per l'uso dell'endpoint gateway dell'istanza di Gestione API come origine di Frontdoor. Per una spiegazione di altre impostazioni, vedere l'avvio rapido di Frontdoor.
Impostazione | Valore |
---|---|
Tipo di origine | Selezionare Gestione API |
Nome host dell'origine | Selezionare il nome host dell'istanza di Gestione API, ad esempio myapim.azure-api.net |
Memorizzazione nella cache | Selezionare Abilita memorizzazione nella cache per Frontdoor per memorizzare contenuto statico nella cache |
Comportamento di memorizzazione nella cache della stringa di query | Selezionare Usa stringa di query |
Aggiornare il gruppo di origine predefinito
Dopo aver creato il profilo, aggiornare il gruppo di origine predefinito per includere un probe di integrità di Gestione API.
Nel portale passare al profilo di Frontdoor.
Nel menu a sinistra in Impostazioni selezionare Gruppi di origine>default-origin-group.
Nella finestra Aggiorna gruppo di origine configurare le impostazioni di Probe di integrità seguenti e selezionare Aggiorna:
Impostazione Valore Stato Selezionare Abilita probe di integrità Percorso Immetti /status-0123456789abcdef
Protocollo Selezionare HTTPS Metodo Selezionare GET Intervallo (in secondi) Immettere 30.
Aggiornare la route predefinita
È consigliabile aggiornare la route predefinita associata al gruppo di origine di Gestione API per usare HTTPS come protocollo di inoltro.
- Nel portale passare al profilo di Frontdoor.
- Nel menu a sinistra in Impostazioni selezionare Gruppi di origine.
- Espandere default-origin-group.
- Nel menu di scelta rapida (...) di default-route selezionare Configura route.
- Impostare Protocolli accettati su HTTP e HTTPS.
- Abilitare Reindirizza tutto il traffico per usare HTTPS.
- Impostare Protocollo di inoltro su Solo HTTPS e quindi selezionare Aggiorna.
Testare la configurazione
Testare la configurazione del profilo di Frontdoor chiamando un'API ospitata da Gestione API, ad esempio l'API Demo Conference. Chiamare prima di tutto l'API direttamente tramite il gateway di Gestione API per assicurarsi che l'API sia raggiungibile. Chiamare quindi l'API tramite Frontdoor.
Chiamare un'API direttamente tramite Gestione API
Per chiamare un'API direttamente tramite il gateway Gestione API, è possibile usare un client della riga di comando, curl
ad esempio o un altro client HTTP. Una risposta con esito positivo restituisce una 200 OK
risposta HTTP e i dati previsti:
Chiamare un'API direttamente tramite Frontdoor
Chiamare la stessa operazione API usando l'endpoint frontdoor configurato per l'istanza. Il nome host dell'endpoint nel dominio azurefd.net
viene visualizzato nel portale nella pagina Panoramica del profilo di Frontdoor. Una risposta con esito positivo mostra 200 OK
e restituisce gli stessi dati dell'esempio precedente.
Limitare il traffico in ingresso all'istanza di Gestione API
Usare i criteri di Gestione API per assicurarsi che l'istanza di Gestione API accetti il traffico solo da Frontdoor di Azure. È possibile ottenere questa restrizione usando uno o entrambi i metodi seguenti:
- Limitare gli indirizzi IP in ingresso alle istanze di Gestione API
- Limitare il traffico in base al valore dell'intestazione
X-Azure-FDID
Limitare gli indirizzi IP in ingresso
È possibile configurare un criterio di ip-filter in ingresso in Gestione API per consentire solo il traffico correlato a Frontdoor, che include:
Spazio indirizzi IP back-end di Frontdoor: consentire gli indirizzi IP corrispondenti alla sezione AzureFrontDoor.Backend in Intervalli IP e tag del servizio di Azure.
Nota
Se l'istanza di Gestione API viene distribuita in una rete virtuale esterna, si ottiene la stessa restrizione aggiungendo una regola del gruppo di sicurezza di rete in ingresso nella subnet usata per l'istanza di Gestione API. Configurare la regola per consentire il traffico HTTPS dal tag del servizio di origine AzureFrontDoor.Backend sulla porta 443.
Servizi dell'infrastruttura di Azure: consentire gli indirizzi IP 168.63.129.16 e 169.254.169.254.
Controllare l'intestazione di Frontdoor
Le richieste instradate tramite Frontdoor includono intestazioni specifiche della configurazione di Frontdoor. È possibile configurare il criterio check-header per filtrare le richieste in ingresso in base al valore univoco dell'intestazione della richiesta HTTP X-Azure-FDID
inviata a Gestione API. Questo valore di intestazione è l'ID di Frontdoor, visualizzato nel portale nella pagina Panoramica del profilo di Frontdoor.
Nell'esempio di criterio seguente l'ID di Frontdoor viene specificato usando un valore denominato denominato FrontDoorId
.
<check-header name="X-Azure-FDID" failed-check-httpcode="403" failed-check-error-message="Invalid request." ignore-case="false">
<value>{{FrontDoorId}}</value>
</check-header>
Le richieste non accompagnate da un'intestazione X-Azure-FDID
valida restituiscono una risposta 403 Forbidden
.
(Facoltativo) Configurare Frontdoor per il portale per sviluppatori
Facoltativamente, configurare il portale per sviluppatori dell'istanza di Gestione API come endpoint nel profilo di Frontdoor. Anche se il portale per sviluppatori gestiti si trova già dietro a una rete CDN gestita di Azure, è consigliabile sfruttare le funzionalità di Frontdoor, ad esempio un web application firewall.
Di seguito sono riportati i passaggi generali per aggiungere un endpoint per il portale per sviluppatori al profilo:
Per aggiungere un endpoint e configurare una route, vedere Configurare ed endpoint con Gestione Frontdoor.
Quando si aggiunge la route, aggiungere un gruppo di origine e le impostazioni di origine per rappresentare il portale per sviluppatori:
- Tipo di origine: selezionare Personalizzata
- Nome host: immettere il nome host del portale per sviluppatori, ad esempio myapim.developer.azure-api.net
Per altre informazioni e dettagli sulle impostazioni, vedere Come configurare un'origine per Frontdoor di Azure.
Nota
Se è stato configurato un provider di identità di Microsoft Entra ID o Azure AD B2C per il portale per sviluppatori, è necessario aggiornare la registrazione dell'app corrispondente con un URL di reindirizzamento aggiuntivo per Frontdoor. Nella registrazione dell'app aggiungere l'URL per l'endpoint del portale per sviluppatori configurato nel profilo di Frontdoor.
Passaggi successivi
Per automatizzare le distribuzioni di Frontdoor con Gestione API, vedere il modello Frontdoor Standard/Premium con l'origine di Gestione API
Informazioni su come distribuire Web application firewall (WAF) in Frontdoor di Azure per proteggere l'istanza di Gestione API da attacchi dannosi.