Configurare Frontdoor Standard/Premium davanti ad Azure Gestione API
SI APPLICA A: Tutti i livelli di Gestione API
Frontdoor di Azure è una moderna piattaforma di rete per la distribuzione di applicazioni che offre una rete di distribuzione di contenuti sicura e scalabile (rete CDN), accelerazione del sito dinamico e bilanciamento del carico HTTP globale per le applicazioni Web globali. Se usato davanti a Gestione API, Frontdoor può fornire l'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 baseline di sicurezza per i servizi di Azure.
Questo articolo illustra come:
- Configurare un profilo Frontdoor di Azure Standard/Premium davanti a un'istanza di Azure Gestione API accessibile pubblicamente: non in rete o inserita in una rete virtuale in modalità esterna.
- Limitare Gestione API 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 della 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 Frontdoor di Azure Standard/Premium, vedere Avvio rapido: Creare un profilo frontdoor di Azure - portale di Azure. Per questo articolo, è possibile scegliere un profilo 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 frontdoor. Per una spiegazione di altre impostazioni, vedere la guida introduttiva 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 nella cache il contenuto statico |
Comportamento di memorizzazione nella cache delle stringhe 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à Gestione API.
Nel portale passare al profilo frontdoor.
Nel menu a sinistra, in Impostazioni selezionare Gruppi>di origine default-origin-group.
Nella finestra Aggiorna gruppo di origine configurare le impostazioni del 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 Gestione API per usare HTTPS come protocollo di inoltro.
- Nel portale passare al profilo 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 l'uso di HTTPS.
- Impostare Il protocollo di inoltro solo su HTTPS e quindi selezionare Aggiorna.
Testare la configurazione
Testare la configurazione del profilo di Frontdoor chiamando un'API ospitata da Gestione API. Prima di tutto, chiamare l'API direttamente tramite il gateway Gestione API per assicurarsi che l'API sia raggiungibile. Chiamare quindi l'API tramite Frontdoor. Per testare, è possibile usare un client della riga di comando, curl
ad esempio per le chiamate, o uno strumento come Postman.
Chiamare un'API direttamente tramite Gestione API
Nell'esempio seguente un'operazione nell'API Demo Conference ospitata dall'istanza di Gestione API viene chiamata direttamente tramite Postman. In questo esempio il nome host dell'istanza si trova nel dominio predefinito azure-api.net
e viene passata una chiave di sottoscrizione valida usando un'intestazione di richiesta. Una risposta con esito positivo mostra 200 OK
e restituisce i dati previsti:
Chiamare un'API direttamente tramite Frontdoor
Nell'esempio seguente viene chiamata la stessa operazione nell'API Demo Conference usando l'endpoint frontdoor configurato per l'istanza. Il nome host dell'endpoint nel azurefd.net
dominio viene visualizzato nel portale nella pagina Panoramica del profilo frontdoor. Una risposta con esito positivo mostra 200 OK
e restituisce gli stessi dati dell'esempio precedente:
Limitare il traffico in ingresso a Gestione API'istanza
Usare i criteri di Gestione API per assicurarsi che l'istanza di Gestione API accetti il traffico solo da Frontdoor di Azure. È possibile eseguire 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 filtro IP in ingresso in Gestione API per consentire solo il traffico correlato a Frontdoor, che include:
Spazio indirizzi IP back-end di Frontdoor: consente gli indirizzi IP corrispondenti alla sezione AzureFrontDoor.Backend in Intervalli IP di Azure e tag di servizio.
Nota
Se l'istanza di Gestione API viene distribuita in una rete virtuale esterna, eseguire 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 di infrastruttura di Azure: consente indirizzi IP 168.63.129.16 e 169.254.169.254.
Controllare l'intestazione frontdoor
Le richieste instradate tramite Frontdoor includono intestazioni specifiche della configurazione di Frontdoor. È possibile configurare i criteri di intestazione check per filtrare le richieste in ingresso in base al valore univoco dell'intestazione X-Azure-FDID
della richiesta HTTP inviata a Gestione API. Questo valore di intestazione è l'ID frontdoor, visualizzato nel portale nella pagina Panoramica del profilo Frontdoor.
Nell'esempio di criterio seguente, l'ID frontdoor viene specificato usando un valore 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 valida X-Azure-FDID
restituiscono una 403 Forbidden
risposta.
(Facoltativo) Configurare Frontdoor per il portale per sviluppatori
Facoltativamente, configurare il portale per sviluppatori dell'istanza di Gestione API come endpoint nel profilo frontdoor. Anche se il portale per sviluppatori gestiti è già anteriore a un rete CDN gestito da Azure, è possibile sfruttare le funzionalità di Frontdoor, ad esempio un WAF.
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 personalizzato
- Nome host: immettere il nome host del portale per sviluppatori, ad esempio myapim.developer.azure-api.net
Per altre informazioni e informazioni dettagliate sulle impostazioni, vedere Come configurare un'origine per Frontdoor di Azure.
Nota
Se è stato configurato un ID Microsoft Entra o un provider di identità di Azure AD B2C per il portale per sviluppatori, è necessario aggiornare la registrazione dell'app corrispondente con un URL di reindirizzamento aggiuntivo a Frontdoor. Nella registrazione dell'app aggiungere l'URL per l'endpoint del portale per sviluppatori configurato nel profilo frontdoor.
Passaggi successivi
Per automatizzare le distribuzioni di Frontdoor con Gestione API, vedere il modello Frontdoor Standard/Premium con Gestione API origin
Informazioni su come distribuire Web Application Firewall (WAF) in Frontdoor di Azure per proteggere l'istanza di Gestione API da attacchi dannosi.