Udostępnij przez


Ochrona interfejsów API przy użyciu usługi Application Gateway i usługi API Management

Usługa Azure API Management
Usługa Azure Application Gateway

Organizacje coraz częściej wdrażają podejścia projektowe oparte na interfejsie API przy jednoczesnym obliczu rosnących zagrożeń dla aplikacji internetowych. Potrzebujesz kompleksowej strategii zabezpieczeń, aby chronić interfejsy API, zwłaszcza w przypadku uwidaczniania interfejsów API opartych na sztucznej inteligencji i implementowania zasad architektury zerowej zaufania. Wzorzec routingu bramy zapewnia jedno podejście do zabezpieczeń interfejsu API przez ochronę ruchu sieciowego. Brama ogranicza lokalizacje źródła ruchu i jakość ruchu przy jednoczesnym obsłudze elastycznych reguł routingu. W tym artykule opisano sposób używania bramy aplikacja systemu Azure i usługi Azure API Management w celu ochrony dostępu do interfejsu API.

Architecture

Ten artykuł nie dotyczy podstawowych platform aplikacji, takich jak App Service Environment, Azure SQL Managed Instance i Azure Kubernetes Service (AKS). Te części diagramu pokazują, co można zaimplementować jako szersze rozwiązanie. W tym artykule omówiono w szczególności zacienione obszary, usługę API Management i usługę Application Gateway.

Diagram pokazujący, jak usługa Application Gateway i usługa API Management chronią interfejsy API.

Pobierz plik programu Visio z tą architekturą.

