Mivel egyre több számítási feladat irányítja az API első megközelítését a kialakításukhoz, valamint a webalkalmazások internetes fenyegetéseinek növekvő száma és súlyossága miatt kritikus fontosságú az API-k védelmére szolgáló biztonsági stratégia. Az API-biztonság egyik lépése a hálózati forgalom védelme az átjáró-útválasztási minta használatával. Az átjáróval a rugalmas útválasztási szabályok támogatása mellett korlátozhatja a forgalom forráshelyeit és a forgalom minőségét. Ez a cikk azt ismerteti, hogyan használható az Azure-alkalmazás Gateway és az Azure API Management az API-hozzáférés védelmére.
Architektúra
Ez a cikk nem foglalkozik az alkalmazás mögöttes szolgáltatásaival, mint például az App Service Environment, az Azure SQL Managed Instance és az Azure Kubernetes Services. A diagram ezen részei csak azt mutatják be, hogy mit tehet szélesebb körű megoldásként. Ez a cikk kifejezetten az árnyékolt területeket, az API Managementet és az Application Gatewayt ismerteti.
Töltse le az architektúra Visio-fájlját.
Workflow
Az Application Gateway olyan HTTP-kéréseket fogad, amelyeket az alhálózat hálózati biztonsági csoportja (NSG) engedélyezett.
Az Application Gateway webalkalmazási tűzfala (WAF) ezután ellenőrzi a kérést a WAF-szabályokon, beleértve a Geomatch-szűrést is. Ha a kérelem érvényes, a kérés folytatódik.
Az Application Gateway beállít egy URL-proxy mechanizmust, amely elküldi a kérést a megfelelő háttérkészletnek. Például az API-hívás URL-formátumától függően:
A hasonló
api.<some-domain>/external/*
formátumú URL-címek elérhetik a háttérrendszert a kért API-k használatához.Zsákutcába (fogadóba) formázott
api.<some-domain>/*
hívások, amelyek egy cél nélküli háttérkészletek.
Az Application Gateway emellett fogadja és proxyzza a belső hívásokat is, amelyek ugyanazon Azure-beli virtuális hálózaton található erőforrásokból származnak.
api.<some-domain>/internal/*
Végül az API Management szintjén az API-k úgy vannak beállítva, hogy fogadják a hívásokat az alábbi minták szerint:
api.<some-domain>/external/*
api.<some-domain>/internal/*
Ebben a forgatókönyvben az API Management kétféle IP-címet használ, nyilvános és privát. A nyilvános IP-címek a 3443-es port belső kommunikációjához, valamint a külső virtuális hálózati konfiguráció futtatókörnyezeti API-forgalmához szükségesek. Amikor az API Management kérést küld egy nyilvános internetes háttérrendszernek, a kérés forrásaként egy nyilvános IP-cím jelenik meg. További információ: AZ API Management szolgáltatás IP-címei a VNetben.
Az Application Gateway szintjén található útválasztási szabály megfelelően irányítja át a felhasználókat
portal.<some-domain>/*
a fejlesztői portálra, így a fejlesztők kezelhetik az API-kat és konfigurációikat belső és külső környezetekből is.
Összetevők
Az Azure Virtual Network számos típusú Azure-erőforrás számára teszi lehetővé az egymással, az internettel és a helyszíni hálózatokkal való privát kommunikációt.
Azure-alkalmazás Gateway egy webes forgalom terheléselosztója, amely kezeli a webalkalmazások forgalmát. Ezt a fajta útválasztást alkalmazásrétegbeli (OSI 7. réteg) terheléselosztásnak nevezzük. Webalkalmazási tűzfalat (WAF) üzemeltet a gyakori webalapú támadási vektorok elleni védelem érdekében.
Az Azure API Management egy hibrid, többfelhős felügyeleti platform az API-k számára minden környezetben. Az API Management konzisztens, modern API-átjárókat hoz létre a meglévő háttérszolgáltatásokhoz.
Javaslatok
Ez a megoldás a teljes megoldás implementálására és az API-hozzáférés tesztelésére összpontosít az API Management virtuális hálózatán belülről és kívülről. Az API Management virtuális hálózati integrációs folyamatával kapcsolatos további információkért lásd : API Management integrálása belső VNET-ben az Application Gatewayrel.
Ahhoz, hogy privát erőforrásokkal kommunikáljon a háttérrendszerben, az Application Gatewaynek és az API Managementnek ugyanabban a virtuális hálózatban kell lennie, mint az erőforrások vagy egy társhálózatban lévő virtuális hálózat.
A privát, belső üzembehelyezési modell lehetővé teszi az API Management számára, hogy egy meglévő virtuális hálózathoz csatlakozzon, így az elérhető a hálózati környezeten belülről. A funkció engedélyezéséhez telepítse a Fejlesztői vagy a Prémium API Management szinteket.
A szolgáltatásokkal való interakciók személyre szabásához használhat CNAME bejegyzéseket.
Alternatívák
Más szolgáltatásokkal is hasonló szintű tűzfal- és webalkalmazási tűzfal(WAF-) védelmet biztosíthat:
- Azure Front Door
- Azure Firewall
- Partnermegoldások, például Barracuda
- Az Azure Marketplace-en elérhető egyéb megoldások
Considerations
Megbízhatóság
Azure-alkalmazás átjáró mindig magas rendelkezésre állású módon van üzembe helyezve, függetlenül a példányok számétől. A zónahibák hatásának elkerülése érdekében konfigurálhatja az Application Gatewayt úgy, hogy több rendelkezésre állási zónára is kiterjedjen. További információ: Automatikus skálázás és magas rendelkezésre állás.
Engedélyezze a zónaredundanciát az API Management szolgáltatás összetevői számára a rugalmasság és a magas rendelkezésre állás biztosítása érdekében. A zónaredundancia replikálja az API Management-átjárót és a vezérlősíkot fizikailag elkülönített zónák adatközpontjai között, így ellenállóvá válik a zónahibákkal szemben. A rendelkezésre állási zónák támogatásához az API Management Premium szint szükséges.
Az API Management támogatja a többrégiós üzemelő példányokat is, amelyek javíthatják a rendelkezésre állást, ha egy régió offline állapotba kerül. További információ: Többrégiós üzembe helyezés. Ebben a topológiában fontos, hogy régiónként egy Application Gateway is legyen, mivel az Application Gateway egy regionális szolgáltatás.
Biztonság
Az Application Gateway biztonságáról további információt az Application Gateway Azure biztonsági alapkonfigurációjában talál.
További információ az API Management biztonságáról: Azure biztonsági alapkonfiguráció az API Managementhez.
Az Azure DDoS Protection alkalmazástervezési ajánlott eljárásokkal kombinálva továbbfejlesztett DDoS-kockázatcsökkentési funkciókat biztosít, hogy nagyobb védelmet nyújtson a DDoS-támadásokkal szemben. Az Azure DDOS Protectiont minden peremhálózaton engedélyeznie kell.
Költségoptimalizálás
Az architektúra költsége a konfigurációs szempontoktól függ, például:
- Service tiers
- Méretezhetőség, ami azt jelenti, hogy a szolgáltatások által egy adott igény támogatására dinamikusan lefoglalt példányok száma
- Függetlenül attól, hogy ez az architektúra folyamatosan vagy csak néhány órát fog-e futni egy hónapban
Miután felmérte ezeket a szempontokat, lépjen az Azure díjszabási kalkulátorára a díjszabás becsléséhez.
Teljesítmény hatékonysága
Az Application Gateway az architektúra belépési pontja, a WAF-funkció pedig további feldolgozási teljesítményt igényel minden egyes kéréselemzéshez. Ahhoz, hogy az Application Gateway a helyszínen bővíthesse számítási kapacitását, fontos engedélyezni az automatikus skálázást. További információ: Automatikus skálázás megadása. Kövesse a termékdokumentációra vonatkozó ajánlásokat az Application Gateway alhálózatának méretére vonatkozóan. Ez biztosítja, hogy az alhálózat elég nagy legyen a teljes felskálázás támogatásához.
A magas párhuzamos forgatókönyvek támogatásához kapcsolja be az API Management automatikus skálázását. Az automatikus skálázás kibővíti az API Management képességeit a bejövő kérések növekvő száma miatt. További információ: Azure API Management-példány automatikus méretezése.
A forgatókönyv üzembe helyezése
Ezt a forgatókönyvet az Application Gateway belső API Managementtel és webalkalmazással való Azure gyorsútmutató-katalógusában mutatjuk be.
Következő lépések
Az API-kat a megfelelő webes API-tervezési irányelvek alapján tervezheti meg, és jó webes API-implementálási gyakorlatokkal valósíthatja meg őket.