Wzorce projektowe chmury obsługujące zabezpieczenia
Podczas projektowania architektur obciążeń należy używać wzorców branżowych, które odpowiadają typowym wyzwaniom. Wzorce mogą pomóc w umyślnym kompromisie w ramach obciążeń i zoptymalizować pod kątem żądanego wyniku. Mogą również pomóc w ograniczeniu ryzyka wynikającego z określonych problemów, które mogą mieć wpływ na niezawodność, wydajność, koszty i operacje. Te zagrożenia mogą wskazywać na brak gwarancji bezpieczeństwa, jeśli pozostawione nienadzorowane mogą stanowić poważne zagrożenie dla firmy. Te wzorce są wspierane przez rzeczywiste środowisko, są przeznaczone do skalowania w chmurze i modeli operacyjnych i są z natury niezależne od dostawcy. Używanie dobrze znanych wzorców jako sposobu standaryzacji projektu obciążenia jest elementem doskonałości operacyjnej.
Wiele wzorców projektowych bezpośrednio obsługuje jeden lub więcej filarów architektury. Wzorce projektowe, które obsługują priorytety pojęć związanych z filarem zabezpieczeń, takich jak segmentacja i izolacja, silna autoryzacja, jednolite zabezpieczenia aplikacji i nowoczesne protokoły.
Wzorce projektowe pod kątem zabezpieczeń
Poniższa tabela zawiera podsumowanie wzorców projektowych chmury, które obsługują cele zabezpieczeń.
Wzorce | Podsumowanie |
---|---|
Ambasador | Hermetyzuje komunikację sieciową i zarządza nią przez odciążanie zadań przecinających, które są związane z komunikacją sieciową. Wynikowe usługi pomocnicze inicjują komunikację w imieniu klienta. Ten punkt mediacji zapewnia możliwość rozszerzenia zabezpieczeń w komunikacji sieciowej. |
Zaplecza dla frontonów | Indywidualizuje warstwę usługi obciążenia, tworząc oddzielne usługi, które są przeznaczone wyłącznie dla określonego interfejsu frontonu. Ze względu na tę separację zabezpieczenia i autoryzacja w warstwie usług, które obsługują jednego klienta, mogą być dostosowane do funkcji udostępnianych przez tego klienta, co może potencjalnie zmniejszyć obszar powierzchni interfejsu API i penetracji sieci między różnymi zapleczami, które mogą uwidocznić różne możliwości. |
Gródź | Wprowadza celową i kompletną segmentację między składnikami w celu odizolowania promienia wybuchu awarii. Można również użyć tej strategii, aby zawierać incydenty zabezpieczeń w przypadku złamanych grodzi. |
Sprawdzanie oświadczenia | Oddziela dane od przepływu obsługi komunikatów, zapewniając możliwość oddzielnego pobierania danych powiązanych z komunikatem. Ten wzorzec obsługuje przechowywanie poufnych danych poza treściami komunikatów, zamiast tego zarządzanie nimi w zabezpieczonym magazynie danych. Ta konfiguracja umożliwia ustanowienie ściślejszej autoryzacji w celu obsługi dostępu do poufnych danych z usług, które mają korzystać z danych, ale usuwa widoczność z usług pomocniczych, takich jak rozwiązania do monitorowania kolejek. |
Tożsamość federacyjna | Delegowanie zaufania do dostawcy tożsamości zewnętrznego dla obciążenia na potrzeby zarządzania użytkownikami i zapewnienia uwierzytelniania dla aplikacji. Dzięki zewnętrznemu zarządzaniu użytkownikami i uwierzytelnianiu można uzyskać możliwości opracowywania funkcji wykrywania zagrożeń i zapobiegania na podstawie tożsamości bez konieczności implementowania tych funkcji w obciążeniu. Zewnętrzni dostawcy tożsamości używają nowoczesnych protokołów uwierzytelniania współoperowalnego. |
Strażnik | Odciąża przetwarzanie żądań przeznaczone specjalnie do wymuszania zabezpieczeń i kontroli dostępu przed przekazaniem żądania do węzła zaplecza i po nim. Dodanie bramy do przepływu żądań umożliwia scentralizowanie funkcji zabezpieczeń, takich jak zapory aplikacji internetowej, ochrona przed atakami DDoS, wykrywanie botów, manipulowanie żądaniami, inicjowanie uwierzytelniania i kontrole autoryzacji. |
Agregacja za pomocą bramy | Upraszcza interakcje klientów z obciążeniem przez agregowanie wywołań do wielu usług zaplecza w jednym żądaniu. Ta topologia często zmniejsza liczbę punktów dotykowych, które klient ma z systemem, co zmniejsza obszar powierzchni publicznej i punkty uwierzytelniania. Zagregowane zaplecza mogą pozostać w pełni odizolowane od sieci od klientów. |
Odciążanie bramy | Odciąża przetwarzanie żądań do urządzenia bramy przed przekazaniem żądania do węzła zaplecza i po nim. Dodanie bramy do przepływu żądań umożliwia scentralizowanie funkcji zabezpieczeń, takich jak zapory aplikacji internetowej i połączenia TLS z klientami. Wszystkie odciążone funkcje udostępniane przez platformę oferują już zwiększone zabezpieczenia. |
Wydawca/subskrybent | Rozdziela składniki w architekturze, zastępując bezpośrednią komunikację klient-usługa komunikacją za pośrednictwem pośredniego brokera komunikatów lub magistrali zdarzeń. To zastąpienie wprowadza ważną granicę segmentacji zabezpieczeń, która umożliwia subskrybentom kolejki odizolowanie od wydawcy sieci. |
Kwarantanna | Zapewnia, że zasoby zewnętrzne spełniają uzgodniony przez zespół poziom jakości przed upoważnieniem do korzystania z nich w obciążeniu. Ta kontrola służy jako pierwsza weryfikacja zabezpieczeń artefaktów zewnętrznych. Walidacja artefaktu jest przeprowadzana w środowisku segmentowym przed jego zastosowaniem w ramach cyklu życia bezpiecznego programowania (SDL). |
Przyczepka | Rozszerza funkcjonalność aplikacji, hermetyzując zadania nieprimary lub przecinające w procesie towarzyszącym, który istnieje obok głównej aplikacji. Hermetyzując te zadania i wdrażając je poza procesem, można zmniejszyć obszar powierzchni poufnych procesów tylko do kodu potrzebnego do wykonania zadania. Można również użyć przyczepek, aby dodać krzyżowe mechanizmy kontroli zabezpieczeń do składnika aplikacji, który nie jest natywnie zaprojektowany z użyciem tej funkcji. |
Ograniczanie przepływności | Nakłada limity szybkości lub przepływności przychodzących żądań do zasobu lub składnika. Możesz zaprojektować limity, aby zapobiec wyczerpaniu zasobów, które mogą wynikać z automatycznego nadużywania systemu. |
Klucz portiera | Udziela ograniczonego zabezpieczeń dostępu do zasobu bez używania pośredniczącego zasobu do serwera proxy dostępu. Ten wzorzec umożliwia klientowi bezpośredni dostęp do zasobu bez konieczności długotrwałych lub trwałych poświadczeń. Wszystkie żądania dostępu rozpoczynają się od transakcji podlegającej inspekcji. Udzielony dostęp jest następnie ograniczony zarówno w zakresie, jak i czasie trwania. Ten wzorzec ułatwia również odwoływanie przyznanego dostępu. |
Następne kroki
Przejrzyj wzorce projektowe chmury, które obsługują inne filary platformy Azure Well-Architected Framework: