Megosztás a következőn keresztül:


Az Azure API Management kezdőzónájának architektúrája

Azure API Management
Azure Application Gateway
Azure Functions
.NET

Az API-k egyre szervesabbá váltak ahhoz, hogy a szervezetek és ügyfeleik hogyan férnek hozzá a szolgáltatásokhoz mind a belső rendszereken, mind a külső csatornákon keresztül. Az API-k belsőleg megkönnyítik az üzletági alkalmazásokhoz, a védett megoldásokhoz és a partnerintegrációkhoz való hozzáférést. Külsőleg egyre több szervezet foglalkozik a hatékonyság növelésével és a bevétel api-bevételszerzéssel történő növelésével. Ezt a trendet figyelembe véve az Azure API Management alapvető elemként szolgál az API-k szabványosított szabályozásában, közzétételében és felügyeletében mind a belső, mind a külső érdekelt felek számára.

Az Azure Application Gateway biztonsági ellenőrzőpontként szolgál az API-khoz. Ahelyett, hogy lehetővé tenné a felhasználók számára, hogy közvetlenül az interneten keresztül csatlakozzanak, az összes forgalmat egy application gatewayen keresztül irányíthatja. Ez a beállítás további hozzáférés-vezérlőket ad hozzá az API-k védelméhez. Ezzel a módszerrel egyetlen API Management-példányt használhat a szervezeten belüli belső API-k és a szervezeten kívüli külső API-k támogatásához, miközben a nyilvánosan közzétett API-k biztonságban maradnak az átjáró mögött.

Feljegyzés

Ez az architektúra az Azure-beli felhőbevezetési keretrendszer azure-beli kezdőzónáiban futó API Management útmutatójának alapja.

Architektúra

Az ábrán az API Management biztonságos alapkonfigurációs architektúrája látható.

Töltse le az architektúra Visio-fájlját.

Ez az architektúra feltételezi, hogy a szabályzatok az Azure-beli kezdőzóna referencia-implementációjából vannak érvényben, és hogy a struktúrát a felügyeleti csoporttól lefelé hajtják.

Workflow

  • A nyilvános IP-címek egy application gatewayhez vannak rendelve, amely a külső forgalom belépési pontjaként szolgál. Ez a végpont egy egyéni tartományon keresztül teszi elérhetővé az API-kat.

  • Az Application Gateway a saját alhálózatán van üzembe helyezve, és a webalkalmazási tűzfal (WAF) szabályzatai védik a bejövő kérések vizsgálatához és szűréséhez.

  • A forgalom az Application Gatewayről az API Management (Premium) szolgáltatásba kerül, amely egy külön API Management-alhálózatban található. Az API Management-példány belső módban van konfigurálva, ami megakadályozza a közvetlen nyilvános hozzáférést.

  • A privát végpontokkal biztonságosan csatlakoztathatók az API Management olyan háttéralkalmazás-kiszolgálókhoz, amelyek csak a virtuális hálózat számára vannak közzétéve. Az API Management rendszeresen összekapcsolja a függőségeket, például az Azure-kulcstartókat. Ez a privát kapcsolat általában egy dedikált privát végpont alhálózat végpontjaival történik.

  • A Log Analytics-munkaterületek és az Application Insights integrálva vannak a naplózáshoz, a monitorozáshoz és a telemetriához.

