Zwiększanie odporności uwierzytelniania i autoryzacji w opracowywanych aplikacjach demona
Dowiedz się, jak używać Platforma tożsamości Microsoft i identyfikatora Entra firmy Microsoft, aby zwiększyć odporność aplikacji demona. Znajdź informacje na temat procesów w tle, usług, serwerów do aplikacji serwerowych i aplikacji bez użytkowników.
Zobacz Co to jest platforma tożsamości firmy Microsoft?
Na poniższym diagramie przedstawiono aplikację demona wykonującą wywołanie Platforma tożsamości Microsoft.
Tożsamości zarządzane dla zasobów platformy Azure
Jeśli tworzysz aplikacje demona na platformie Microsoft Azure, użyj tożsamości zarządzanych dla zasobów platformy Azure, które obsługują wpisy tajne i poświadczenia. Funkcja zwiększa odporność dzięki obsłudze wygaśnięcia, rotacji lub zaufania certyfikatu.
Zobacz Co to są tożsamości zarządzane dla zasobów platformy Azure?
Tożsamości zarządzane używają długotrwałych tokenów dostępu i informacji z Platforma tożsamości Microsoft w celu uzyskania nowych tokenów przed wygaśnięciem tokenów. Aplikacja jest uruchamiana podczas uzyskiwania nowych tokenów.
Tożsamości zarządzane używają regionalnych punktów końcowych, które pomagają zapobiegać awariom poza regionami przez konsolidowanie zależności usługi. Regionalne punkty końcowe pomagają zachować ruch w obszarze geograficznym. Jeśli na przykład zasób platformy Azure znajduje się w regionie WestUS2, cały ruch pozostaje w regionie WestUS2.
Biblioteka uwierzytelniania firmy Microsoft
Jeśli tworzysz aplikacje demona i nie używasz tożsamości zarządzanych, użyj biblioteki Microsoft Authentication Library (MSAL) do uwierzytelniania i autoryzacji. Biblioteka MSAL ułatwia proces dostarczania poświadczeń klienta. Na przykład aplikacja nie musi tworzyć i podpisywać asercji tokenu internetowego JSON przy użyciu poświadczeń opartych na certyfikatach.
Zobacz Omówienie biblioteki Microsoft Authentication Library (MSAL)
Microsoft.Identity.Web dla deweloperów platformy .NET
Jeśli tworzysz aplikacje demona na platformie ASP.NET Core, użyj biblioteki Microsoft.Identity.Web, aby ułatwić autoryzację. Obejmuje ona strategie rozproszonej pamięci podręcznej tokenów dla aplikacji rozproszonych uruchamianych w wielu regionach.
Więcej informacji:
- Biblioteka uwierzytelniania sieci Web tożsamości firmy Microsoft
- Rozproszona pamięć podręczna tokenów
Buforowanie i przechowywanie tokenów
Jeśli nie używasz biblioteki MSAL do uwierzytelniania i autoryzacji, istnieją najlepsze rozwiązania dotyczące buforowania i przechowywania tokenów. Biblioteka MSAL implementuje i stosuje te najlepsze rozwiązania.
Aplikacja uzyskuje tokeny od dostawcy tożsamości (IdP), aby autoryzować aplikację do wywoływania chronionych interfejsów API. Gdy aplikacja odbiera tokeny, odpowiedź z tokenami zawiera expires\_in
właściwość, która informuje aplikację o tym, jak długo należy buforować i ponownie używać tokenu. Upewnij się, że aplikacje używają expires\_in
właściwości w celu określenia cyklu życia tokenu. Upewnij się, że aplikacja nie próbuje dekodować tokenu dostępu interfejsu API. Użycie buforowanego tokenu uniemożliwia niepotrzebny ruch między aplikacją a Platforma tożsamości Microsoft. Użytkownicy są zalogowani do aplikacji w celu uzyskania okresu istnienia tokenu.
Kody błędów HTTP 429 i 5xx
Skorzystaj z poniższych sekcji, aby dowiedzieć się więcej o kodach błędów HTTP 429 i 5xx
HTTP 429
Występują błędy HTTP wpływające na odporność. Jeśli aplikacja odbiera kod błędu HTTP 429, Zbyt wiele żądań, Platforma tożsamości Microsoft ogranicza żądania, co uniemożliwia aplikacji odbieranie tokenów. Upewnij się, że aplikacje nie próbują uzyskać tokenu, dopóki nie wygaśnie czas w polu Odpowiedzi Po ponowieniu próby . Błąd 429 często wskazuje, że aplikacja nie buforuje i prawidłowo używa tokenów.
HTTP 5xx
Jeśli aplikacja otrzyma kod błędu HTTP 5x, aplikacja nie może wprowadzić pętli szybkiego ponawiania prób. Upewnij się, że aplikacje czekają na wygaśnięcie pola Ponów próbę po zakończeniu. Jeśli odpowiedź nie zawiera nagłówka Retry-After, użyj ponawiania wykładniczego ponawiania z pierwszą ponowną próbą, co najmniej 5 sekund po odpowiedzi.
Po upłynął limit czasu żądania, upewnij się, że aplikacje nie ponawiają próby natychmiast. Użyj wcześniej cytowanego wycofywania wykładniczego ponawiania próby.