Workflow

  1. Usługa Application Gateway odbiera żądania HTTPS zezwalające na sieciową grupę zabezpieczeń podsieci.

  2. Zapora aplikacji internetowej w usłudze Application Gateway sprawdza żądanie względem reguł zapory aplikacji internetowej, w tym reguł niestandardowych geomatch. Jeśli żądanie jest prawidłowe, żądanie będzie kontynuowane.

  3. Usługa Application Gateway konfiguruje mechanizm serwera proxy adresu URL, który wysyła żądanie do odpowiedniej puli zaplecza. Zachowanie routingu zależy od formatu adresu URL wywołania interfejsu API:

    • Adresy URL sformatowane jako api.<some-domain>/external/* mogą dotrzeć do zaplecza w celu interakcji z żądanymi interfejsami API.

    • Wywołania sformatowane jako api.<some-domain>/* przejście do martwego końca, nazywanego pulami ujścia, która jest pulą zaplecza bez celu.

    • Reguła routingu na poziomie usługi Application Gateway przekierowuje użytkowników do portal.<some-domain>/* portalu deweloperów. Deweloperzy mogą zarządzać interfejsami API i ich konfiguracjami zarówno z środowisk wewnętrznych, jak i zewnętrznych. Alternatywnie możesz całkowicie zablokować portal deweloperów.

  4. Usługa Application Gateway akceptuje i serwerów proxy wywołania wewnętrzne z zasobów w tej samej sieci wirtualnej platformy Azure w obszarze api.<some-domain>/internal/*.

  5. Na poziomie usługi API Management interfejsy API akceptują wywołania w następujących wzorcach:

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

    W tym scenariuszu usługa API Management używa publicznych i prywatnych adresów IP. Publiczne adresy IP obsługują operacje zarządzania na porcie 3443 dla płaszczyzny zarządzania i ruchu interfejsu API środowiska uruchomieniowego w zewnętrznych konfiguracjach sieci wirtualnej. Gdy usługa API Management wysyła żądanie do publicznego zaplecza połączonego z Internetem, wyświetla publiczny adres IP jako źródło żądania. Aby uzyskać więcej informacji, zobacz Adresy IP usługi API Management w sieci wirtualnej.

Components

  • Usługa Azure Virtual Network umożliwia wielu typom zasobów platformy Azure komunikację prywatną ze sobą, Internetem i sieciami lokalnymi. W tej architekturze usługa Application Gateway tuneluje publiczny ruch internetowy do tej sieci prywatnej.

  • Application Gateway to moduł równoważenia obciążenia ruchu internetowego, który zarządza ruchem do aplikacji internetowych. Ten typ routingu jest znany jako równoważenie obciążenia warstwy aplikacji (WARSTWA 7). W tej architekturze brama zapewnia routing i hostuje zaporę aplikacji internetowej w celu ochrony przed typowymi wektorami ataków opartymi na sieci Web.

  • usługi API Management to hybrydowa, wielochmurowa platforma do zarządzania interfejsami API we wszystkich środowiskach. Usługa API Management tworzy spójne, nowoczesne bramy interfejsu API dla istniejących usług zaplecza. W tej architekturze usługa API Management działa w trybie w pełni prywatnym w celu odciążania zagadnień krzyżowych z kodu i hostów interfejsu API.

Alternatives

Możesz użyć innych usług, aby zapewnić podobny poziom zapory i ochrony zapory internetowej:

Recommendations

Ta architektura koncentruje się na implementowaniu całego rozwiązania i testowaniu dostępu do interfejsu API z wewnątrz i poza siecią wirtualną usługi API Management. Aby uzyskać więcej informacji na temat procesu integracji, zobacz Integrowanie usługi API Management w wewnętrznej sieci wirtualnej przy użyciu usługi Application Gateway.

Aby komunikować się z zasobami prywatnymi w zapleczu, umieść usługę Application Gateway i usługę API Management w tej samej sieci wirtualnej co zasoby lub w równorzędnej sieci wirtualnej.

  • Prywatny, wewnętrzny model wdrażania umożliwia usłudze API Management łączenie się z istniejącą siecią wirtualną, co sprawia, że jest osiągalny z poziomu tego kontekstu sieci. Aby włączyć tę funkcję, wdróż warstwy Developer lub Premium API Management na potrzeby klasycznej iniekcji sieci wirtualnej. W przypadku nowszych opcji sieci wirtualnej użyj warstw Standardowa v2 lub Premium v2 z możliwościami integracji lub iniekcji sieci wirtualnej.

  • Jeśli klienci działają w innej subskrypcji lub są zarządzani przy użyciu innego katalogu Microsoft Entra ID, użyj usługi Azure Private Link dla usługi Application Gateway , aby zapewnić prywatną łączność z usługą Application Gateway z sieci wirtualnych klienta w subskrypcjach i regionach.

  • Zarządzanie certyfikatami usługi Application Gateway w usłudze Azure Key Vault.

  • Aby personalizować interakcje z usługami, możesz użyć wpisów nazwy kanonicznej (CNAME).

Considerations

Te zagadnienia implementują filary platformy Azure Well-Architected Framework, która jest zestawem wytycznych, których można użyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Well-Architected Framework.

Reliability

Niezawodność pomaga zapewnić, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Design review checklist for Reliability(Lista kontrolna dotycząca niezawodności).

Usługa Application Gateway zawsze wdraża się w konfiguracji o wysokiej dostępności, niezależnie od liczby wystąpień. Aby zmniejszyć wpływ awarii strefy, możesz skonfigurować bramę aplikacji tak, aby obejmowała wiele stref dostępności. Aby uzyskać więcej informacji, zobacz Autoskalowanie i wysoka dostępność.

Włącz nadmiarowość stref dla składników usługi API Management, aby zapewnić odporność i wysoką dostępność. Nadmiarowość strefowa replikuje bramę usługi API Management i płaszczyznę sterowania między centrami danych w fizycznie oddzielonych strefach. Ta konfiguracja sprawia, że są odporne na awarie strefy. Aby obsługiwać strefy dostępności, musisz użyć warstwy Premium usługi API Management.

Usługa API Management obsługuje również wdrożenia w wielu regionach, co może zwiększyć dostępność, jeśli jeden region przejdzie w tryb offline. Aby uzyskać więcej informacji, zobacz Obsługa wielu regionów. W tej topologii wdróż jedną bramę aplikacji dla każdego regionu, ponieważ usługa Application Gateway jest usługą regionalną.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nieprawidłowym użyciem cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotyczącazabezpieczeń.

Aby uzyskać więcej informacji na temat zabezpieczeń usługi Application Gateway, zobacz Punkt odniesienia zabezpieczeń platformy Azure dla usługi Application Gateway.

Aby uzyskać więcej informacji na temat zabezpieczeń usługi API Management, zobacz Punkt odniesienia zabezpieczeń platformy Azure dla usługi API Management.

Zawsze implementuj następujące środki zabezpieczeń:

Optymalizacja kosztów

Optymalizacja kosztów koncentruje się na sposobach zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dlaoptymalizacji kosztów.

Koszt tej architektury zależy od kilku aspektów konfiguracji:

  • Warstwy usług: Rozważ warstwy Standardowa w wersji 2 i Premium w wersji 2 dla usługi API Management, aby zwiększyć wydajność i wydajność kosztów.

  • Skalowalność: Usługi dynamicznie przydzielają liczbę wystąpień do obsługi danego zapotrzebowania.

  • Czas trwania środowiska uruchomieniowego: Koszty różnią się w zależności od tego, czy architektura jest uruchamiana w sposób ciągły, czy tylko kilka godzin co miesiąc.

  • Transfer danych: Wdrożenia wieloregionowe generują koszty transferu między regionami.

  • Przetwarzanie zapory aplikacji internetowej: Koszty zależą od liczby żądań i ocenianych reguł.

Rozważ następujące strategie optymalizacji kosztów:

Po ocenie tych aspektów użyj kalkulatora cen platformy Azure , aby oszacować ceny.

Doskonałość operacyjna

Doskonałość operacyjna obejmuje procesy operacyjne, które wdrażają aplikację i działają w środowisku produkcyjnym. Aby uzyskać więcej informacji, zobacz Lista kontrolna projektu dotycząca doskonałości operacyjnej.

Zaimplementuj kompleksowe monitorowanie i obserwowanie:

Efektywność operacyjna

Wydajność odnosi się do możliwości skalowania obciążenia w celu efektywnego zaspokojenia wymagań użytkowników. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.

Usługa Application Gateway służy jako punkt wejścia dla tej architektury, a funkcja Azure Web Application Firewall wymaga mocy obliczeniowej dla każdej analizy żądań. Aby umożliwić usłudze Application Gateway rozszerzenie pojemności obliczeniowej na żądanie, włącz skalowanie automatyczne. Aby uzyskać więcej informacji, zobacz Autoskalowanie i nadmiarowość stref w usłudze Application Gateway. Postępuj zgodnie z zaleceniami dotyczącymi dokumentacji produktu dotyczącymi konfiguracji infrastruktury usługi Application Gateway, w tym odpowiedniego rozmiaru podsieci. Takie podejście zapewnia, że podsieć jest wystarczająco duża, aby obsługiwać pełne skalowanie w poziomie.

Rozważ następujące optymalizacje wydajności dla usługi API Management:

Dalsze kroki

Aby zaprojektować interfejsy API, postępuj zgodnie z dobrymi wytycznymi dotyczącymi projektowania internetowego interfejsu API . Aby zaimplementować interfejsy API, należy użyć dobrych praktyk implementacji internetowego interfejsu API .