Condividi tramite


Configurare Frontdoor Standard/Premium davanti a Azure API Management

SI APPLICA A: Tutti i livelli di Gestione API

Azure Front Door è una moderna piattaforma di rete per la distribuzione di applicazioni che fornisce una rete per la distribuzione di contenuti sicura e scalabile (CDN), l'accelerazione del sito dinamico e il bilanciamento del carico HTTP globale per le applicazioni Web globali. Quando utilizzato con API Management, Frontdoor può fornire offload TLS, TLS end-to-end, bilanciamento del carico, memorizzazione nella cache delle risposte alle richieste GET e un web application firewall, oltre ad altre funzionalità. Per un elenco completo delle funzionalità supportate, vedere Che è Azure Front Door?

Nota

Per i carichi di lavoro Web, è consigliabile usare Azure protezione DDoS e un web application firewall per proteggersi dagli attacchi DDoS emergenti. Un'altra opzione consiste nell'usare Azure Front Door insieme a un web application firewall. Azure Front Door offre protezione piattaforma contro gli attacchi DDoS a livello di rete. Per altre informazioni, vedere security baseline for Azure services.

Questo articolo illustra come:

  • Configurare un profilo Azure Front Door Standard/Premium davanti a un'istanza di Azure API Management accessibile pubblicamente: un'istanza non collegata a una rete, oppure un'istanza Developer o Premium iniettata in una rete virtuale in modalità external.
  • Limitare Gestione API per accettare il traffico API solo da Azure Front Door.

Suggerimento

È anche possibile configurare Azure Front Door Premium per instradare il traffico a un gateway di Gestione API usando un endpoint private.

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 Azure Front Door

Creare il profilo

Per la procedura per creare un profilo Azure Front Door Standard/Premium, vedere Quickstart: Creare un profilo di Azure Front Door - portale 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 del gateway dell'istanza di API Management 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 nella cache il contenuto statico
Comportamento di memorizzazione nella cache delle stringhe di query Selezionare Usa stringa di query

Screenshot della creazione di un profilo Front Door nel portale.

Aggiornare il gruppo di origine predefinito

Dopo aver creato il profilo, aggiornare il gruppo di origine predefinito che includa una sonda di integrità dell'API Management.

  1. Nel portale, vai al profilo di Front Door.

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

  3. Nella finestra Aggiorna gruppo di origine configurare le impostazioni del probe di integrità seguenti e selezionare Aggiorna:

    Impostazione Valore
    Stato Selezionare Abilita le sonde 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, vai al profilo di Front Door.
  2. Nel menu a sinistra, in Impostazioni selezionare Gruppi di origine.
  3. Espandere default-origin-group.
  4. Nel menu di scelta rapida (...) di default-routeselezionare Configura route.
  5. Impostare Protocolli accettati su HTTP e HTTPS.
  6. Abilitare Reindirizza tutto il traffico per l'uso di HTTPS.
  7. Impostare Il protocollo di inoltrosolo su HTTPS e quindi selezionare Aggiorna.

Testare la configurazione

Testare la configurazione del profilo Front Door chiamando un'API ospitata da API Management, ad esempio l'API Swagger Petstore. 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 di 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:

Screenshot che mostra la chiamata diretta dell'endpoint di Gestione API tramite un client HTTP.

Chiamare un'API direttamente tramite Frontdoor

Chiama la stessa operazione API usando l'endpoint Front Door configurato per la tua istanza. Il nome host dell'endpoint nel azurefd.net dominio viene visualizzato nel portale nella pagina Panoramica del Profilo Front Door. 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 Azure Front Door. È possibile eseguire 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 filtro ip in ingresso in Gestione API per consentire solo il traffico correlato a Frontdoor, che include:

  • Spazio indirizzi IP back-end di Front Door - Consenti indirizzi IP corrispondenti alla sezione AzureFrontDoor.Backend in Intervalli IP e tag di 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 di infrastruttura 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 Front Door, visualizzato nel portale nella pagina Panoramica del profilo Front Door.

Nell'esempio di criterio seguente, l'ID Front Door viene specificato usando un valore denominatoFrontDoorId.

<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 gestito è già coperto da un CDN gestito da Azure, è possibile sfruttare le funzionalità di Front Door, 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 un endpoint con Front Door manager.

  • 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 Azure Front Door.

Nota

Se è stato configurato un provider di identità Microsoft Entra ID o Microsoft Entra External ID 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 di Frontdoor.