Dokumentacja zewnętrznego dostawcy metod uwierzytelniania wieloskładnikowego firmy Microsoft (wersja zapoznawcza)
W tym temacie opisano, jak dostawca uwierzytelniania zewnętrznego łączy się z uwierzytelnianiem wieloskładnikowym firmy Microsoft (MFA). Zewnętrzny dostawca uwierzytelniania może integrować się z dzierżawami microsoft Entra ID jako zewnętrzną metodą uwierzytelniania (EAM). Program EAM może spełnić drugi czynnik wymagania uwierzytelniania wieloskładnikowego w celu uzyskania dostępu do zasobu lub aplikacji. Umowy EAM wymagają co najmniej licencji Microsoft Entra ID P1.
Gdy użytkownik zaloguje się, zostaną ocenione zasady dzierżawy. Wymagania dotyczące uwierzytelniania są określane na podstawie zasobu, do którego użytkownik próbuje uzyskać dostęp.
Wiele zasad może mieć zastosowanie do logowania, w zależności od ich parametrów. Te parametry obejmują użytkowników i grupy, aplikacje, platformę, poziom ryzyka logowania i nie tylko.
Na podstawie wymagań dotyczących uwierzytelniania użytkownik może wymagać zalogowania się przy użyciu innego czynnika, aby spełnić wymaganie uwierzytelniania wieloskładnikowego. Drugi czynnik musi uzupełniać typ pierwszego czynnika.
Umowy EAM są dodawane do identyfikatora Entra firmy Microsoft przez administratora dzierżawy. Jeśli dzierżawa wymaga umowy EAM dla uwierzytelniania wieloskładnikowego, logowanie jest uznawane za spełniające wymaganie uwierzytelniania wieloskładnikowego po zweryfikowaniu obu tych elementów:
- Pierwszy czynnik ukończony przy użyciu identyfikatora Entra firmy Microsoft
- Drugi czynnik został ukończony przy użyciu programu EAM
Ta weryfikacja spełnia wymaganie uwierzytelniania wieloskładnikowego dla co najmniej dwóch typów metod:
- Coś, co znasz (wiedza)
- Coś, co masz (posiadanie)
- Coś, co jesteś (inherence)
Umowy EAM są implementowane na platformie Open ID Connect (OIDC). Ta implementacja wymaga co najmniej trzech publicznych punktów końcowych:
- Punkt końcowy odnajdywania OIDC, zgodnie z opisem w temacie Odnajdywanie metadanych dostawcy
- Prawidłowy punkt końcowy uwierzytelniania OIDC
- Adres URL, pod którym publikowane są publiczne certyfikaty dostawcy
Przyjrzyjmy się bliżej temu, jak logowanie działa z programem EAM:
- Użytkownik próbuje zalogować się przy użyciu pierwszego czynnika, takiego jak hasło, do aplikacji chronionej przez identyfikator Firmy Microsoft Entra.
- Identyfikator Entra firmy Microsoft określa, że należy spełnić inny czynnik. Na przykład zasady dostępu warunkowego wymagają uwierzytelniania wieloskładnikowego.
- Użytkownik wybiera moduł EAM jako drugi czynnik.
- Identyfikator Entra firmy Microsoft przekierowuje sesję przeglądarki użytkownika do adresu URL programu EAM:
- Ten adres URL jest wykrywany na podstawie adresu URL odnajdywania aprowizowanego przez administratora podczas tworzenia programu EAM.
- Aplikacja udostępnia wygasły lub prawie wygasły token zawierający informacje umożliwiające zidentyfikowanie użytkownika i dzierżawy.
- Zewnętrzny dostawca uwierzytelniania sprawdza, czy token pochodzi z identyfikatora Firmy Microsoft Entra i sprawdza zawartość tokenu.
- Zewnętrzny dostawca uwierzytelniania może opcjonalnie wykonać wywołanie programu Microsoft Graph w celu pobrania dodatkowych informacji o użytkowniku.
- Zewnętrzny dostawca uwierzytelniania wykonuje wszelkie czynności, które uważa za niezbędne, takie jak uwierzytelnianie użytkownika przy użyciu niektórych poświadczeń.
- Zewnętrzny dostawca uwierzytelniania przekierowuje użytkownika z powrotem do identyfikatora Entra firmy Microsoft z prawidłowym tokenem, w tym wszystkich wymaganych oświadczeń.
- Identyfikator entra firmy Microsoft sprawdza, czy podpis tokenu pochodzi od skonfigurowanego zewnętrznego dostawcy uwierzytelniania, a następnie sprawdza zawartość tokenu.
- Identyfikator entra firmy Microsoft weryfikuje token pod kątem wymagań.
- Użytkownik spełnił wymaganie uwierzytelniania wieloskładnikowego, jeśli walidacja zakończy się pomyślnie. Użytkownik może również spełniać inne wymagania dotyczące zasad.
Konfigurowanie nowego zewnętrznego dostawcy uwierzytelniania przy użyciu identyfikatora Entra firmy Microsoft
Aplikacja reprezentująca integrację jest wymagana, aby program EAM wystawił id_token_hint. Aplikację można utworzyć na dwa sposoby:
- Utworzono w każdej dzierżawie, która korzysta z dostawcy zewnętrznego.
- Utworzono jako jedną aplikację wielodostępną. Administratorzy ról uprzywilejowanych muszą wyrazić zgodę na włączenie integracji dla swojej dzierżawy.
Aplikacja wielodostępna zmniejsza prawdopodobieństwo błędnej konfiguracji w każdej dzierżawie. Umożliwia również dostawcom wprowadzanie zmian w metadanych, takich jak adresy URL odpowiedzi w jednym miejscu, zamiast wymagać od każdej dzierżawy wprowadzenia zmian.
Aby skonfigurować aplikację wielodostępną, administrator dostawcy musi najpierw:
Utwórz dzierżawę microsoft Entra ID, jeśli jeszcze jej nie ma.
Zarejestruj aplikację w swojej dzierżawie.
Ustaw obsługiwane typy kont aplikacji na: Konta w dowolnym katalogu organizacyjnym (Dowolna dzierżawa identyfikatora entra firmy Microsoft — wielodostępna).
Dodaj delegowane uprawnienie
openid
iprofile
program Microsoft Graph do aplikacji.Nie publikuj żadnych zakresów w tej aplikacji.
Dodaj prawidłowe adresy URL authorization_endpoint dostawcy tożsamości zewnętrznej do tej aplikacji jako adresy URL odpowiedzi.
Uwaga
Authorization_endpoint podany w dokumencie odnajdywania dostawcy należy dodać jako adres URL przekierowania w rejestracji aplikacji. W przeciwnym razie wystąpi następujący błąd: ENTRA IDSTS50161: Nie można zweryfikować adresu URL autoryzacji zewnętrznego dostawcy oświadczeń!
Proces rejestracji aplikacji tworzy aplikację z kilkoma właściwościami. Te właściwości są wymagane w naszym scenariuszu.
Właściwości | opis |
---|---|
Identyfikator obiektu | Dostawca może używać identyfikatora obiektu w programie Microsoft Graph do wykonywania zapytań dotyczących informacji o aplikacji. Dostawca może użyć identyfikatora obiektu, aby programowo pobrać i edytować informacje o aplikacji. |
Application ID | Dostawca może użyć identyfikatora aplikacji jako ClientId aplikacji. |
Adres URL strony głównej | Adres URL strony głównej dostawcy nie jest używany do niczego, ale jest wymagany w ramach rejestracji aplikacji. |
Adresy URL odpowiedzi | Prawidłowe adresy URL przekierowania dla dostawcy. Powinien on być zgodny z adresem URL hosta dostawcy ustawionym dla dzierżawy dostawcy. Jeden z zarejestrowanych adresów URL odpowiedzi musi być zgodny z prefiksem authorization_endpoint, który identyfikator Entra firmy Microsoft pobiera za pośrednictwem odnajdywania OIDC dla adresu URL hosta. |
Aplikacja dla każdej dzierżawy jest również prawidłowym modelem obsługującym integrację. Jeśli używasz rejestracji z jedną dzierżawą, administrator dzierżawy musi utworzyć rejestrację aplikacji z właściwościami w poprzedniej tabeli dla aplikacji z jedną dzierżawą.
Uwaga
Zgoda administratora dla aplikacji jest wymagana w dzierżawie korzystającej z programu EAM. Jeśli zgoda nie zostanie udzielona, zostanie wyświetlony następujący błąd, gdy administrator spróbuje użyć programu EAM: AADSTS900491: nie można odnaleźć jednostki <usługi identyfikatora aplikacji> .
Konfigurowanie opcjonalnych oświadczeń
Dostawca może skonfigurować więcej oświadczeń przy użyciu opcjonalnych oświadczeń dla id_token.
Uwaga
Niezależnie od sposobu tworzenia aplikacji dostawca musi skonfigurować opcjonalne oświadczenia dla każdego środowiska chmury. Jeśli aplikacja wielodostępna jest używana na potrzeby globalnej platformy Azure i platformy Azure dla instytucji rządowych USA, każde środowisko w chmurze wymaga innego identyfikatora aplikacji i aplikacji.
Dodawanie programu EAM do identyfikatora entra firmy Microsoft
Informacje o zewnętrznym dostawcy tożsamości są przechowywane w zasadach metod uwierzytelniania dla każdej dzierżawy. Informacje o dostawcy są przechowywane jako metoda uwierzytelniania typu externalAuthenticationMethodConfiguration.
Każdy dostawca ma jeden wpis w obiekcie listy zasad. Każdy wpis musi być w stanie:
- Jeśli metoda jest włączona
- Uwzględnione grupy, które mogą używać metody
- Wykluczone grupy, które nie mogą używać metody
Administratorzy dostępu warunkowego mogą utworzyć zasady za pomocą opcji Wymagaj udzielenia uwierzytelniania wieloskładnikowego, aby ustawić wymaganie uwierzytelniania wieloskładnikowego na potrzeby logowania użytkownika. Metody uwierzytelniania zewnętrznego nie są obecnie obsługiwane z siłami uwierzytelniania.
Aby uzyskać więcej informacji na temat dodawania zewnętrznej metody uwierzytelniania w centrum administracyjnym firmy Microsoft Entra, zobacz Zarządzanie zewnętrzną metodą uwierzytelniania w usłudze Microsoft Entra ID (wersja zapoznawcza).
Interakcja identyfikatora Entra firmy Microsoft z dostawcą
W następnych sekcjach opisano wymagania dotyczące dostawcy i opisano przykłady interakcji identyfikatora Entra firmy Microsoft z dostawcą.
Odnajdywanie metadanych dostawcy
Zewnętrzny dostawca tożsamości musi zapewnić punkt końcowy odnajdywania OIDC. Ten punkt końcowy służy do uzyskiwania większej ilości danych konfiguracji. Pełny adres URL, w tym .Dobrze znana/konfiguracja oidc-configuration musi być uwzględniona w adresie URL odnajdywania skonfigurowanym podczas tworzenia programu EAM.
Punkt końcowy zwraca tam dokument JSON metadanych dostawcy. Punkt końcowy musi również zwrócić prawidłowy nagłówek zawartości.
W poniższej tabeli wymieniono dane, które powinny znajdować się w metadanych dostawcy. Te wartości są wymagane w tym scenariuszu rozszerzalności. Dokument metadanych JSON może zawierać więcej informacji.
Aby uzyskać dokument OIDC z wartościami metadanych dostawcy, zobacz Metadane dostawcy.
Wartość metadanych | Wartość | Komentarze |
---|---|---|
Wystawca | Ten adres URL powinien być zgodny zarówno z adresem URL hosta używanym do odnajdywania, jak i oświadczeniem is w tokenach wystawionych przez usługę dostawcy. | |
authorization_endpoint | Punkt końcowy, z którego komunikuje się identyfikator Entra firmy Microsoft na potrzeby autoryzacji. Ten punkt końcowy musi być obecny jako jeden z adresów URL odpowiedzi dla dozwolonych aplikacji. | |
jwks_uri | Gdzie identyfikator Entra firmy Microsoft może znaleźć klucze publiczne potrzebne do zweryfikowania podpisów wystawionych przez dostawcę. [!UWAGA] Parametr JSON Web Key (JWK) x5c musi być obecny, aby zapewnić reprezentacje X.509 kluczy. |
|
scopes_supported | openid | Inne wartości mogą być również uwzględniane, ale nie są wymagane. |
response_types_supported | id_token | Inne wartości mogą być również uwzględniane, ale nie są wymagane. |
subject_types_supported | ||
id_token_signing_alg_values_supported | Firma Microsoft obsługuje rs256 | |
claim_types_supported | normalny | Ta właściwość jest opcjonalna, ale jeśli istnieje, powinna zawierać wartość normalną; można również uwzględnić inne wartości. |
http://customcaserver.azurewebsites.net/v2.0/.well-known/openid-configuration
{
"authorization_endpoint": "https://customcaserver.azurewebsites.net/api/Authorize",
"claims_supported": [
"email"
],
"grant_types_supported": [
"implicit"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"issuer": "https://customcaserver.azurewebsites.net",
"jwks_uri": "http://customcaserver.azurewebsites.net/.well-known/jwks",
"response_modes_supported": [
"form_post"
],
"response_types_supported": [
"id_token"
],
"scopes_supported": [
"openid"
],
"SigningKeys": [],
"subject_types_supported": [
"public"
]
}
http://customcaserver.azurewebsites.net/.well-known/jwks
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"kid": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"x5t": "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u",
"n": "jq277LRoE6WKM0awT3b...vt8J6MZvmgboVB9S5CMQ",
"e": "AQAB",
"x5c": [
"cZa3jz...Wo0rzA="
]
}
]
}
Uwaga
Parametr JWK x5c musi być obecny, aby zapewnić reprezentacje X.509 dostarczonych kluczy.
Buforowanie metadanych dostawcy
Aby zwiększyć wydajność, identyfikator Entra firmy Microsoft buforuje metadane zwracane przez dostawcę, w tym klucze. Buforowanie metadanych dostawcy uniemożliwia wywołanie odnajdywania za każdym razem, gdy identyfikator Entra firmy Microsoft komunikuje się z zewnętrznym dostawcą tożsamości.
Ta pamięć podręczna jest odświeżona co 24 godziny (jeden dzień). Oto jak sugerujemy przerzucanie kluczy przez dostawcę:
- Opublikuj istniejący certyfikat i nowy certyfikat w jwks_uri.
- Kontynuuj podpisywanie przy użyciu istniejącego certyfikatu , dopóki pamięć podręczna identyfikatora entra firmy Microsoft nie zostanie odświeżona, wygasła lub zaktualizowana (co 2 dni).
- Przejdź do podpisywania przy użyciu nowego certyfikatu.
Nie publikujemy harmonogramów przerzucania kluczy. Usługa zależna musi być przygotowana do obsługi zarówno natychmiastowych, jak i okresowych przerzucania. Zalecamy użycie dedykowanej biblioteki utworzonej w tym celu, takiej jak azure-activedirectory-identitymodel-extensions-for-dotnet. Aby uzyskać więcej informacji, zobacz Podpisywanie przerzucania klucza w usłudze Microsoft Entra ID.
Odnajdywanie metadanych identyfikatora entra firmy Microsoft
Dostawcy muszą również pobrać klucze publiczne identyfikatora Entra firmy Microsoft, aby zweryfikować tokeny wystawione przez identyfikator Entra firmy Microsoft.
Punkty końcowe odnajdywania metadanych identyfikatora entra firmy Microsoft:
- Globalna platforma Azure:
https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
- Platforma Azure dla instytucji rządowych USA:
https://login.microsoftonline.us/common/v2.0/.well-known/openid-configuration
- Platforma Microsoft Azure obsługiwana przez firmę 21Vianet:
https://login.partner.microsoftonline.cn/common/v2.0/.well-known/openid-configuration
Przy użyciu identyfikatora klucza publicznego z tokenu ("dziecko" z usługi JSON Web Signature (JWS) można określić, które klucze pobrane z właściwości jwks_uri należy użyć do zweryfikowania podpisu tokenu identyfikatora entra firmy Microsoft.
Weryfikowanie tokenów wystawionych przez identyfikator entra firmy Microsoft
Aby uzyskać informacje na temat sprawdzania poprawności tokenów wystawionych przez identyfikator firmy Microsoft Entra, zobacz Weryfikowanie i token identyfikatora. Nie ma żadnych specjalnych kroków dla użytkowników metadanych odnajdywania.
Biblioteka weryfikacji tokenów firmy Microsoft zawiera wszystkie szczegółowe informacje na temat konkretnej weryfikacji tokenu, które zostały udokumentowane, lub można je ustalić podczas przeglądania kodu źródłowego. Aby zapoznać się z przykładem, zobacz Przykłady platformy Azure.
Po pomyślnym zakończeniu walidacji możesz pracować z ładunkiem oświadczeń, aby uzyskać szczegółowe informacje o użytkowniku i dzierżawie.
Uwaga
Należy zweryfikować id_token_hint, aby upewnić się, że id_token_hint pochodzi z dzierżawy firmy Microsoft i reprezentuje twoją integrację. Id_token_hint należy w pełni zweryfikować, w szczególności podpis, wystawcę, odbiorców, a także inne wartości oświadczenia.
Wywołanie identyfikatora Entra firmy Microsoft do zewnętrznego dostawcy tożsamości
Identyfikator Entra firmy Microsoft używa niejawnego przepływu OIDC do komunikowania się z zewnętrznym dostawcą tożsamości. Przy użyciu tego przepływu komunikacja z dostawcą odbywa się wyłącznie przy użyciu punktu końcowego autoryzacji dostawcy. Aby poinformować dostawcę o użytkowniku, dla którego identyfikator Entra firmy Microsoft wysyła żądanie, identyfikator Entra firmy Microsoft przekazuje token za pośrednictwem parametru id_token_hint .
To wywołanie jest wykonywane za pośrednictwem żądania POST, ponieważ lista parametrów przekazanych do dostawcy jest duża. Duża lista uniemożliwia korzystanie z przeglądarek, które ograniczają długość żądania GET.
Parametry żądania uwierzytelniania są wymienione w poniższej tabeli.
Uwaga
Jeśli nie wymieniono ich w poniższej tabeli, inne parametry w żądaniu powinny być ignorowane przez dostawcę.
Parametr zapytania uwierzytelniania | Wartość | Opis |
---|---|---|
zakres | openid | |
response_type | Id_token | Wartość używana dla przepływu niejawnego. |
response_mode | form_post | Używamy formularza POST, aby uniknąć problemów z dużymi adresami URL. Oczekujemy, że wszystkie parametry zostaną wysłane w treści żądania. |
client_id | Identyfikator klienta podany firmie Microsoft Entra ID przez zewnętrznego dostawcę tożsamości, takiego jak ABCD. Aby uzyskać więcej informacji, zobacz Opis metody uwierzytelniania zewnętrznego. | |
redirect_url | Identyfikator URI (URI), do którego dostawca tożsamości zewnętrznej wysyła odpowiedź (id_token_hint). | |
Zobacz przykład po tej tabeli. | ||
nonce | Losowy ciąg wygenerowany przez identyfikator Entra firmy Microsoft. Może to być identyfikator sesji. Jeśli zostanie podana, musi zostać zwrócona w odpowiedzi z powrotem do identyfikatora Entra firmy Microsoft. | |
stan | W przypadku przekazania dostawca powinien zwrócić stan w odpowiedzi. Identyfikator Entra firmy Microsoft używa stanu, aby zachować kontekst połączenia. | |
id_token_hint | Token wystawiony przez firmę Microsoft Entra ID dla użytkownika końcowego i przekazany z korzyścią dla dostawcy. | |
oświadczenia | Obiekt blob JSON zawierający żądane oświadczenia. Aby uzyskać szczegółowe informacje na temat formatu tego parametru, zobacz parametr żądania oświadczeń z dokumentacji OIDC i przykład po tej tabeli. | |
client-request-id | Wartość identyfikatora GUID | Dostawca może zarejestrować tę wartość, aby pomóc w rozwiązywaniu problemów. |
Przykład identyfikatora URI przekierowania
Identyfikatory URI (Uniform Resource Identifier) przekierowania powinny być zarejestrowane u dostawcy poza pasmem. Identyfikatory URI przekierowania, które można wysłać, to:
- Globalna platforma Azure:
https://login.microsoftonline.com/common/federation/externalauthprovider
- Platforma Azure dla instytucji rządowych USA:
https://login.microsoftonline.us/common/federation/externalauthprovider
- Platforma Microsoft Azure obsługiwana przez firmę 21Vianet:
https://login.partner.microsoftonline.cn/common/federation/externalauthprovider
Przykład modułu EAM spełniającego uwierzytelnianie wieloskładnikowe
Oto przykład uwierzytelniania, w którym usługa EAM spełnia uwierzytelnianie wieloskładnikowe. Ten przykład ułatwia dostawcy poznanie oświadczeń, których oczekuje identyfikator Entra firmy Microsoft.
Kombinacja acr
wartości i amr
jest używana przez identyfikator Entra firmy Microsoft do sprawdzania poprawności:
- Metoda uwierzytelniania używana dla drugiego czynnika spełnia wymaganie uwierzytelniania wieloskładnikowego
- Metoda uwierzytelniania różni się od metody użytej do ukończenia pierwszego czynnika logowania do identyfikatora Entra firmy Microsoft
{
"id_token": {
"acr": {
"essential": true,
"values":["possessionorinherence"]
},
"amr": {
"essential": true,
"values": ["face", "fido", "fpt", "hwk", "iris", "otp", "pop", "retina", "sc", "sms", "swk", "tel", "vbm"]
}
}
}
Domyślne oświadczenia Id_token_hint
W tej sekcji opisano wymaganą zawartość tokenu przekazaną jako id_token_hint w żądaniu przekazanym do dostawcy. Token może zawierać więcej oświadczeń niż w poniższej tabeli.
Oświadczenie | Wartość | Opis |
---|---|---|
iss | Identyfikuje usługę tokenu zabezpieczającego (STS), która konstruuje i zwraca token, oraz dzierżawę microsoft Entra ID, w której użytkownik się uwierzytelnił. Aplikacja powinna używać części identyfikatora GUID oświadczenia, aby ograniczyć zestaw dzierżaw, które mogą logować się do aplikacji, jeśli ma to zastosowanie. Wystawca powinien być zgodny z adresem URL wystawcy z metadanych JSON odnajdywania OIDC dla dzierżawy, w której zalogował się użytkownik. | |
Aud | Odbiorcy powinni być ustawieni na identyfikator klienta zewnętrznego dostawcy tożsamości dla identyfikatora Entra firmy Microsoft. | |
exp | Czas wygaśnięcia jest ustawiony na wygaśnięcie krótkiego czasu po upływie czasu wystawienia, co pozwala uniknąć niesymetryczności czasu. Ponieważ ten token nie jest przeznaczony do uwierzytelniania, nie ma powodu, aby jego ważność znacznie wyprzedać żądanie. | |
iat | Ustaw czas wystawiania w zwykły sposób. | |
Tid | Identyfikator dzierżawy służy do reklamowania dzierżawy dostawcy. Reprezentuje dzierżawę identyfikatora Entra firmy Microsoft, z którego pochodzi użytkownik. | |
Oid | Niezmienny identyfikator obiektu w Platforma tożsamości Microsoft. W takim przypadku jest to konto użytkownika. Może również służyć do bezpiecznego przeprowadzania kontroli autoryzacji i jako klucza w tabelach bazy danych. Ten identyfikator jednoznacznie identyfikuje użytkownika w aplikacjach. Dwie różne aplikacje logujące się w tym samym użytkowniku otrzymują tę samą wartość w oświadczeniu oid. W związku z tym oid można używać w zapytaniach do Usługi online firmy Microsoft, takich jak Microsoft Graph. | |
preferred_username | Udostępnia zrozumiałą wartość identyfikującą podmiot tokenu. Ta wartość nie jest gwarantowana jako unikatowa w ramach dzierżawy i jest przeznaczona tylko do celów wyświetlania. | |
sub | Identyfikator podmiotu użytkownika końcowego w wystawcy. Podmiot zabezpieczeń, o którym token potwierdza informacje, takie jak użytkownik aplikacji. Ta wartość jest niezmienna i nie można jej ponownie przypisać ani ponownie użyć. Może służyć do bezpiecznego przeprowadzania kontroli autoryzacji, na przykład gdy token jest używany do uzyskiwania dostępu do zasobu i może służyć jako klucz w tabelach bazy danych. Ponieważ temat jest zawsze obecny w tokenach, które problemy z identyfikatorem Entra firmy Microsoft, zalecamy użycie tej wartości w systemie autoryzacji ogólnego przeznaczenia. Podmiot jest jednak identyfikatorem parowania; jest on unikatowy dla określonego identyfikatora aplikacji. W związku z tym, jeśli jeden użytkownik zaloguje się do dwóch różnych aplikacji przy użyciu dwóch różnych identyfikatorów klientów, te aplikacje otrzymają dwie różne wartości oświadczenia podmiotu. Ten wynik może być lub nie jest pożądany, w zależności od architektury i wymagań dotyczących prywatności. Zobacz również oświadczenie oid (które pozostaje takie samo w aplikacjach w dzierżawie). |
Aby zapobiec jego użyciu dla innych elementów niż wskazówka, token jest wystawiany jako wygasły. Token jest podpisany i można go zweryfikować przy użyciu opublikowanych metadanych odnajdywania identyfikatorów entra firmy Microsoft.
Opcjonalne oświadczenia z identyfikatora Entra firmy Microsoft
Jeśli dostawca potrzebuje opcjonalnych oświadczeń z identyfikatora Entra firmy Microsoft, możesz skonfigurować następujące opcjonalne oświadczenia dla id_token: given_name
, family_name
, preferred_username
, upn
. Aby uzyskać więcej informacji, zobacz Opcjonalne oświadczenia.
Zalecane użycie oświadczeń
Firma Microsoft zaleca kojarzenie kont po stronie dostawcy z kontem w usłudze Azure AD przy użyciu oświadczeń oid i tid. Te dwa oświadczenia mają gwarancję unikatowości dla konta w dzierżawie.
Przykład id_token_hint
Oto przykład id_token_hint dla elementu członkowskiego katalogu:
{
"typ": "JWT",
"alg": "RS256",
"kid": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1w"
}.{
"ver": "2.0",
"iss": "https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/v2.0",
"sub": "mBfcvuhSHkDWVgV72x2ruIYdSsPSvcj2R0qfc6mGEAA",
"aud": "00001111-aaaa-2222-bbbb-3333cccc4444",
"exp": 1536093790,
"iat": 1536093791,
"nbf": 1536093791,
"name": "Test User 2",
"preferred_username": "testuser2@contoso.com"
"oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}.
Oto przykład wskazówki id_token dla użytkownika-gościa w dzierżawie:
{
"typ": "JWT",
"alg": "RS256",
"kid": "C2dE3fH4iJ5kL6mN7oP8qR9sT0uV1w"
}.{
"ver": "2.0",
"iss": "https://login.microsoftonline.com/9122040d-6c67-4c5b-b112-36a304b66dad/v2.0",
"sub": "mBfcvuhSHkDWVgV72x2ruIYdSsPSvcj2R0qfc6mGEAA",
"aud": "00001111-aaaa-2222-bbbb-3333cccc4444",
"exp": 1536093790,
"iat": 1536093791,
"nbf": 1536093791,
"name": "External Test User (Hotmail)",
"preferred_username": "externaltestuser@hotmail.com",
"oid": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"tid": "aaaabbbb-0000-cccc-1111-dddd2222eeee"
}.
Sugerowane akcje dla zewnętrznych dostawców tożsamości
Zalecamy wykonanie tych kroków przez zewnętrznych dostawców tożsamości. Lista nie jest wyczerpująca, a dostawcy powinni wykonać inne kroki weryfikacji zgodnie z ich potrzebami.
- Z żądania:
- Upewnij się, że redirect_uri została opublikowana w wywołaniu identyfikatora Entra firmy Microsoft do zewnętrznego dostawcy tożsamości.
- Upewnij się, że client_id ma przypisaną wartość do identyfikatora Entra firmy Microsoft, na przykład ABCD.
- Dostawca powinien najpierw zweryfikować id_token_hint, który jest wyświetlany przez identyfikator Firmy Microsoft Entra.
- Z oświadczeń w id_token_hint:
- Opcjonalnie mogą wykonać wywołanie programu Microsoft Graph , aby pobrać inne szczegóły dotyczące tego użytkownika. Oid i tid roszczeń w id_token_hint jest przydatny w tym względzie. Aby uzyskać szczegółowe informacje na temat oświadczeń podanych w id_token_hint, zobacz Domyślne oświadczenia id_token_hint.
- Następnie wykonaj inne działania uwierzytelniania tworzone przez produkt dostawcy.
- W zależności od wyniku działań użytkownika i innych czynników dostawca utworzy i wyśle odpowiedź z powrotem do identyfikatora Entra firmy Microsoft, jak wyjaśniono w następnej sekcji.
Przetwarzanie odpowiedzi dostawcy przez identyfikator entra firmy Microsoft
Dostawca musi opublikować odpowiedź z powrotem na redirect_uri. Następujące parametry powinny zostać podane w odpowiedzi zakończonej powodzeniem:
Parametr | Wartość | Opis |
---|---|---|
id_token | Token wystawiony przez zewnętrznego dostawcę tożsamości. | |
stan | Ten sam stan, który został przekazany w żądaniu, jeśli istnieje. W przeciwnym razie ta wartość nie powinna być obecna. |
W przypadku powodzenia dostawca wystawi id_token dla użytkownika. Identyfikator Entra firmy Microsoft używa opublikowanych metadanych OIDC, aby sprawdzić, czy token zawiera oczekiwane oświadczenia i wykonuje inną walidację tokenu wymaganego przez OIDC.
Oświadczenie | Wartość | Opis |
---|---|---|
iss | Wystawca — musi być zgodny z wystawcą z metadanych odnajdywania dostawcy. | |
Aud | Odbiorcy — identyfikator klienta Entra ID firmy Microsoft. Zobacz client_id w wywołaniu identyfikatora entra firmy Microsoft do zewnętrznego dostawcy tożsamości. | |
exp | Czas wygaśnięcia — ustawiony jak zwykle. | |
iat | Czas wystawiania — ustawiony jak zwykle. | |
sub | Temat — musi odpowiadać sub z id_token_hint wysłanego w celu zainicjowania tego żądania. | |
nonce | Ten sam nonce, który został przekazany w żądaniu. | |
acr | Oświadczenia acr dla żądania uwierzytelniania. Ta wartość powinna być zgodna z jedną z wartości z żądania wysłanego w celu zainicjowania tego żądania. Należy zwrócić tylko jedno oświadczenie acr. Aby uzyskać listę oświadczeń, zobacz Obsługiwane oświadczenia acr. | |
Amr | Oświadczenia amr dla metody uwierzytelniania używanej w uwierzytelnianiu. Ta wartość powinna być zwracana jako tablica i należy zwrócić tylko jedno oświadczenie metody. Aby uzyskać listę oświadczeń, zobacz Obsługiwane oświadczenia amr. |
Obsługiwane oświadczenia usługi acr
Oświadczenie | Uwagi |
---|---|
posiadanieorinherence | Uwierzytelnianie musi odbywać się przy użyciu czynnika opartego na posiadaniu lub inherence. |
knowledgeorpossession | Uwierzytelnianie musi odbywać się przy użyciu czynnika opartego na wiedzy lub posiadaniu. |
knowledgeorinherence | Uwierzytelnianie musi odbywać się przy użyciu czynnika opartego na wiedzy lub inherence. |
knowledgeorpossessionorinherence | Uwierzytelnianie musi odbywać się przy użyciu czynnika opartego na wiedzy lub posiadaniu lub inherence. |
baza wiedzy | Uwierzytelnianie musi odbywać się przy użyciu współczynnika baza wiedzy d. |
posiadanie | Uwierzytelnianie musi odbywać się przy użyciu czynnika opartego na posiadaniu. |
inherence (inherence) | Uwierzytelnianie musi odbywać się przy użyciu współczynnika opartego na inherence. |
Obsługiwane oświadczenia amr
Oświadczenie | Uwagi |
---|---|
rozpoznawanie twarzy | Biometryczne z rozpoznawaniem twarzy |
Fido | Użyto fiDO2 |
fpt | Biometryczne z odciskiem palca |
hwk | Dowód posiadania klucza zabezpieczonego sprzętem |
tęczówka | Biometryczne ze skanowaniem tęczówki |
otp | Jednorazowe hasło |
Pop | Dowód posiadania |
siatkówka | Biometryczne skanowanie siatkówki |
Sc | Karta inteligentna |
sms | Potwierdzenie według tekstu do zarejestrowanego numeru |
swk | Potwierdzenie obecności klucza zabezpieczonego oprogramowaniem |
Tel | Potwierdzenie przez telefon |
vbm | Biometryczne z odciskiem głosu |
Identyfikator entra firmy Microsoft wymaga, aby uwierzytelnianie wieloskładnikowe było spełnione, aby wystawiać token z oświadczeniami uwierzytelniania wieloskładnikowego. W związku z tym tylko metody o innym typie mogą spełniać drugie wymaganie współczynnika. Jak wspomniano wcześniej, różne typy metod, których można użyć do spełnienia drugiego czynnika, to wiedza, posiadanie i inherence.
Microsoft Entra ID weryfikuje mapowanie typów na podstawie poniższej tabeli.
Claim, metoda | Type | Uwagi |
---|---|---|
rozpoznawanie twarzy | Inherence (Inherence) | Biometryczne z rozpoznawaniem twarzy |
Fido | Posiadanie | Użyto fiDO2. Niektóre implementacje mogą również wymagać biometrycznego, ale typ metody posiadania jest mapowany, ponieważ jest to podstawowy atrybut zabezpieczeń. |
fpt | Inherence (Inherence) | Biometryczne z odciskiem palca |
hwk | Posiadanie | Dowód posiadania klucza zabezpieczonego sprzętem |
tęczówka | Inherence (Inherence) | Biometryczne ze skanowaniem tęczówki |
otp | Posiadanie | Hasło jednorazowe |
Pop | Posiadanie | Dowód posiadania |
siatkówka | Inherence (Inherence) | Biometryczne skanowanie siatkówki |
Sc | Posiadanie | Karta inteligentna |
sms | Posiadanie | Potwierdzenie według tekstu do zarejestrowanego numeru |
swk | Posiadanie | Dowód obecności klucza zabezpieczonego oprogramowaniem |
Tel | Posiadanie | Potwierdzenie przez telefon |
vbm | Inherence (Inherence) | Biometryczne z odciskiem głosu |
Jeśli nie znaleziono żadnych problemów z tokenem, identyfikator entra firmy Microsoft uzna uwierzytelnianie wieloskładnikowe za spełnione i wystawia token użytkownikowi końcowemu. W przeciwnym razie żądanie użytkownika końcowego kończy się niepowodzeniem.
Błąd jest wskazywany przez wystawianie parametrów odpowiedzi na błędy.
Parametr | Wartość | Opis |
---|---|---|
Błąd | Kod błędu ASCII, taki jak access_denied lub temporarily_unavailable. |
Identyfikator entra firmy Microsoft uwzględnia żądanie zakończone pomyślnie, jeśli parametr id_token znajduje się w odpowiedzi, a jeśli token jest prawidłowy. W przeciwnym razie żądanie jest uznawane za nieudane. Identyfikator entra firmy Microsoft kończy się niepowodzeniem oryginalnej próby uwierzytelnienia ze względu na wymaganie zasad dostępu warunkowego.
Identyfikator Entra firmy Microsoft porzuca stan próby uwierzytelnienia na jego końcu około 5 minut po przekierowaniu do dostawcy.
Obsługa błędów identyfikatora Entra firmy Microsoft
Usługi platformy Microsoft Azure używają identyfikatora correlationId do korelowania wywołań w różnych systemach wewnętrznych i zewnętrznych. Służy jako wspólny identyfikator całej operacji lub przepływu, który potencjalnie obejmuje wiele wywołań HTTP. Gdy wystąpi błąd podczas dowolnej operacji, odpowiedź zawiera pole o nazwie Identyfikator korelacji.
Gdy skontaktujesz się z pomocą techniczną firmy Microsoft lub podobną usługą, podaj wartość tego identyfikatora korelacji, ponieważ pomaga ona szybciej uzyskiwać dostęp do danych telemetrycznych i dzienników.
Na przykład:
IDSTS70002 ENTRA: Błąd podczas sprawdzania poprawności poświadczeń. ENTRA IDSTS50012: Token identyfikatora zewnętrznego od wystawcy "https://sts.XXXXXXXXX.com/auth/realms/XXXXXXXXXmfa" zakończył się niepowodzeniem weryfikacji podpisu. KeyID tokenu to "A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u" Identyfikator śledzenia: 0000aa-11bb-cccc-dd22-eeeeee333333 Identyfikator korelacji: aaaa0000-bb11-2222-33cc-444444d sygnatura czasowa: 2023-07-24 16:51:34Z
Kontrolki niestandardowe i moduły EAM
W usłudze Microsoft Entra ID moduły EAM i niestandardowe mechanizmy kontroli dostępu warunkowego mogą działać równolegle, podczas gdy klienci przygotowują się do programu EAM i migrują je do programu EAM.
Klienci, którzy obecnie korzystają z integracji z dostawcą zewnętrznym przy użyciu kontrolek niestandardowych, mogą nadal ich używać, oraz wszelkich zasad dostępu warunkowego skonfigurowanych do zarządzania dostępem. Administratorzy zaleca się utworzenie równoległego zestawu zasad dostępu warunkowego w okresie migracji:
Zasady powinny używać kontrolki Wymagaj udzielenia uwierzytelniania wieloskładnikowego zamiast przyznawania kontroli niestandardowej.
Uwaga
Udzielanie mechanizmów kontroli na podstawie mocnych stron uwierzytelniania, w tym wbudowanej siły uwierzytelniania wieloskładnikowego, nie są spełnione przez program EAM. Zasady powinny być konfigurowane tylko przy użyciu opcji Wymagaj uwierzytelniania wieloskładnikowego. Aktywnie pracujemy nad obsługą umów EAM z siłami uwierzytelniania.
Nowe zasady można najpierw przetestować przy użyciu podzestawu użytkowników. Grupa testowa zostanie wykluczona z zasad wymagających kontrolek niestandardowych i uwzględniona w zasadach wymagających uwierzytelniania wieloskładnikowego. Gdy administrator czuje się komfortowo, że zasady wymagające uwierzytelniania wieloskładnikowego są spełnione przez program EAM, administrator może uwzględnić wszystkich wymaganych użytkowników w zasadach z przyznaniem uwierzytelniania wieloskładnikowego, a zasady skonfigurowane dla kontrolek niestandardowych można przenieść do pozycji Wyłączone.
Obsługa integracji
Jeśli masz jakiekolwiek problemy podczas tworzenia integracji z programem EAM z firmą Microsoft Entra ID, niezależny dostawca rozwiązań (CxE) Independent Solution Vendor (CxE) może być w stanie pomóc. Aby zaangażować się w zespół niezależnego dostawcy oprogramowania CxE, prześlij wniosek o pomoc.
Informacje
Słownik
Okres | opis |
---|---|
Uwierzytelnianie wieloskładnikowe | Uwierzytelnianie wieloskładnikowe. |
EAM | Zewnętrzna metoda uwierzytelniania to metoda uwierzytelniania od dostawcy innego niż Identyfikator Entra firmy Microsoft, który jest używany w ramach uwierzytelniania użytkownika. |
OIDC | Open ID Connect to protokół uwierzytelniania oparty na protokole OAuth 2.0. |
00001111-aaaa-2222-bbbb-3333cccc44444 | Przykład identyfikatora appid zintegrowanego z zewnętrzną metodą uwierzytelniania. |
Następne kroki
Aby uzyskać więcej informacji na temat konfigurowania programu EAM w centrum administracyjnym firmy Microsoft Entra, zobacz Zarządzanie zewnętrzną metodą uwierzytelniania w firmie Microsoft (wersja zapoznawcza).