Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le organizzazioni adottano sempre più approcci di progettazione API-first, affrontando minacce crescenti per le applicazioni Web. È necessaria una strategia di sicurezza completa per proteggere le API, soprattutto quando si espongono API basate sull'intelligenza artificiale e si implementano principi di architettura zero trust. Il modello di routing del gateway offre un approccio alla sicurezza api proteggendo il traffico di rete. Il gateway limita le posizioni di origine del traffico e la qualità del traffico, supportando regole di routing flessibili. Questo articolo descrive come usare app Azure lication Gateway e Azure Gestione API per proteggere l'accesso alle API.
Architecture
Questo articolo non illustra le piattaforme sottostanti dell'applicazione, ad esempio Ambiente del servizio app, Istanza gestita di SQL di Azure e servizio Azure Kubernetes. Queste parti del diagramma illustrano ciò che è possibile implementare come soluzione più ampia. Questo articolo illustra in modo specifico le aree ombreggiate, Gestione API e gateway applicazione.
Scaricare un file di Visio di questa architettura.
Workflow
Il gateway applicazione riceve richieste HTTPS consentite dal gruppo di sicurezza di rete (NSG) della subnet.
Web application firewall (WAF) nel gateway applicazione controlla la richiesta rispetto alle regole WAF, incluse le regole personalizzate per la corrispondenza geografica. Se la richiesta è valida, la richiesta procede.
Il gateway applicazione configura un meccanismo proxy URL che invia la richiesta al pool back-end appropriato. Il comportamento di routing dipende dal formato URL della chiamata API:
Gli URL formattati come
api.<some-domain>/external/*possono raggiungere il back-end per interagire con le API richieste.Chiamate formattate come
api.<some-domain>/*vai a un dead-end, denominato sinkpool, che è un pool back-end senza destinazione.Una regola di routing a livello di gateway applicazione reindirizza gli utenti nel
portal.<some-domain>/*portale per sviluppatori. Gli sviluppatori possono gestire LE API e le relative configurazioni da ambienti interni ed esterni. In alternativa, è possibile bloccare completamente il portale per sviluppatori.
Il gateway applicazione accetta e proxy le chiamate interne dalle risorse nella stessa rete virtuale di Azure in
api.<some-domain>/internal/*.A livello di Gestione API, le API accettano chiamate nei modelli seguenti:
api.<some-domain>/external/*api.<some-domain>/internal/*
In questo scenario Gestione API usa indirizzi IP pubblici e privati. Gli indirizzi IP pubblici supportano le operazioni di gestione sulla porta 3443 per il piano di gestione e per il traffico dell'API di runtime in configurazioni di rete virtuale esterne. Quando Gestione API invia una richiesta a un back-end pubblico con connessione Internet, viene visualizzato un indirizzo IP pubblico come origine della richiesta. Per altre informazioni, vedere Indirizzi IP di Gestione API in una rete virtuale.
Components
La rete virtuale di Azure consente a molti tipi di risorse di Azure di comunicare privatamente tra loro, internet e reti locali. In questa architettura il gateway applicazione esegue il tunneling del traffico Internet pubblico in questa rete privata.
Il gateway applicazione è un servizio di bilanciamento del carico del traffico Web che gestisce il traffico verso le applicazioni Web. Questo tipo di routing è noto come bilanciamento del carico del livello applicazione (OSI Layer 7). In questa architettura, il gateway fornisce routing e ospita un WAF per proteggersi da vettori di attacco comuni basati sul Web.
gestione API è una piattaforma ibrida di gestione multicloud per le API in tutti gli ambienti. La gestione API crea gateway API moderni e coerenti per i servizi back-end esistenti. In questa architettura Gestione API opera in modalità completamente privata per eseguire l'offload di problemi di taglio incrociato dal codice e dagli host DELL'API.
Alternatives
È possibile usare altri servizi per offrire un livello simile di protezione firewall e WAF:
Frontdoor di Azure offre protezione DDoS (Distributed Denial of Service) predefinita e bilanciamento del carico globale.
Firewall di Azure offre protezione a livello di rete e gestione centralizzata dei criteri di sicurezza.
Le soluzioni partner, ad esempio Barracuda WAF o altre soluzioni WAF, sono disponibili in Azure Marketplace.
Recommendations
Questa architettura è incentrata sull'implementazione dell'intera soluzione e sul test dell'accesso api dall'interno e dall'esterno della rete virtuale di Gestione API. Per altre informazioni sul processo di integrazione, vedere Integrare Gestione API in una rete virtuale interna usando il gateway applicazione.
Per comunicare con le risorse private nel back-end, posizionare il gateway applicazione e Gestione API nella stessa rete virtuale delle risorse o in una rete virtuale con peering.
Il modello di distribuzione interna privato consente a Gestione API di connettersi a una rete virtuale esistente, che lo rende raggiungibile dall'interno di tale contesto di rete. Per abilitare questa funzionalità, distribuire i livelli Developero Premium API Management per l'inserimento della rete virtuale classica. Per le opzioni di rete virtuale più recenti, usare i livelli Standard v2 o Premium v2 con funzionalità di integrazione o inserimento della rete virtuale.
Se i client operano in una sottoscrizione diversa o vengono gestiti con una directory ID Microsoft Entra diversa, usare Collegamento privato di Azure per il gateway applicazione per fornire connettività privata al gateway applicazione da reti virtuali client tra sottoscrizioni e aree.
Gestire i certificati del gateway applicazione in Azure Key Vault.
Per personalizzare le interazioni con i servizi, è possibile usare le voci nome canonico (CNAME).
Considerations
Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che è possibile usare per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Well-Architected Framework.
Reliability
L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni assunti dai clienti. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'affidabilità.
Il gateway applicazione viene sempre distribuito in una configurazione a disponibilità elevata, indipendentemente dal numero di istanze. Per ridurre l'impatto di un malfunzionamento della zona, è possibile configurare il gateway applicazione per estendersi su più zone di disponibilità. Per altre informazioni, vedere Scalabilità automatica e disponibilità elevata.
Abilitare la ridondanza della zona per i componenti del servizio Gestione API per garantire resilienza e disponibilità elevata. La ridondanza della zona replica il gateway di Gestione API e il piano di controllo tra data center in zone fisicamente separate. Questa configurazione li rende resilienti agli errori della zona. Per supportare le zone di disponibilità, è necessario usare il livello Premium di Gestione API.
Gestione API supporta anche distribuzioni con più aree, che possono migliorare la disponibilità se un'area passa offline. Per altre informazioni, vedere Supporto per più aree. In questa topologia distribuire un gateway applicazione per ogni area perché il gateway applicazione è un servizio a livello di area.
Security
La sicurezza offre garanzie contro attacchi intenzionali e l'uso improprio dei dati e dei sistemi preziosi. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per Security.
Per altre informazioni sulla sicurezza gateway applicazione, vedere Baseline di sicurezza di Azure per gateway applicazione.
Per altre informazioni sulla sicurezza Gestione API, vedere Baseline di sicurezza di Azure per Gestione API.
Implementare sempre le misure di sicurezza seguenti:
Usare i criteri di Web application firewall di Azure con la versione più recente di Open Web Application Security Project (OWASP) Core Rule Set (CRS) 3.2 o versione successiva per proteggersi da vulnerabilità Web comuni, tra cui le prime 10 minacce OWASP.
Configurare regole personalizzate di corrispondenza geografica WAF per bloccare o consentire il traffico in base alla posizione geografica. Questo approccio offre una certa protezione dagli attacchi DDoS.
Abilitare la protezione DDoS dell'applicazione (livello 7) usando Web application firewall di Azure con il gateway applicazione per proteggersi da attacchi basati su protocollo e volumetrici. Combinare protezione DDoS di Azure con procedure di progettazione delle applicazioni per migliorare le funzionalità di mitigazione DDoS.
Usare endpoint privati per Gestione API per fornire connettività in ingresso sicura.
Abilitare Microsoft Defender per le API per monitorare il comportamento di sicurezza delle API e rilevare le minacce.
Configurare le regole di protezione del bot WAF per identificare e bloccare i bot dannosi.
Ottimizzazione dei costi
L'ottimizzazione dei costi è incentrata sui modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.
Il costo di questa architettura dipende da diversi aspetti di configurazione:
Livelli di servizio: Prendere in considerazione i livelli Standard v2 e Premium v2 per Gestione API per migliorare l'efficienza e le prestazioni dei costi.
Scalabilità: I servizi allocano dinamicamente il numero di istanze per supportare una determinata domanda.
Durata runtime: I costi variano a seconda che l'architettura venga eseguita in modo continuo o solo poche ore ogni mese.
Trasferimento dei dati: Le distribuzioni di più aree comportano costi di trasferimento tra aree.
Elaborazione WAF: I costi dipendono dal numero di richieste e regole valutate.
Considerare le strategie di ottimizzazione dei costi seguenti:
Usare il livello di consumo di Gestione API per carichi di lavoro a basso utilizzo e variabili in cui si paga solo per l'utilizzo effettivo.
Implementare la scalabilità automatica del gateway applicazione per ottimizzare i conteggi delle istanze in base alla richiesta.
Dopo aver valutato questi aspetti, usare il calcolatore prezzi di Azure per stimare i prezzi.
Eccellenza operativa
L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e lo mantengono in esecuzione nell'ambiente di produzione. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'eccellenza operativa.
Implementare il monitoraggio e l'osservabilità completi:
Configurare la diagnostica di Gestione API per inviare i log a Monitoraggio di Azure in modo da poter usare Log Analytics per l'analisi dettagliata delle API.
Configurare la diagnostica del gateway applicazione per monitorare gli eventi WAF e le metriche delle prestazioni.
Implementare avvisi di Gestione API per le soglie di disponibilità e prestazioni dell'API.
Efficienza delle prestazioni
L'efficienza delle prestazioni si riferisce alla capacità del carico di lavoro di ridimensionarsi per soddisfare in modo efficiente le esigenze degli utenti. Per altre informazioni, vedere Elenco di controllo per l'efficienza delle prestazioni.
Il gateway applicazione funge da punto di ingresso per questa architettura e la funzionalità web application firewall di Azure richiede potenza di elaborazione per ogni analisi delle richieste. Per consentire al gateway applicazione di espandere la capacità di calcolo su richiesta, abilitare la scalabilità automatica. Per altre informazioni, vedere Scalabilità automatica e ridondanza della zona nel gateway applicazione. Seguire le indicazioni della documentazione del prodotto per la configurazione dell'infrastruttura del gateway applicazione, incluso il dimensionamento corretto della subnet. Questo approccio garantisce che la subnet sia sufficientemente grande da supportare la scalabilità orizzontale completa.
Considerare le ottimizzazioni delle prestazioni seguenti per Gestione API:
Abilitare la scalabilità automatica di Gestione API per rispondere automaticamente ai volumi di richieste crescenti.
Usare i criteri di memorizzazione nella cache di Gestione API per ridurre il carico back-end e migliorare i tempi di risposta.
Implementare la limitazione della frequenza di Gestione API per proteggere i servizi back-end da un carico eccessivo.
Usare i livelli Standard v2 o Premium v2 per migliorare le prestazioni e le funzionalità di rete.
Passaggi successivi
Per progettare API, seguire le linee guida per la progettazione di API Web valide. Per implementare le API, usare procedure consigliate per l'implementazione dell'API Web .
" output is necessary.)
- Modello di routing del gateway: instradare le richieste a più servizi usando un singolo endpoint.
- Modello di aggregazione del gateway: aggregare più richieste in una singola richiesta.
- Modello di offload del gateway: offload delle funzionalità condivise in un gateway API.
- Panoramica del routing basato sul percorso URL
- Esercitazione: Creare un gateway applicazione con reindirizzamento basato sul percorso URL usando l'interfaccia della riga di comando di Azure