Összetevők

  • Az API Management egy felügyelt szolgáltatás, amely lehetővé teszi a szolgáltatások kezelését hibrid és többfelhős környezetekben. A belső és külső felhasználók számára egyaránt biztosítja az API megfigyelhetőségének és felhasználásának ellenőrzését és biztonságát. Ebben az architektúrában az API Management a háttérarchitektúra absztrakciójának egyik fő eleme.

  • Az Application Gateway egy felügyelt szolgáltatás, amely 7. rétegbeli terheléselosztóként és WAF-ként szolgál. Az Application Gateway védi a belső API Management-példányt, amely lehetővé teszi mind a belső, mind a külső mód használatát. Ebben az architektúrában az API Management biztosítja az API-kat, az Application Gateway pedig olyan kiegészítő képességeket ad hozzá, mint a WAF.

  • A privát tartománynévrendszer (DNS)-zónák az Azure DNS egyik funkciója, amely lehetővé teszi a virtuális hálózaton belüli tartománynevek kezelését és feloldását anélkül, hogy egyéni DNS-megoldást kellene implementálnia. A privát DNS-zónák egy vagy több virtuális hálózathoz igazíthatók virtuális hálózati kapcsolatokon keresztül. Ebben az architektúrában privát DNS-zónára van szükség a megfelelő névfeloldás biztosításához a virtuális hálózaton belül.

  • Az Application Insights egy bővíthető alkalmazásteljesítmény-kezelési szolgáltatás, amely segít a fejlesztőknek észlelni az anomáliákat, diagnosztizálni a problémákat és megérteni a használati mintákat. Az Application Insights bővíthető alkalmazásteljesítmény-kezelést és monitorozást biztosít az élő webalkalmazásokhoz. Különböző platformok támogatottak, például .NET, Node.js, Java és Python. Támogatja az Azure-ban, a helyszínen, hibrid környezetben vagy más nyilvános felhőkben üzemeltetett alkalmazásokat. Ebben az architektúrában az Application Insights figyeli az üzembe helyezett alkalmazás viselkedését.

  • A Log Analytics egy felhőalapú adatelemzési eszköz, amellyel napló lekérdezéseket szerkeszthet és futtathat az Azure Monitor-naplókban lévő adatokon, opcionálisan az Azure Portalon. A fejlesztők egyszerű lekérdezéseket futtathatnak rekordok lekéréséhez vagy a Log Analytics speciális elemzéshez való használatához, majd vizualizálhatják az eredményeket. Ebben az architektúrában a Log Analytics összesíti az összes platformerőforrás-naplót elemzéshez és jelentéskészítéshez.

  • Az Azure Key Vault egy felhőszolgáltatás, amely biztonságosan tárolja és hozzáfér a titkos kódokhoz. Ezek a titkos kódok az API-kulcsoktól és jelszavaktól a tanúsítványokig és a titkosítási kulcsokig terjednek. Ebben az architektúrában a Key Vault tárolja az Application Gateway által használt SSL-tanúsítványokat.

Alternatívák

Az API Management-példány által összekapcsolt háttérszolgáltatások esetében számos alternatíva érhető el:

  • Az Azure App Service egy teljes mértékben felügyelt HTTP-alapú szolgáltatás, amely webalkalmazásokat fejleszt, helyez üzembe és méretez. Támogatja a .NET, a .NET Core, a Java, a Ruby, a Node.js, a PHP és a Python használatát. Az alkalmazások Windows vagy Linux-alapú környezetben is futtathatók és méretezhetők.

  • Az Azure Kubernetes Service (AKS) egy felügyelt Kubernetes-ajánlat, amely teljes mértékben felügyelt fürtöket biztosít. Lehetővé teszi az integrált folyamatos integrációt és a folyamatos teljesítést (CI/CD), valamint a beépített szabályozást és biztonságot.

  • Az Azure Logic Apps egy felhőalapú platform, amely automatizált munkafolyamatokat hoz létre és futtat. További információ: példahivatkozási architektúra.

  • Az Azure Container Apps egy teljes mértékben felügyelt kiszolgáló nélküli tárolószolgáltatás, amely lehetővé teszi mikroszolgáltatások és tárolóalapú alkalmazások futtatását kiszolgáló nélküli platformon.

Többrégiós üzemelő példányok esetén érdemes lehet az Azure Front Door használatával gyors, megbízható és biztonságos hozzáférést biztosítani a felhasználók és az alkalmazások statikus és dinamikus webes tartalmai között.

További példák az Application Gateway API-k védelmére: API-k védelme az Application Gateway és az API Management használatával.

Megfontolások

Ezek a szempontok implementálják az Azure Well-Architected Framework alappilléreit, amely a számítási feladatok minőségének javítására használható vezérelvek készlete. További információ: Well-Architected Framework.

