Eksplorowanie uwierzytelniania
Uwierzytelnianie polega na weryfikowaniu tożsamości użytkownika, aplikacji lub urządzenia i zapewnieniu, że są tym, za kogo się podają. Następnie należy również zapewnić odpowiedni poziom weryfikacji i zabezpieczeń w całej transakcji uwierzytelniania. Uwierzytelnianie tożsamości zapewnia:
- Elastyczne, zgodne ze standardami uwierzytelnianie zintegrowane między organizacjami
- Integracja różnych źródeł, aplikacji i protokołów
- Stosuje wiele różnych branżowych standardowych metod walidacji i zapewniania
Użycie dostawcy tożsamości do uwierzytelniania umożliwia zapewnienie bezpiecznych tożsamości bez ograniczania możliwości użytkowników. Uzyskujesz wygodę, wiele źródeł weryfikacji tożsamości, protokołów branżowych i zapewniania tożsamości.
Wygoda — funkcjonalność wygody koncentruje się na doświadczeniu użytkowników końcowych, sposób, w jaki są proszeni o poświadczenia uwierzytelniające. Skoncentruj się tutaj na środowisku użytkownika końcowego. Jeśli coś nie jest łatwe, użytkownicy go unikają lub narzekają.
Źródła — możliwości źródeł otaczają lokalizację, z której użytkownik uzyskuje token uwierzytelniania. Wiele organizacji ma to, co ich zdaniem jest scentralizowanym wystawcą (Microsoft Entra ID), ale w rzeczywistości większość organizacji ma również inne repozytoria tożsamości. Tożsamość federacyjna jest najczęstszym innym dostawcą tożsamości.
Protokoły — często organizacje mają różne protokoły uwierzytelniania, które powodują niekorzystne doświadczenia zarówno dla użytkowników końcowych, jak i dla samej organizacji. Celem tej funkcji jest ułatwienie organizacji standaryzacji co najmniej jednego, nowoczesnego i bezpiecznego protokołów uwierzytelniania w celu osiągnięcia celów uwierzytelniania.
Zapewnienie — uwierzytelnianie zapewnia pewność, że organizacja ma pewność, że osoba, która uzyskuje dostęp do zasobu, jest tym, kim są. Ta funkcja mówi o tym, czy organizacja korzysta z kont udostępnionych, jeśli używa spersonalizowanych kont i czy istnieją rozwiązania, takie jak uwierzytelnianie wieloskładnikowe lub uwierzytelnianie oparte na ryzyku.
Tożsamość federacyjna
Federacja jest zbiorem domen z ustanowionym zaufaniem. Poziom zaufania różni się, ale zazwyczaj obejmuje uwierzytelnianie i prawie zawsze obejmuje autoryzację. Ta federacja umożliwia stosowanie istniejących tożsamości z zaufanych źródeł, takich jak istniejąca lokalna usługa Active Directory.
Typowe protokoły komunikacyjne w tożsamości
| Protokół | Opis i użycie |
|---|---|
| SAML — język znaczników asercji zabezpieczeń | Otwarty standard wymiany danych uwierzytelniania i autoryzacji między dostawcą tożsamości a dostawcą usług. Typowe atrybuty JĘZYKA SAML: |
| Podmiot = zazwyczaj użytkownik lub urządzenie | |
| IdP = dostawca tożsamości | |
| SP = dostawca usług | |
| WS-Fed — federacja usług sieci Web | Specyfikacja tożsamości z platformy zabezpieczeń usług sieci Web w celu zapewnienia logowania jednokrotnego za pośrednictwem zewnętrznej wymiany tożsamości i uwierzytelniania. |
| OIDC — OpenID Connect | OIDC rozszerza protokół autoryzacji OAuth 2.0 do użycia jako protokół uwierzytelniania, dzięki czemu można wykonywać logowanie jednokrotne przy użyciu protokołu OAuth. |
OpenID Connect
OpenID Connect (OIDC) to protokół uwierzytelniania oparty na protokole OAuth 2.0. Ten protokół umożliwia użytkownikowi bezpieczne logowanie użytkownika do aplikacji. W przypadku korzystania z implementacji programu OpenID Connect Platforma tożsamości Microsoft możesz dodać dostęp do logowania i interfejsu API do aplikacji. OpenID Connect rozszerza protokół autoryzacji OAuth 2.0 do użycia jako protokół uwierzytelniania, dzięki czemu można przeprowadzić logowanie jednokrotne przy użyciu protokołu OAuth. OpenID Connect wprowadza pojęcie tokenu ID, czyli tokenu bezpieczeństwa, który umożliwia klientowi weryfikację tożsamości użytkownika. Token identyfikatora pobiera również podstawowe informacje o profilu użytkownika. Wprowadzono również punkt końcowy UserInfo, interfejs API, który zwraca informacje o użytkowniku.
Tożsamość oparta na oświadczeniach w identyfikatorze Entra firmy Microsoft
Gdy użytkownik zaloguje się, identyfikator Entra firmy Microsoft wysyła token identyfikatora zawierający zestaw oświadczeń dotyczących użytkownika. Oświadczenie jest po prostu elementem informacji wyrażonym jako para klucz/wartość. Na przykład email=bob@contoso.com. Oświadczenia mają wystawcę (w tym przypadku microsoft Entra ID), który jest jednostką, która uwierzytelnia użytkownika i tworzy oświadczenia. Oświadczenia są zaufane, ponieważ ufasz wystawcy. (Z drugiej strony, jeśli nie ufasz wystawcy, nie ufaj oświadczeniam!)
Na wysokim poziomie:
- Użytkownik uwierzytelnia się.
- Dostawca tożsamości wysyła zestaw oświadczeń.
- Aplikacja normalizuje lub rozszerza oświadczenia (opcjonalnie).
- Aplikacja używa oświadczeń do podejmowania decyzji dotyczących autoryzacji.
W programie OpenID Connect zestaw pobieranych oświadczeń jest kontrolowany za pomocą parametru zakresu żądania uwierzytelniania. Jednak identyfikator Entra firmy Microsoft wystawia ograniczony zestaw oświadczeń za pośrednictwem protokołu OpenID Connect za pośrednictwem tokenu zabezpieczającego; przede wszystkim przy użyciu tokenów sieci Web JSON. Jeśli chcesz uzyskać więcej informacji o użytkowniku, musisz użyć interfejsu API programu Graph z identyfikatorem Microsoft Entra.
Tokeny zabezpieczające
Platforma tożsamości Microsoft uwierzytelnia użytkowników i udostępnia tokeny zabezpieczające, takie jak tokeny dostępu, tokeny odświeżania i tokeny identyfikatorów. Tokeny zabezpieczające umożliwiają aplikacji klienckiej dostęp do chronionych zasobów na serwerze zasobów. Istnieją trzy typowe typy tokenów, tokeny dostępu, tokeny odświeżania i tokeny identyfikatorów.
- Token dostępu — token dostępu to token zabezpieczający wystawiony przez serwer autoryzacji w ramach przepływu OAuth 2.0. Zawiera on informacje o użytkowniku i zasobie, dla którego jest przeznaczony token. Te informacje mogą służyć do uzyskiwania dostępu do internetowych interfejsów API i innych chronionych zasobów. Tokeny dostępu są zweryfikowanymi mechanizmami umożliwiającymi dostęp do aplikacji klienta. Aby dowiedzieć się więcej o tym, jak Platforma tożsamości Microsoft problemy z tokenami dostępu, zobacz Tokeny dostępu.
- Token odświeżania — ponieważ tokeny dostępu są ważne tylko przez krótki czas, serwery autoryzacji wystawiają token odświeżania w tym samym czasie, w którym wystawiono token dostępu. Aplikacja kliencka może następnie w razie potrzeby wymienić ten token odświeżania dla nowego tokenu dostępu. Aby dowiedzieć się więcej o tym, jak Platforma tożsamości Microsoft używa tokenów odświeżania w celu odwołania uprawnień, zobacz Odświeżanie tokenów.
- Token ID — tokeny ID są wysyłane do aplikacji klienckiej w ramach przepływu OpenID Connect. Można je wysyłać razem lub zamiast tokenu dostępu. Tokeny identyfikatorów są używane przez klienta do uwierzytelniania użytkownika. Aby dowiedzieć się więcej o tym, jak Platforma tożsamości Microsoft wystawia tokeny identyfikatorów, zobacz Tokeny identyfikatorów.
Co to jest token internetowy JSON (JWT)?
Token internetowy JSON (JWT) to otwarty standard (RFC 7519), który definiuje kompaktowy i samodzielny sposób bezpiecznego przesyłania informacji między stronami jako obiektu JSON. Te informacje można zweryfikować i zaufać, ponieważ są podpisane cyfrowo. JWTs można podpisać przy użyciu wpisu tajnego lub pary kluczy publicznych/prywatnych. Chociaż JWTs można szyfrować w celu zapewnienia tajemnicy między stronami, skupiamy się na podpisanych tokenach. Podpisane tokeny mogą zweryfikować integralność zawartych w nim oświadczeń, podczas gdy zaszyfrowane tokeny ukrywają te oświadczenia przed innymi stronami. Gdy tokeny są podpisane przy użyciu par kluczy publicznych/prywatnych, podpis potwierdza również, że tylko podmiot przechowujący klucz prywatny jest tym, który go podpisał.
Uwaga
Informacje dostarczone z witryny internetowej JWT — https://jwt.io/.
Definicje w tożsamości opartej na oświadczeniach
Istnieje kilka typowych terminów używanych podczas omawiania tożsamości opartej na oświadczeniach w identyfikatorze Entra firmy Microsoft.
-
Claim — para wartości danych w tokenie zabezpieczającym. Istnieje wiele oświadczeń przesyłanych w tokenie z oświadczenia, które definiuje typ tokenu do metody szyfrowania. Oto przykład:
Header { "alg": "HS256", "typ": "JWT" } Content payload { "sub": "1234567890", "name": "John Doe", "aud": "https://jwt.io" } - Potwierdzenie — pakiet danych, zwykle w postaci tokenu, który udostępnia informacje o tożsamości i zabezpieczeniach użytkownika lub konta w domenach zabezpieczeń.
- Attribute — para wartości danych w tokenie.
- Rozszerzenie — proces dodawania innych oświadczeń do tokenu użytkownika w celu udostępnienia dodatkowych szczegółów dotyczących użytkownika. Rozszerzenie może obejmować dane z systemów zasobów ludzkich (HR) z aplikacji, takiej jak SharePoint lub innych systemów.