Udostępnij za pośrednictwem


Zwiększanie odporności uwierzytelniania i autoryzacji w opracowywanych aplikacjach demona

Dowiedz się, jak używać platformy tożsamości firmy Microsoft i identyfikatora Entra firmy Microsoft, aby zwiększyć odporność aplikacji demona. Znajdź informacje na temat procesów w tle, usług, aplikacji serwer-serwer i aplikacji bez użytkowników.

Zobacz Czym jest platforma tożsamości firmy Microsoft?

Na poniższym diagramie przedstawiono aplikację demona wykonującą wywołanie platformy tożsamości firmy Microsoft.

Aplikacja demona nawiązująca połączenie z platformą tożsamości Microsoft.

Tożsamości zarządzane dla zasobów platformy Azure

Jeśli tworzysz aplikacje działające w tle na platformie Microsoft Azure, użyj zarządzanych tożsamości dla zasobów Azure, które obsługują tajne dane i poświadczenia. Funkcja zwiększa odporność dzięki obsłudze wygaśnięcia, rotacji lub zaufania certyfikatów.

Zobacz Czym są tożsamości zarządzane dla zasobów platformy Azure?

Tożsamości zarządzane używają tokenów dostępu o długim okresie ważności i informacji z platformy tożsamości firmy Microsoft w celu uzyskania nowych tokenów przed ich wygaśnięciem. 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 identyfikacyjnych 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.

Dowiedz się więcej:

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 właściwość expires\_in, która informuje aplikację o tym, jak długo należy buforować i ponownie używać tokenu. Upewnij się, że aplikacje używają właściwości expires\_in do określania 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 platformą tożsamości firmy Microsoft. Użytkownicy są zalogowani do aplikacji przez czas ważności tokenu.

System uwierzytelniania kopii zapasowych Microsoft Entra ID zapewnia odporność aplikacjom korzystającym z obsługiwanych protokołów i przepływów. Aby uzyskać więcej informacji na temat wymagań aplikacji w celu skorzystania z uwierzytelniania kopii zapasowej, zobacz wymagania aplikacji dotyczące systemu uwierzytelniania kopii zapasowych.

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 otrzymuje kod błędu HTTP 429, Zbyt wiele żądań, platforma tożsamości firmy 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 podany w polu odpowiedzi Retry-After. 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 oczekują na wygaśnięcie pola ponawiania po. Jeśli odpowiedź nie zawiera nagłówka Retry-After, zastosuj metodę wykładniczego ponawiania prób, rozpoczynając od pierwszej próby co najmniej 5 sekund po odpowiedzi.

Kiedy upłynie limit czasu żądania, upewnij się, że aplikacje nie podejmują próby ponownie natychmiast. Użyj wcześniej wspomnianej strategii ponawiania prób z wykładniczym opóźnieniem.

Następne kroki