Megbízhatóság

A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információkért tekintse meg a Megbízhatósági terv felülvizsgálati ellenőrzőlistát.

  • Helyezzen üzembe legalább két skálázási egységnyi API Managementet, amelyek minden régióban két vagy több rendelkezésre állási zónán vannak elosztva. Figyelje a kapacitásmetrikákat, és hozzon ki elegendő kapacitásegységet, hogy továbbra is működjön, még akkor is, ha az egy rendelkezésre állási zónában lévő egységek elvesznek.

  • Javasoljuk, hogy a Prémium szintet használja, mert támogatja a rendelkezésre állási zónákat és a többrégiós üzemelő példányokat. Ez a képesség azt jelenti, hogy a szolgáltatások akkor is futhatnak, ha egy régió vagy zóna leáll. Ezek a funkciók segítenek megvédeni az alkalmazást a kimaradások vagy katasztrófák során.

  • Vészhelyreállításhoz állítsa be az API Managementet egy felhasználó által hozzárendelt felügyelt identitással a rendszer által hozzárendelt identitás helyett. Ha újra üzembe helyezi vagy törli az erőforrást, az identitás és annak engedélyei megmaradnak, így könnyebben visszaállíthatja a hozzáférést. Az Azure Pipelines használatával automatizálhatja a biztonsági mentéseket. Döntse el, hogy több régióban kell-e üzembe helyeznie a szolgáltatásokat a jobb megbízhatóság érdekében.

  • A virtuális hálózatok közötti társviszony-létesítés erős teljesítményt nyújt egy régión belül, de 500 hálózat skálázhatósági korlátja van. Ha több számítási feladatot kell csatlakoztatnia, használjon küllős kialakítást vagy Azure Virtual WAN-t.

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információkért lásd a Biztonsági terv felülvizsgálati ellenőrzőlistát.

  • Az API Management érvényesítési szabályzatai ellenőrzik az API-kéréseket és a válaszokat egy OpenAPI-sémán. Ezek a funkciók nem helyettesítik a WAF-et, de további védelmet nyújthatnak bizonyos fenyegetések ellen. Az érvényesítési szabályzatok hozzáadása hatással lehet a teljesítményre, ezért azt javasoljuk, hogy teljesítményterhelési tesztekkel mérje fel az API átviteli sebességére gyakorolt hatásukat.

  • Az API-khoz készült Microsoft Defender teljes életciklus-védelmet, észlelést és választ biztosít az API Managementben közzétett API-k számára. Az egyik fő képesség az Open Web Application Security Project (OWASP) API Top 10 biztonsági réseinek észlelése futásidejű anomáliadetektálásokon keresztül gépi tanuláson alapuló és szabályalapú észlelések használatával.

  • Az API Management-munkaterületek segítenek az API-k rendszerezésében és elkülönítésében. Ez a megközelítés megkönnyíti annak szabályozását, hogy kik férhetnek hozzá és kezelhetik őket. Minden munkaterület rendelkezhet saját engedélykészlettel, így csak azoknak a személyeknek vagy csapatoknak korlátozhatja a hozzáférést, akiknek szükségük van rá. Ez az elkülönítés csökkenti a véletlen módosítások vagy jogosulatlan hozzáférés kockázatát, és támogatja a biztonságosabb API-környezetet.

  • A Key Vault-titkos kulcsok nevesített értékekként használhatók az API Management-házirendekben a bizalmas információk védelméhez az API Management-szabályzatokban.

  • Az Application Gateway használatával külső hozzáférést biztosíthat egy belső API Management-példányhoz az API Management-példány védelméhez, védheti a gyakori webalkalmazás-biztonsági réseket és biztonsági réseket a WAF használatával, és engedélyezheti a hibrid kapcsolatot.

  • Helyezze üzembe az API Management-átjárót egy virtuális hálózaton a hibrid kapcsolatok és a nagyobb biztonság érdekében.

  • A virtuális hálózatok közötti társviszony-létesítés javítja a régió teljesítményét, és lehetővé teszi a virtuális hálózatok közötti privát kommunikációt.

  • WAF használata esetén egy olyan réteget vezet be, amely a bejövő forgalmat rosszindulatú viselkedésre vizsgálja. Ez a védelem segít megakadályozni az olyan gyakori fenyegetéseket, mint az SQL-injektálás és a helyek közötti szkriptelés. Az Application Gateway és az elosztott szolgáltatásmegtagadási (DDoS) védelem segít megakadályozni, hogy a túlzott forgalom vagy kapcsolati áradások túlterhelik az API Management-példányt. További információ: API-k védelme az Application Gateway és az API Management használatával.

  • Az Azure Functions privát végpontjai lehetővé teszik a függvényalkalmazásokhoz való biztonságos csatlakozást a virtuális hálózaton belüli privát IP-címen keresztül. Ez a beállítás megakadályozza a függvények nyilvános interneten való kitettségét, ami csökkenti a jogosulatlan hozzáférés kockázatát. Ebben az architektúrában a privát végpontok biztosítják, hogy csak a hálózaton belüli megbízható erőforrások férhessenek hozzá az Azure Functionshez.

