Omówienie zestawu SDK do uwierzytelniania Microsoft Entra ID (sidecar)

Zestaw SDK Microsoft Entra ID Auth (sidecar) to skonteneryzowana usługa internetowa, która obsługuje uzyskiwanie tokenów, walidację tokenów oraz bezpieczne wywołania podrzędnych interfejsów API. Działa jako kontener pomocniczy w połączeniu z aplikacją, co umożliwia odciążenie logiki uwierzytelniania do dedykowanej usługi. Centralizując operacje związane z tożsamością w zestawie SDK uwierzytelniania Microsoft Entra ID (sidecar), eliminujesz konieczność implementowania złożonej logiki zarządzania tokenami w każdej usłudze, ograniczając powielanie kodu i potencjalne luki w zabezpieczeniach.

Jeśli tworzysz w Kubernetes, usługi konteneryzowane w Dockerze lub nowoczesne mikrousługi na platformie Azure, pakiet SDK uwierzytelniania Microsoft Entra ID (sidecar) zapewnia standardowy sposób obsługi uwierzytelniania i autoryzacji w aplikacjach cloud-native.

Co to jest zestaw SDK do uwierzytelniania Microsoft Entra ID (sidecar)?

Zestaw SDK uwierzytelniania Microsoft Entra ID (przyczepka) komunikuje się z aplikacją za pośrednictwem interfejsu API HTTP na potrzeby uwierzytelniania i autoryzacji, zapewniając spójne wzorce integracji niezależnie od stosu technologii. Zamiast osadzania logiki tożsamości bezpośrednio w kodzie aplikacji, zestaw MICROSOFT ENTRA ID Auth SDK (przyczepka) obsługuje zarządzanie tokenami, walidację i wywołania interfejsu API za pośrednictwem standardowych żądań HTTP.

Takie podejście umożliwia architektury mikrousług wielolotowych, w których można zapisywać różne usługi w Python, Node.js, Go, Java i innych przy zachowaniu spójnych wzorców uwierzytelniania.

Typowa architektura jest następująca:

Aplikacja kliencka → Twój interfejs API sieci Web → zestaw SDK uwierzytelniania Microsoft Entra ID (sidecar) → Microsoft Entra ID

Aby uzyskać najnowsze tagi obrazu kontenera i wersji, zobacz Obraz kontenera , aby rozpocząć pracę.

Zabezpieczenia

Upewnij się, że wdrożenie zestawu SDK uwierzytelniania Microsoft Entra ID (sidecar) jest zgodne z najlepszymi praktykami w zakresie bezpiecznego działania. Zestaw SDK musi działać w środowisku konteneryzowanym z ograniczonym dostępem do sieci, aby zapobiec nieautoryzowanemu dostępowi. Uwidacznianie interfejsu API zestawu SDK publicznie może prowadzić do luk w zabezpieczeniach, takich jak nieautoryzowane pozyskiwanie tokenów.

Zapoznaj się z najlepszymi rozwiązaniami dotyczącymi zabezpieczeń , aby zapewnić najlepsze rozwiązania dotyczące zaleceń dotyczących zabezpieczeń sieci, poświadczeń i środowiska uruchomieniowego.

Ostrzeżenie

Interfejs API zestawu SDK nie może być publicznie dostępny. Powinno to być osiągalne tylko przez aplikacje w ramach tej samej granicy zaufania (np. tego samego zasobnika lub sieci wirtualnej), aby zapobiec nieautoryzowanemu pozyskiwaniu tokenu.

Szybki start

Aby rozpocząć korzystanie z zestawu SDK uwierzytelniania Microsoft Entra ID (sidecar), zaleca się wykonanie następujących kroków:

  1. Wybieranie wdrożenia — wybierz pozycję Kubernetes, Docker lub AKS
  2. Konfigurowanie ustawień — konfigurowanie zmiennych środowiskowych
  3. Wybierz scenariusz — postępuj zgodnie z przykładem z przewodnikiem
  4. Wdrażanie w środowisku produkcyjnym — przegląd najlepszych rozwiązań w zakresie zabezpieczeń

Najważniejsze korzyści

Architektura oddziela kwestie związane z tożsamością od logiki biznesowej, zapewniając następujące korzyści:

