Udostępnij za pośrednictwem


Odporne interfejsy z procesami zewnętrznymi przy użyciu usługi Azure AD B2C

W tym artykule znajdziesz wskazówki dotyczące planowania i implementowania interfejsów API RESTful w celu zwiększenia odporności aplikacji na błędy interfejsu API.

Zapewnianie prawidłowego umieszczania interfejsu API

Użyj zasad platformy IEF (Identity Experience Framework), aby wywołać system zewnętrzny przy użyciu profilu technicznego interfejsu API RESTful. Środowisko uruchomieniowe IEF nie kontroluje systemów zewnętrznych, co jest potencjalnym punktem awarii.

Zarządzanie systemami zewnętrznymi przy użyciu interfejsów API

Podczas wywoływania interfejsu w celu uzyskania dostępu do określonych danych upewnij się, że dane napędzają decyzję uwierzytelniania. Oceń, czy informacje są istotne dla funkcjonalności aplikacji. Na przykład e-commerce a dodatkowe funkcje, takie jak administracja. Jeśli informacje nie są potrzebne do uwierzytelniania, rozważ przeniesienie wywołania do logiki aplikacji.

Jeśli dane uwierzytelniania są stosunkowo statyczne i małe i nie powinny być zewnętrznie, umieść je w katalogu.

Jeśli to możliwe, usuń wywołania interfejsu API ze ścieżki wstępnie uwierzytelnionej. Jeśli nie możesz, włącz ochronę przed atakami typu "odmowa usługi" (DoS) i rozproszoną odmową usługi (DDoS) dla interfejsów API. Osoby atakujące mogą załadować stronę logowania i spróbować zalać interfejs API atakami DoS, aby wyłączyć aplikację. Na przykład użyj całkowicie zautomatyzowanego publicznego testu turingowego, aby poinformować komputery i ludzi apart (CAPTCHA) w przepływie logowania i rejestracji.

Łączniki interfejsu API przepływów użytkownika rejestracji umożliwiają integrację z internetowymi interfejsami API po sfederowaniu z dostawcą tożsamości, podczas rejestracji lub przed utworzeniem użytkownika. Ponieważ przepływy użytkowników są testowane, nie trzeba wykonywać testów na poziomie przepływu użytkownika, wydajności ani testowania skalowania. Przetestuj aplikacje pod kątem funkcjonalności, wydajności i skali.

Profile techniczne interfejsu API RESTful usługi Azure AD B2C nie zapewniają żadnego zachowania buforowania. Zamiast tego profil interfejsu API RESTful implementuje logikę ponawiania i limit czasu wbudowany w zasady.

W przypadku interfejsów API, które muszą zapisywać dane, użyj zadania , aby wykonać te akcje przez proces roboczy w tle. Korzystanie z usług, takich jak kolejki platformy Azure. Dzięki temu interfejs API jest wydajny i zwiększa wydajność wykonywania zasad.

Błędy interfejsu API

Ponieważ interfejsy API działają poza systemem usługi Azure AD B2C, włącz obsługę błędów w profilu technicznym. Upewnij się, że użytkownicy są informowani, a aplikacja może bezpiecznie poradzić sobie z niepowodzeniem.

Obsługa błędów interfejsu API

Ponieważ interfejsy API kończą się niepowodzeniem z różnych powodów, sprawiają, że aplikacja jest odporna. Zwróć komunikat o błędzie HTTP 4XX, jeśli interfejs API nie może ukończyć żądania. W zasadach usługi Azure AD B2C spróbuj obsłużyć niedostępność interfejsu API i być może wyrenderuj ograniczone środowisko.

Obsługa błędów przejściowych w sposób bezproblemowy. Użyj profilu interfejsu API RESTful, aby skonfigurować komunikaty o błędach dla różnych wyłączników.

Monitorowanie i używanie ciągłej integracji i ciągłego dostarczania (CICD). Obracanie poświadczeń dostępu do interfejsu API, takich jak hasła i certyfikaty używane przez aparat profilu technicznego.

Najlepsze rozwiązania dotyczące usługi API Management

Podczas wdrażania interfejsów API REST i konfigurowania profilu technicznego RESTful należy użyć następujących najlepszych rozwiązań, aby uniknąć typowych błędów.

API Management

Usługa API Management (APIM) publikuje interfejsy API, zarządza nimi i analizuje je. Usługa APIM obsługuje uwierzytelnianie w celu zapewnienia bezpiecznego dostępu do usług zaplecza i mikrousług. Użyj bramy interfejsu API do skalowania wdrożeń interfejsu API, buforowania i równoważenia obciążenia.

Naszym zaleceniem jest uzyskanie odpowiedniego tokenu zamiast wywoływania wielu razy dla każdego interfejsu API i zabezpieczania interfejsu API usługi Azure APIM.

Następne kroki