Költségoptimalizálás

A költségoptimalizálás a szükségtelen kiadások csökkentésére és a működési hatékonyság javítására összpontosít. További információt a Költségoptimalizálás tervezési felülvizsgálati ellenőrzőlistájában talál.

  • Ez az üzembe helyezés a Prémium csomaggal támogatja a rendelkezésre állási zónát és a virtuális hálózati képességeket. Ha nem igényel dedikált példányokat, használhatja a Flex Consumption szolgáltatást is, amely támogatja a hálózati hozzáférést és a rendelkezésre állási zónákat is. Tekintse át az üzembe helyezés díjkalkulátorát .

  • A fogalmak vagy prototípusok ellenőrzéséhez javasoljuk, hogy használjon más API Management-szinteket, például a Fejlesztői vagy a Standard verziót.

Működési kiválóság

Az Operational Excellence azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben működtetik. További információ: Az operatív kiválóság tervezési felülvizsgálati ellenőrzőlistája.

  • Az API Management-konfigurációk Azure Resource Manager-sablonokként való ábrázolása, valamint infrastruktúrakódként (IaC) történő megközelítés bevezetése.

  • AZ API Management konfigurációinak kezelése, verziója és frissítése CI-/CD-folyamat használatával.

  • Hozzon létre egyéni állapotmintákat az API Management-példány állapotának ellenőrzéséhez. Az URL-cím /status-0123456789abcdef használatával hozzon létre egy közös állapotvégpontot az API Management szolgáltatáshoz az Application Gatewayben.

  • A kulcstartóban frissített tanúsítványok automatikusan el lesznek forgatva az API Managementben, amely négy órán belül tükrözi a változásokat.

  • Ha DevOps-eszközt használ, például az Azure DevOpst vagy a GitHubot, akkor a felhőben üzemeltetett ügynökök vagy futók a nyilvános interneten keresztül működnek. Mivel ebben az architektúrában az API Management egy belső hálózatra van állítva, egy DevOps-ügynököt kell használnia, amely hozzáfér a virtuális hálózathoz. A DevOps-ügynök segít a szabályzatok és az API-k egyéb módosításainak üzembe helyezésében az architektúrában. Ezekkel a CI-/CD-sablonokkal részekre bonthatja a folyamatot, hogy a fejlesztői csapatok módosításokat helyezzenek üzembe az egyes API-khoz. A DevOps-futók kezdeményezik a sablonokat az egyes üzemelő példányok kezeléséhez.

A forgatókönyv üzembe helyezése

Ez az architektúra elérhető a GitHubon. Tartalmazza az összes szükséges IaC-fájlt és az üzembe helyezési utasításokat.

Közreműködők

A Microsoft fenntartja ezt a cikket. A következő közreműködők írták ezt a cikket.

Fő szerzők:

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések