Condividi tramite


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

Screenshot della creazione di un profilo frontdoor nel portale.

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.

  1. Nel portale passare al profilo di Frontdoor.

  2. Nel menu a sinistra in Impostazioni selezionare Gruppi di origine>default-origin-group.

  3. 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.

    Screenshot dell'aggiornamento del gruppo di origine predefinito nel portale.

Aggiornare la route predefinita

È consigliabile aggiornare la route predefinita associata al gruppo di origine di Gestione API per usare HTTPS come protocollo di inoltro.

  1. Nel portale passare al profilo di Frontdoor.
  2. Nel menu a sinistra in Impostazioni selezionare Gruppi di origine.
  3. Espandere default-origin-group.
  4. Nel menu di scelta rapida (...) di default-route selezionare Configura route.
  5. Impostare Protocolli accettati su HTTP e HTTPS.
  6. Abilitare Reindirizza tutto il traffico per usare HTTPS.
  7. 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. 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. Per testare, è possibile usare un client della riga di comando, ad esempio curl 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 azure-api.net predefinito 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:

Screenshot che mostra la chiamata diretta Gestione API endpoint tramite Postman.

Chiamare un'API direttamente tramite Frontdoor

Nell'esempio seguente viene chiamata la stessa operazione nell'API Demo Conference usando l'endpoint di 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:

Screenshot che mostra la chiamata all'endpoint frontdoor con Postman.

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:

  1. Limitare gli indirizzi IP in ingresso alle istanze di Gestione API
  2. 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