Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Pobierz plik programu Visio z tą architekturą.
Workflow
Usługa Application Gateway odbiera żądania HTTPS zezwalające na sieciową grupę zabezpieczeń podsieci.
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.
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.
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/*.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:
Usługa Azure Front Door zapewnia wbudowaną ochronę przed rozproszoną odmową usługi (DDoS) i globalne równoważenie obciążenia.
Usługa Azure Firewall zapewnia ochronę na poziomie sieci i scentralizowane zarządzanie zasadami zabezpieczeń.
Rozwiązania partnerskie, takie jak zapora aplikacji internetowej Barracuda lub inne rozwiązania zapory aplikacji internetowych, są dostępne w witrynie Azure Marketplace.
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
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ń:
Użyj zasad zapory aplikacji internetowej platformy Azure z najnowszym zestawem podstawowych reguł Open Web Application Security Project (OWASP) 3.2 lub nowszym, aby chronić przed typowymi lukami w zabezpieczeniach internetowych, w tym zagrożeniami OWASP Top 10.
Skonfiguruj niestandardowe reguły geopasowania zapory aplikacji internetowej w celu blokowania lub zezwalania na ruch na podstawie lokalizacji geograficznej. Takie podejście zapewnia pewną ochronę przed atakami DDoS.
Włącz ochronę przed atakami DDoS aplikacji (warstwa 7) przy użyciu usługi Azure Web Application Firewall z usługą Application Gateway, aby chronić przed atakami opartymi na protokole i woluminie. Połącz usługę Azure DDoS Protection z praktykami projektowania aplikacji, aby ulepszyć funkcje ograniczania ryzyka ataków DDoS.
Użyj prywatnych punktów końcowych dla usługi API Management, aby zapewnić bezpieczną łączność przychodzącą.
Włącz usługę Microsoft Defender dla interfejsów API , aby monitorować stan zabezpieczeń interfejsu API i wykrywać zagrożenia.
Skonfiguruj reguły ochrony botów zapory aplikacji internetowej w celu identyfikowania i blokowania złośliwych botów.
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:
Użyj warstwy zużycie usługi API Management w przypadku niskiego użycia, zmiennych obciążeń, w których płacisz tylko za rzeczywiste użycie.
Zaimplementuj skalowanie automatyczne usługi Application Gateway , aby zoptymalizować liczbę wystąpień na podstawie zapotrzebowania.
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:
Skonfiguruj diagnostykę usługi API Management , aby wysyłać dzienniki do usługi Azure Monitor, aby można było używać usługi Log Analytics do szczegółowej analizy interfejsu API.
Skonfiguruj diagnostykę usługi Application Gateway , aby monitorować zdarzenia zapory aplikacji internetowej i metryki wydajności.
Zaimplementuj alerty usługi API Management dla progów wydajności i dostępności interfejsu API.
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:
Włącz automatyczne skalowanie usługi API Management , aby automatycznie reagować na rosnące woluminy żądań.
Użyj zasad buforowania usługi API Management , aby zmniejszyć obciążenie zaplecza i skrócić czas odpowiedzi.
Zaimplementuj ograniczanie szybkości usługi API Management , aby chronić usługi zaplecza przed nadmiernym obciążeniem.
Użyj warstw Standardowa w wersji 2 lub Premium w wersji 2 , aby zwiększyć wydajność i możliwości sieci.
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 .
Powiązane zasoby
- Wzorzec routingu bramy: kierowanie żądań do wielu usług przy użyciu jednego punktu końcowego.
- Wzorzec agregacji bramy: agregowanie wielu żądań do jednego żądania.
- Wzorzec odciążania bramy: odciążanie funkcji udostępnionych do bramy interfejsu API.
- Omówienie routingu opartego na ścieżkach URL
- Samouczek: tworzenie bramy aplikacji z przekierowywaniem opartym na ścieżkach URL przy użyciu interfejsu wiersza polecenia platformy Azure