Dela via


Skydda API:er med hjälp av Application Gateway och API Management

Azure API Management
Azure Application Gateway

Organisationer använder i allt högre grad API-designmetoder samtidigt som de utsätts för växande hot mot webbprogram. Du behöver en omfattande säkerhetsstrategi för att skydda API:er, särskilt när du exponerar AI-baserade API:er och implementerar zero trust-arkitekturprinciper. Mönstret Gateway-routning ger en metod för API-säkerhet genom att skydda nätverkstrafiken. Gatewayen begränsar trafikkällans platser och trafikkvalitet och stöder flexibla routningsregler. Den här artikeln beskriver hur du använder Azure Application Gateway och Azure API Management för att skydda API-åtkomst.

Architecture

Den här artikeln behandlar inte programmets underliggande plattformar, till exempel App Service Environment, Azure SQL Managed Instance och Azure Kubernetes Service (AKS). Dessa delar av diagrammet visar vad du kan implementera som en bredare lösning. Den här artikeln beskriver specifikt de skuggade områdena, API Management och Application Gateway.

Diagram som visar hur Application Gateway och API Management skyddar API:er.

Ladda ned en Visio-fil med den här arkitekturen.

Workflow

  1. Application Gateway tar emot HTTPS-begäranden som undernätets nätverkssäkerhetsgrupp (NSG) tillåter.

  2. Brandväggen för webbprogram (WAF) på Application Gateway kontrollerar begäran mot WAF-regler, inklusive anpassade geomatchningsregler. Om begäran är giltig fortsätter begäran.

  3. Application Gateway konfigurerar en URL-proxymekanism som skickar begäran till rätt serverdelspool. Routningsbeteendet beror på URL-formatet för API-anropet:

    • URL:er formaterade som api.<some-domain>/external/* kan nå serverdelen för att interagera med de begärda API:erna.

    • Anrop som är formaterade som api.<some-domain>/* går till en återvändsgränd, kallas för en sinkpool, som är en serverdelspool utan mål.

    • En routningsregel på Application Gateway-nivå omdirigerar användare under portal.<some-domain>/* till utvecklarportalen. Utvecklare kan hantera API:er och deras konfigurationer från både interna och externa miljöer. Du kan också blockera utvecklarportalen helt.

  4. Application Gateway accepterar och proxyservrar interna anrop från resurser i samma virtuella Azure-nätverk under api.<some-domain>/internal/*.

  5. På API Management-nivå accepterar API:er anrop under följande mönster:

    • api.<some-domain>/external/*
    • api.<some-domain>/internal/*

    I det här scenariot använder API Management offentliga och privata IP-adresser. Offentliga IP-adresser stöder hanteringsåtgärder på port 3443 för hanteringsplanet och för körnings-API-trafik i externa virtuella nätverkskonfigurationer. När API Management skickar en begäran till en offentlig Internetuppkopplad serverdel visas en offentlig IP-adress som ursprung för begäran. Mer information finns i IP-adresser för API Management i ett virtuellt nätverk.

Components

  • Med Azure Virtual Network kan många typer av Azure-resurser kommunicera privat med varandra, Internet och lokala nätverk. I den här arkitekturen tunnlar Application Gateway offentlig Internettrafik till det här privata nätverket.

  • Application Gateway är en lastbalanserare för webbtrafik som hanterar trafik till webbprogram. Den här typen av routning kallas belastningsutjämning för programskikt (OSI Layer 7). I den här arkitekturen tillhandahåller gatewayen routning och är värd för en WAF för att skydda mot vanliga webbaserade attackvektorer.

  • API Management är en hybridplattform för hantering av flera moln för API:er i alla miljöer. API Management skapar konsekventa, moderna API-gatewayer för befintliga serverdelstjänster. I den här arkitekturen fungerar API Management i ett helt privat läge för att avlasta övergripande problem från API-koden och värdarna.

Alternatives

Du kan använda andra tjänster för att leverera en liknande nivå av brandvägg och WAF-skydd:

  • Azure Front Door tillhandahåller inbyggt DDoS-skydd (Distributed Denial-of-Service) och global belastningsutjämning.

  • Azure Firewall tillhandahåller skydd på nätverksnivå och centraliserad hantering av säkerhetsprinciper.

  • Partnerlösningar som Barracuda WAF eller andra WAF-lösningar är tillgängliga på Azure Marketplace.

Recommendations

Den här arkitekturen fokuserar på att implementera hela lösningen och testa API-åtkomst inifrån och utanför det virtuella API Management-nätverket. Mer information om integreringsprocessen finns i Integrera API Management i ett internt virtuellt nätverk med hjälp av Application Gateway.

Om du vill kommunicera med privata resurser i serverdelen placerar du Application Gateway och API Management i samma virtuella nätverk som resurserna eller i ett peer-kopplat virtuellt nätverk.

  • Med den privata, interna distributionsmodellen kan API Management ansluta till ett befintligt virtuellt nätverk, vilket gör att det kan nås inifrån nätverkskontexten. Om du vill aktivera den här funktionen distribuerar du antingen nivåerna Developer eller Premium API Management för klassisk virtuell nätverksinmatning. För nyare alternativ för virtuella nätverk använder du nivåerna Standard v2 eller Premium v2 med integrerings- eller inmatningsfunktioner för virtuella nätverk.

  • Om dina klienter arbetar i en annan prenumeration eller hanteras med en annan Microsoft Entra-ID-katalog använder du Azure Private Link för Application Gateway för att tillhandahålla privat anslutning till Application Gateway från virtuella klientnätverk mellan prenumerationer och regioner.

  • Hantera Application Gateway-certifikat i Azure Key Vault.

  • Om du vill anpassa interaktioner med tjänsterna kan du använda poster med kanoniskt namn (CNAME).

Considerations

Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som du kan använda för att förbättra kvaliteten på en arbetsbelastning. Mer information finns iWell-Architected Framework.

Reliability

Tillförlitlighet hjälper till att säkerställa att ditt program kan uppfylla de åtaganden som du gör gentemot dina kunder. Mer information finns i checklistan för Designgranskning för tillförlitlighet.

Application Gateway distribueras alltid i en konfiguration med hög tillgänglighet, oavsett antalet instanser. Om du vill minska effekten av ett zonfel kan du konfigurera programgatewayen så att den omfattar flera tillgänglighetszoner. Mer information finns i Autoskalning och hög tillgänglighet.

Aktivera zonredundans för dina API Management-tjänstkomponenter för att ge återhämtning och hög tillgänglighet. Zonredundans replikerar API Management-gatewayen och kontrollplanet mellan datacenter i fysiskt avgränsade zoner. Den här konfigurationen gör dem motståndskraftiga mot zonfel. Du måste använda API Management Premium-nivån för att stödja tillgänglighetszoner.

API Management stöder även distributioner i flera regioner, vilket kan förbättra tillgängligheten om en region kopplas från. Mer information finns i Stöd för flera regioner. I den här topologin distribuerar du en programgateway för varje region eftersom Application Gateway är en regional tjänst.

Security

Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i checklistan för Designgranskning för Security.

Mer information om Application Gateway-säkerhet finns i Azure-säkerhetsbaslinje för Application Gateway.

Mer information om API Management-säkerhet finns i Azure-säkerhetsbaslinje för API Management.

Implementera alltid följande säkerhetsåtgärder:

Kostnadsoptimering

Kostnadsoptimering fokuserar på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i checklistan Designgranskning för kostnadsoptimering.

Kostnaden för den här arkitekturen beror på flera konfigurationsaspekter:

  • Tjänstnivåer: Överväg nivåerna Standard v2 och Premium v2 för API Management för att förbättra kostnadseffektivitet och prestanda.

  • Skalbarhet: Tjänster allokerar dynamiskt antalet instanser för att stödja en viss efterfrågan.

  • Körningstid: Kostnaderna varierar beroende på om arkitekturen körs kontinuerligt eller bara några timmar varje månad.

  • Dataöverföring: Distributioner i flera regioner medför överföringskostnader mellan regioner.

  • WAF-bearbetning: Kostnaderna beror på antalet begäranden och regler som utvärderas.

Överväg följande strategier för kostnadsoptimering:

När du har utvärderat dessa aspekter använder du Priskalkylatorn för Azure för att uppskatta prissättningen.

Operativ skicklighet

Operational Excellence omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Checklista för designgranskning för Operational Excellence.

Implementera omfattande övervakning och observerbarhet:

Prestandaeffektivitet

Prestandaeffektivitet syftar på arbetsbelastningens förmåga att skala för att effektivt uppfylla användarnas krav. Mer information finns i checklistan för Designgranskning för prestandaeffektivitet.

Application Gateway fungerar som startpunkt för den här arkitekturen, och Azure Web Application Firewall-funktionen kräver bearbetningskraft för varje begärandeanalys. Om du vill tillåta att Application Gateway utökar sin beräkningskapacitet på begäran aktiverar du automatisk skalning. Mer information finns i Autoskalning och zonredundans i Application Gateway. Följ produktdokumentationens rekommendationer för Konfiguration av Application Gateway-infrastruktur, inklusive korrekt storlek på undernät. Den här metoden säkerställer att undernätet är tillräckligt stort för att stödja fullständig utskalning.

Överväg följande prestandaoptimeringar för API Management:

Nästa steg

Om du vill utforma API:er följer du riktlinjerna för webb-API:ets design . Om du vill implementera API:er använder du bra implementeringsmetoder för webb-API .