Korzyść Description
Obsługa wielu języków Wywoływanie za pośrednictwem protokołu HTTP z użyciem języka Python, Node.js, Go, Java i innych języków
Konfiguracja scentralizowanych zabezpieczeń Jedno miejsce na potrzeby konfiguracji tożsamości, zarządzania tokenami i zarządzania poświadczeniami
Kontener Native Opracowane na potrzeby platform Kubernetes, Docker, AKS i innych nowoczesnych wdrożeń
Zero Trust Gotowe Integruje się z tożsamością zarządzaną i tokenami potwierdzenia posiadania — utrzymywanie poufnych danych poza kodem aplikacji

Kiedy używać pakietu SDK do uwierzytelniania Microsoft Entra ID (sidecar) lub Microsoft.Identity.Web

Scenario Użyj zestawu SDK uwierzytelniania Microsoft Entra ID (sidecar) Użyj Microsoft. Identity.Web
Obsługa języków Wiele języków (Python, Node.js, Go, Java itp.) tylko .NET
Model wdrażania Kontenery (Kubernetes, Docker, AKS) Dowolny model wdrażania
Wzorce tożsamości Spójne wzorce we wszystkich usługach Głęboka integracja platformy .NET
Tożsamość agenta Dostępne we wszystkich obsługiwanych językach tylko .NET
Walidacja tokenu Dostępne we wszystkich obsługiwanych językach tylko .NET
Model zabezpieczeń Wpisy tajne i tokeny odizolowane od kodu aplikacji Integracja z aplikacją
Wydajność Wymagany dodatkowy przeskok sieciowy Bezpośrednie wywołania wewnątrzprocesowe
Integracja z platformą Integracja interfejsu API HTTP Natywna integracja .NET
Konteneryzacja Przeznaczony dla środowisk konteneryzowanych Działa z kontenerami lub bez tych kontenerów

Zobacz Porównanie z Microsoft.Identity.Web dla uzyskania szczegółowych wskazówek dotyczących wyboru między dwoma podejściami.

Walidacja tokenu

Zestaw Microsoft Entra ID Auth SDK (sidecar) weryfikuje tokeny dostępu i tokeny identyfikacyjne wystawione przez Microsoft Entra ID, w tym tokeny dostępu przeznaczone wyłącznie dla aplikacji osadzone w poświadczeniach SHR PoP, weryfikując ich podpisy na podstawie kluczy publicznych Microsoft Entra ID, sprawdzając terminy wygaśnięcia oraz upewniając się, że tokeny są przeznaczone dla Twojej aplikacji. W przypadku poświadczeń SHR PoP sprawdza także podpis SHR i zawsze weryfikuje znacznik czasu (ts). Domyślnie weryfikuje metodę HTTP (m), nazwę hosta albo nazwę hosta i port (u) oraz ścieżkę (p); operatorzy mogą wyłączyć te sprawdzenia. Powiązanie z parametrami zapytania (q) jest opcjonalne, a schemat URI, nagłówki (h) i treść (b) nie są weryfikowane. Po zweryfikowaniu można wyodrębnić oświadczenia, role i zakresy, aby podejmować świadome decyzje dotyczące autoryzacji w ramach logiki aplikacji.

Tworzenie nagłówka pozyskiwania/autoryzacji tokenu

  • Przepływ On-Behalf-Of OAuth 2.0 — delegowanie kontekstu użytkownika do docelowych interfejsów API
  • Poświadczenia klienta — uwierzytelnianie aplikacji do aplikacji
  • Zarządzana tożsamość — uwierzytelnianie natywnej usługi Azure
  • Tożsamość agenta — wzorce autonomicznych lub delegowanych agentów

Wywołania interfejsu API podrzędnego

  • Automatyczne uzyskiwanie i dołączanie tokenów
  • Opcjonalne zastąpienia żądania (zakresy, metoda, nagłówki)
  • Obsługa podpisanych żądań HTTP (PoP/SHR)

Scenariusze i samouczki

Poniższe przewodniki to kompleksowe samouczki krok po kroku z praktycznymi przykładami kodu pokazującymi, jak zintegrować zestaw MICROSOFT ENTRA ID Auth SDK (sidecar) z aplikacjami. Każdy scenariusz zawiera kompletne przykłady żądań/odpowiedzi, fragmenty kodu i wzorce implementacji dostosowane do różnych języków programowania i struktur.

