Ochrana rozhraní API pomocí služby Application Gateway a služby API Management

Azure API Management
Azure Application Gateway

Díky většímu počtu úloh, které při návrhu přistupují k rozhraní API jako prvnímu a rostoucímu počtu a závažnosti hrozeb webovým aplikacím přes internet, je důležité mít strategii zabezpečení pro ochranu rozhraní API. Jedním z kroků směrem k zabezpečení rozhraní API je ochrana síťového provozu pomocí vzoru směrování brány. Bránu použijete k omezení umístění zdroje provozu a kvality provozu kromě podpory flexibilních pravidel směrování. Tento článek popisuje, jak používat Aplikace Azure Gateway a Azure API Management k ochraně přístupu k rozhraní API.

Architektura

Tento článek se nezabývá základními službami aplikace, jako jsou App Service Environment, Azure SQL Managed Instance a Azure Kubernetes Services. Tyto části diagramu představují pouze to, co můžete dělat jako širší řešení. Tento článek se konkrétně věnuje stínovaným oblastem, službě API Management a službě Application Gateway.

Diagram showing how Application Gateway and API Management protect APIs.

Stáhněte si soubor aplikace Visio s touto architekturou.

Workflow

  • Application Gateway přijímá požadavky HTTP, které povolila skupina zabezpečení sítě (NSG) své podsítě.

  • Firewall webových aplikací (WAF) ve službě Application Gateway pak zkontroluje požadavek na pravidla WAF, včetně filtrování Geomatch. Pokud je žádost platná, žádost pokračuje.

  • Application Gateway nastaví mechanismus proxy adresy URL, který odešle požadavek do správného back-endového fondu. Například v závislosti na formátu adresy URL volání rozhraní API:

    • Adresy URL formátované jako api.<some-domain>/external/* se můžou spojit s back-endem a komunikovat s požadovanými rozhraními API.

    • Volání formátovaná jako api.<some-domain>/* přechod na koncový konec (fond jímek), což je back-endový fond bez cíle.

  • Application Gateway také přijímá interní volání a proxy servery, které pocházejí z prostředků ve stejné virtuální síti Azure v části api.<some-domain>/internal/*.

  • Na úrovni služby API Management jsou rozhraní API nastavená tak, aby přijímala volání v následujících vzorech:

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

    V tomto scénáři používá služba API Management dva typy IP adres, veřejné a privátní. Veřejné IP adresy jsou určené pro interní komunikaci na portu 3443 a pro provoz rozhraní API modulu runtime v konfiguraci externí virtuální sítě. Když služba API Management odešle požadavek na veřejný back-end směřující k internetu, zobrazí jako původ požadavku veřejnou IP adresu. Další informace najdete v tématu IP adresy služby API Management ve virtuální síti.

  • Pravidlo směrování na úrovni služby Application Gateway správně přesměruje uživatele portal.<some-domain>/* na portál pro vývojáře, aby vývojáři mohli spravovat rozhraní API a jejich konfigurace z interních i externích prostředí.

Komponenty

  • Azure Virtual Network umožňuje mnoha typům prostředků Azure soukromě komunikovat mezi sebou, internetem a místními sítěmi.

  • Aplikace Azure Gateway je nástroj pro vyrovnávání zatížení webového provozu, který spravuje provoz do webových aplikací. Tento typ směrování se označuje jako vyrovnávání zatížení aplikační vrstvy (vrstva OSI 7). Hostuje firewall webových aplikací (WAF), který chrání před běžnými webovými vektory útoku.

  • Azure API Management je hybridní multicloudová platforma pro správu pro rozhraní API ve všech prostředích. Služba API Management vytváří konzistentní moderní brány rozhraní API pro stávající back-endové služby.

Doporučení

Toto řešení se zaměřuje na implementaci celého řešení a testování přístupu k rozhraní API z virtuální sítě API Management i mimo tuto virtuální síť. Další informace o procesu integrace virtuální sítě SLUŽBY API Management najdete v tématu Integrace služby API Management do interní virtuální sítě se službou Application Gateway.

Aby služba Application Gateway a API Management komunikovaly s privátními prostředky v back-endu, musí být ve stejné virtuální síti jako prostředky nebo v partnerské virtuální síti.

  • Privátní interní model nasazení umožňuje službě API Management připojit se k existující virtuální síti, aby bylo dostupné z vnitřního kontextu sítě. Pokud chcete tuto funkci povolit, nasaďte úrovně Developer nebo Premium API Management.

  • Správa certifikátů a hesel ve službě Azure Key Vault

  • K přizpůsobení interakcí se službami můžete použít položky CNAME.

Alternativy

Další služby můžete použít k poskytování podobné úrovně ochrany firewallu a firewallu webových aplikací (WAF):

Důležité informace

Spolehlivost

Aplikace Azure Gateway se vždy nasazuje vysoce dostupným způsobem bez ohledu na počet instancí. Abyste se vyhnuli dopadu poruchy zóny, můžete službu Application Gateway nakonfigurovat tak, aby přesahuje více Zóny dostupnosti. Další informace najdete v tématu Automatické škálování a vysoká dostupnost.

Povolte zónovou redundanci pro komponenty služby API Management, abyste zajistili odolnost a vysokou dostupnost. Redundance zón replikuje bránu služby API Management a rovinu řízení napříč datacentry v fyzicky oddělených zónách, což je odolné vůči selhání zóny. K podpoře zón dostupnosti se vyžaduje úroveň API Management Premium.

API Management také podporuje nasazení ve více oblastech, což může zlepšit dostupnost v případě, že jedna oblast přejde do režimu offline. Další informace najdete v tématu Nasazení ve více oblastech. V této topologii je důležité mít také jednu službu Application Gateway pro každou oblast, protože Application Gateway je regionální služba.

Zabezpečení

Další informace o zabezpečení služby Application Gateway najdete v tématu Standardní hodnoty zabezpečení služby Application Gateway v Azure.

Další informace o zabezpečení služby API Management najdete v tématu Standardní hodnoty zabezpečení azure pro službu API Management.

Azure DDoS Protection v kombinaci s osvědčenými postupy návrhu aplikací poskytuje vylepšené funkce pro zmírnění rizik DDoS, které poskytují větší ochranu před útoky DDoS. Službu Azure DDOS Protection byste měli povolit v jakékoli hraniční virtuální síti.

Optimalizace nákladů

Náklady na tuto architekturu závisí na aspektech konfigurace, jako jsou:

  • Úrovně služby
  • Škálovatelnost, což znamená, že počet instancí dynamicky přidělovaných službami pro podporu dané poptávky
  • Bez ohledu na to, jestli se tato architektura bude spouštět nepřetržitě, nebo jen pár hodin měsíčně

Po posouzení těchto aspektů přejděte na cenovou kalkulačku Azure a odhadněte ceny.

Efektivita výkonu

Application Gateway je vstupním bodem pro tuto architekturu a funkce WAF vyžaduje pro každou analýzu požadavků další výpočetní výkon. Aby služba Application Gateway mohla na místě rozšířit výpočetní kapacitu, je důležité povolit automatické škálování. Další informace naleznete v tématu Určení automatického škálování. Postupujte podle doporučení produktové dokumentace k velikosti podsítě pro Službu Application Gateway. Tím zajistíte, že podsíť je dostatečně velká, aby podporovala úplné škálování na více instancí.

Pokud chcete podporovat vysoce souběžné scénáře, zapněte automatické škálování služby API Management. Automatické škálování rozšiřuje možnosti služby API Management v reakci na rostoucí počet příchozích požadavků. Další informace najdete v tématu Automatické škálování instance služby Azure API Management.

Nasazení tohoto scénáře

Tento scénář je ukázaný v galerii Rychlý start Azure s interní službou API Management a webovou aplikací služby Application Gateway.

Další kroky

Navrhněte svá rozhraní API podle dobrých pokynů k návrhu webového rozhraní API a implementujte je pomocí osvědčených postupů implementace webového rozhraní API.