Scenario Description
Weryfikowanie nagłówka autoryzacji Wyodrębnianie deklaracji z tokenów okaziciela lub poświadczeń SHR PoP używanych wyłącznie przez aplikację na potrzeby kontroli dostępu i niestandardowego oprogramowania pośredniczącego do autoryzacji
Uzyskaj nagłówek autoryzacji Uzyskiwanie tokenów do bezpiecznego wywoływania podrzędnych interfejsów API
Wywoływanie interfejsu API podrzędnego Wykonuj wywołania HTTP do chronionych API z automatycznym dołączaniem tokenu dla wielojęzycznych mikrousług.
Korzystanie z tożsamości zarządzanej Uwierzytelnij się jako usługa Azure do wywoływania Microsoft Graph lub innych usług Azure
Implementowanie długoterminowego przepływu OBO Obsługa kontekstu użytkownika w przypadku długotrwałych operacji przy użyciu odświeżania tokenu i delegowania w imieniu użytkownika
Używanie podpisanych żądań HTTP Implementowanie zabezpieczeń dowodu posiadania przy użyciu tokenów poP
Autonomiczne przetwarzanie wsadowe agenta Przetwarzanie zadań wsadowych przy użyciu tożsamości agenta autonomicznego
Integracja z języka TypeScript Korzystanie z SDK uwierzytelniania Microsoft Entra ID (sidecar) w aplikacjach Node.js/Express/NestJS
Zintegruj z Pythonem Używanie zestawu SDK uwierzytelniania Microsoft Entra ID (sidecar) w aplikacjach Flask/FastAPI/Django

Wzorce architektury

Typowy przepływ, w którym klient wywołuje interfejs API sieci Web, a ten deleguje operacje związane z tożsamością do pakietu SDK uwierzytelniania Microsoft Entra ID (sidecar) za pomocą punktów końcowych HTTP. Zestaw SDK weryfikuje tokeny przychodzące przy użyciu punktu końcowego /Validate, uzyskuje tokeny przy użyciu /AuthorizationHeader i /AuthorizationHeaderUnauthenticated, i może bezpośrednio wywoływać dalsze interfejsy API przy użyciu /DownstreamApi i /DownstreamApiUnauthenticated.

Współdziała z Microsoft Entra ID w sprawie wystawiania tokenów oraz pobierania metadanych Open ID Connect, z architekturą przedstawioną w poniższym fragmencie kodu:

%%{init: {
  "theme": "base",
  "themeVariables": {
    "background": "#121212",
    "primaryColor": "#1E1E1E",
    "primaryBorderColor": "#FFFFFF",
    "primaryTextColor": "#FFFFFF",
    "textColor": "#FFFFFF",
    "lineColor": "#FFFFFF",
    "labelBackground": "#000000"
  }
}}%%
flowchart LR
    classDef dnode fill:#1E1E1E,stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF
    linkStyle default stroke:#FFFFFF,stroke-width:2px,color:#FFFFFF

    client[Client Application]:::dnode -->| Bearer or PoP over HTTP | webapi[Web API]:::dnode
    subgraph Pod / Host
        webapi -->|"/Validate<br/>/AuthorizationHeader/{name}<br/>/DownstreamApi/{name}"| sidecar["Microsoft Entra ID Auth SDK (sidecar)"]:::dnode
    end
    sidecar -->|Token validation & acquisition| entra[Microsoft Entra ID]:::dnode

Pomoc techniczna i zasoby

Poniższe zasoby zawierają kompleksowe wskazówki i pomoc w rozwiązywaniu problemów i odpowiedzi na typowe pytania.

Resource Description
Tożsamości agenta Dowiedz się więcej o autonomicznych i delegowanych wzorcach agentów dla zaawansowanych scenariuszy
Dokumentacja interfejsu API Kompletna dokumentacja punktu końcowego z formatami żądań/odpowiedzi, parametrami zapytania i kodami błędów
Rozwiązywanie problemów Typowe problemy i rozwiązania krok po kroku dotyczące problemów z wdrażaniem i środowiskiem uruchomieniowym
FAQ Często zadawane pytania dotyczące konfiguracji, zabezpieczeń i integracji

Aby uzyskać dodatkową pomoc: