Referenční informace o externím poskytovateli externích metod vícefaktorového ověřování Microsoft Entra (Preview)
Toto téma popisuje, jak se externí zprostředkovatel ověřování připojuje k vícefaktorové ověřování Microsoft Entra (MFA). Externí zprostředkovatel ověřování se může integrovat s tenanty Microsoft Entra ID jako metodou externího ověřování (EAM). EAM může splňovat druhý faktor požadavku vícefaktorového ověřování pro přístup k prostředku nebo aplikaci. EAM vyžadují alespoň licenci Microsoft Entra ID P1.
Když se uživatel přihlásí, vyhodnotí se zásady tenanta. Požadavky na ověřování se určují na základě prostředku, ke kterému se uživatel pokouší získat přístup.
Na přihlášení se může v závislosti na parametrech použít více zásad. Mezi tyto parametry patří uživatelé a skupiny, aplikace, platforma, úroveň rizika přihlašování a další.
Na základě požadavků na ověřování se uživatel může muset přihlásit pomocí jiného faktoru, aby splnil požadavek vícefaktorového ověřování. Druhý faktor musí doplnit typ prvního faktoru.
EAM se přidají do MICROSOFT Entra ID správce tenanta. Pokud tenant vyžaduje EAM pro vícefaktorové ověřování, přihlášení se považuje za splnění požadavku MFA po ověření Id Microsoft Entra obě:
- První faktor dokončený s ID Microsoft Entra
- Druhý faktor dokončený s EAM
Toto ověření splňuje požadavek vícefaktorového ověřování pro dva nebo více typů metod z:
- Něco, co znáte (znalosti)
- Něco, co máte (vlastnictví)
- Něco, co jste (herence)
EAM se implementují nad open ID Connect (OIDC). Tato implementace vyžaduje aspoň tři veřejně přístupné koncové body:
- Koncový bod zjišťování OIDC, jak je popsáno v tématu Zjišťování metadat zprostředkovatele
- Platný koncový bod ověřování OIDC
- Adresa URL, kde jsou publikovány veřejné certifikáty poskytovatele
Pojďme se podrobněji podívat, jak funguje přihlašování s EAM:
- Uživatel se pokusí přihlásit pomocí prvního faktoru, jako je heslo, k aplikaci chráněné pomocí Microsoft Entra ID.
- ID Microsoft Entra určuje, že je potřeba splnit jiný faktor. Zásady podmíněného přístupu například vyžadují vícefaktorové ověřování.
- Uživatel zvolí EAM jako druhý faktor.
- Microsoft Entra ID přesměruje relaci prohlížeče uživatele na adresu URL EAM:
- Tato adresa URL se zjistí z adresy URL zjišťování zřízené správcem při vytváření EAM.
- Aplikace poskytuje token s vypršenou platností nebo téměř vypršenou platností, který obsahuje informace k identifikaci uživatele a tenanta.
- Externí zprostředkovatel ověřování ověří, že token pochází z ID Microsoft Entra, a zkontroluje obsah tokenu.
- Externí zprostředkovatel ověřování může volitelně volat Microsoft Graph, aby načítal další informace o uživateli.
- Zprostředkovatel externího ověřování provádí všechny akce, které považuje za nezbytné, například ověření uživatele s některými přihlašovacími údaji.
- Externí zprostředkovatel ověřování přesměruje uživatele zpět na Microsoft Entra ID s platným tokenem, včetně všech požadovaných deklarací identity.
- Microsoft Entra ID ověří, že podpis tokenu pochází z nakonfigurovaného externího zprostředkovatele ověřování, a pak zkontroluje obsah tokenu.
- Id Microsoft Entra ověří token podle požadavků.
- Pokud ověření proběhne úspěšně, uživatel splnil požadavek vícefaktorového ověřování. Uživatel může také splňovat další požadavky zásad.
Konfigurace nového externího zprostředkovatele ověřování s ID Microsoft Entra
K vydání id_token_hint se vyžaduje aplikace představující integraci. Aplikaci lze vytvořit dvěma způsoby:
- Vytvořeno v každém tenantovi, který používá externího poskytovatele.
- Vytvořeno jako jedna víceklientová aplikace. Správci privilegovaných rolí musí udělit souhlas s povolením integrace pro svého tenanta.
Víceklientní aplikace snižuje pravděpodobnost chybné konfigurace v každém tenantovi. Umožňuje také poskytovatelům provádět změny metadat, jako jsou adresy URL odpovědí na jednom místě, a ne vyžadovat, aby změny udělal každý tenant.
Pokud chcete nakonfigurovat víceklientské aplikace, musí správce poskytovatele nejprve:
Pokud ho ještě nemají, vytvořte tenanta Microsoft Entra ID.
Zaregistrujte aplikaci ve svém tenantovi.
Nastavte podporované typy účtů aplikace na: Účty v libovolném organizačním adresáři (libovolný tenant Microsoft Entra ID – Víceklient).
Přidejte do aplikace delegovaná oprávnění
openid
aprofile
Microsoft Graph.V této aplikaci nepublikujte žádné obory.
Přidejte do této aplikace platné adresy URL externího zprostředkovatele identity authorization_endpoint jako adresy URL odpovědí.
Poznámka:
Authorization_endpoint zadané v dokumentu zjišťování poskytovatele by se měly přidat jako adresa URL pro přesměrování v registraci aplikace. V opačném případě se zobrazí následující chyba: ENTRA IDSTS50161: Ověření adresy URL autorizace externího zprostředkovatele deklarací identity se nezdařilo.
Proces registrace aplikace vytvoří aplikaci s několika vlastnostmi. Tyto vlastnosti jsou pro náš scénář povinné.
Vlastnost | Popis |
---|---|
ID objektu | Zprostředkovatel může použít ID objektu s Microsoft Graphem k dotazování informací o aplikaci. Zprostředkovatel může pomocí ID objektu programově načíst a upravit informace o aplikaci. |
ID aplikace | Zprostředkovatel může id aplikace použít jako ID klienta své aplikace. |
Adresa URL domovské stránky | Adresa URL domovské stránky poskytovatele se k ničemu nepoužívá, ale vyžaduje se jako součást registrace aplikace. |
Adresy URL pro odpovědi | Platné adresy URL přesměrování pro poskytovatele Jedna by měla odpovídat adrese URL hostitele poskytovatele, která byla nastavena pro tenanta poskytovatele. Jedna z registrovaných adres URL odpovědí musí odpovídat předponě authorization_endpoint, kterou Microsoft Entra ID načte prostřednictvím zjišťování OIDC pro adresu URL hostitele. |
Aplikace pro každého tenanta je také platným modelem pro podporu integrace. Pokud používáte registraci s jedním tenantem, musí správce tenanta vytvořit registraci aplikace s vlastnostmi v předchozí tabulce pro aplikaci s jedním tenantem.
Poznámka:
Souhlas správce aplikace se vyžaduje v tenantovi, který používá EAM. Pokud se souhlas neudělí, zobrazí se následující chyba, když se správce pokusí použít EAM: AADSTS900491: Instanční objekt, který <id vaší aplikace> nenajde.
Konfigurace volitelných deklarací identity
Zprostředkovatel může nakonfigurovat další deklarace identity pomocí volitelných deklarací identity pro id_token.
Poznámka:
Bez ohledu na to, jak se aplikace vytvoří, musí poskytovatel nakonfigurovat volitelné deklarace identity pro každé cloudové prostředí. Pokud se pro globální Azure a Azure for US Government používá víceklientskou aplikaci, vyžaduje každé cloudové prostředí jinou aplikaci a ID aplikace.
Přidání EAM do Microsoft Entra ID
Informace o externím zprostředkovateli identity jsou uložené v zásadách metod ověřování každého tenanta. Informace o poskytovateli se ukládají jako metoda ověřování typu externalAuthenticationMethodConfiguration.
Každý zprostředkovatel má v objektu seznamu zásad jednu položku. Každá položka musí mít stav:
- Pokud je metoda povolená
- Zahrnuté skupiny, které můžou metodu používat
- Vyloučené skupiny, které nemůžou metodu používat
Správci podmíněného přístupu můžou vytvořit zásadu s udělením vyžadovat vícefaktorové ověřování k nastavení požadavku na vícefaktorové ověřování pro přihlášení uživatele. U silných stránek ověřování se v současné době nepodporují metody externího ověřování.
Další informace o tom, jak přidat metodu externího ověřování v Centru pro správu Microsoft Entra, naleznete v tématu Správa metody externího ověřování v Microsoft Entra ID (Preview).
Interakce ID Microsoft Entra s poskytovatelem
Další části popisují požadavky na poskytovatele a obsahují příklady pro interakci s ID Microsoft Entra s poskytovatelem.
Zjišťování metadat zprostředkovatele
Externí zprostředkovatel identity musí poskytnout koncový bod zjišťování OIDC. Tento koncový bod slouží k získání dalších konfiguračních dat. Úplná adresa URL, včetně ./Známá konfigurace oidc-configuration musí být zahrnuta do adresy URL zjišťování nakonfigurované při vytvoření EAM.
Koncový bod vrátí dokument JSON metadat zprostředkovatele hostovaný tam. Koncový bod musí také vrátit platnou hlavičku délky obsahu.
V následující tabulce jsou uvedena data, která by měla být obsažena v metadatech poskytovatele. Tyto hodnoty jsou vyžadovány pro tento scénář rozšiřitelnosti. Dokument metadat JSON může obsahovat další informace.
Dokument OIDC s hodnotami metadat zprostředkovatele naleznete v tématu Metadata zprostředkovatele.
Hodnota metadat | Hodnota | Komentáře |
---|---|---|
Issuer | Tato adresa URL by se měla shodovat s adresou URL hostitele používanou ke zjišťování a deklarace identity iss v tokenech vydaných službou poskytovatele. | |
authorization_endpoint | Koncový bod, se kterým Microsoft Entra ID komunikuje kvůli autorizaci. Tento koncový bod musí být k dispozici jako jedna z adres URL odpovědí pro povolené aplikace. | |
jwks_uri | Kde Microsoft Entra ID může najít veřejné klíče potřebné k ověření podpisů vydaných poskytovatelem. [!POZNÁMKA] Aby bylo možné zadat reprezentace klíčů zadaných v X.509, musí být k dispozici parametr X.509 (JWK) x5c . |
|
scopes_supported | openid | Jiné hodnoty můžou být také zahrnuté, ale nejsou povinné. |
response_types_supported | id_token | Jiné hodnoty můžou být také zahrnuté, ale nejsou povinné. |
subject_types_supported | ||
id_token_signing_alg_values_supported | Microsoft podporuje RS256 | |
claim_types_supported | normální | Tato vlastnost je nepovinná, ale pokud existuje, měla by obsahovat normální hodnotu; mohou být zahrnuty i jiné hodnoty. |
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="
]
}
]
}
Poznámka:
Parametr JWK x5c musí být k dispozici, aby bylo možné zadat reprezentace klíčů X.509.
Ukládání metadat zprostředkovatele do mezipaměti
Aby se zlepšil výkon, microsoft Entra ID ukládá metadata vrácená poskytovatelem do mezipaměti, včetně klíčů. Ukládání metadat zprostředkovatele do mezipaměti brání volání zjišťování pokaždé, když Se službou Microsoft Entra ID komunikuje s externím zprostředkovatelem identity.
Tato mezipaměť se aktualizuje každých 24 hodin (jeden den). Tady je postup, jak doporučujeme, aby poskytovatel převrácel své klíče:
- Publikujte existující certifikát a nový certifikát v jwks_uri.
- Pokračujte v podepisování pomocí existujícího certifikátu , dokud se neaktualizuje mezipaměť Microsoft Entra ID, vypršela jeho platnost nebo se aktualizovala (každých 2 dny).
- Přepněte na podepisování pomocí nového certifikátu.
Nepublikujeme plány pro vrácení klíčů. Závislá služba musí být připravená k okamžitému i pravidelnému převrácení. Doporučujeme použít vyhrazenou knihovnu vytvořenou pro tento účel, například azure-activedirectory-identitymodel-extensions-for-dotnet. Další informace naleznete v tématu Vrácení podpisového klíče v Microsoft Entra ID.
Zjišťování metadat MICROSOFT Entra ID
Zprostředkovatelé také potřebují načíst veřejné klíče ID Microsoft Entra, aby ověřili tokeny vydané id Microsoft Entra.
Koncové body zjišťování metadat Microsoft Entra ID:
- Globální Azure:
https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
- Azure for US Government:
https://login.microsoftonline.us/common/v2.0/.well-known/openid-configuration
- Microsoft Azure provozovaný společností 21Vianet:
https://login.partner.microsoftonline.cn/common/v2.0/.well-known/openid-configuration
Pomocí identifikátoru veřejného klíče z tokenu ("kid" z webového podpisu JSON (JWS)) můžete určit, které klíče načtené z vlastnosti jwks_uri se mají použít k ověření podpisu tokenu ID Microsoft Entra.
Ověřování tokenů vydaných ID Microsoft Entra
Informace o ověření tokenů vydaných ID Microsoft Entra naleznete v tématu Ověřování a ID tokenu. Pro uživatele metadat zjišťování neexistují žádné zvláštní kroky.
Knihovna ověřování tokenů Microsoftu obsahuje všechny podrobnosti o specifikách ověřování tokenů, které jsou zdokumentované, nebo je možné zjistit z procházení zdrojového kódu. Ukázku najdete v ukázkách Azure.
Po úspěšném ověření můžete pracovat s datovou částí deklarací identity a získat podrobnosti o uživateli a jeho tenantovi.
Poznámka:
Je důležité ověřit id_token_hint, abyste zajistili, že id_token_hint pochází z tenanta Microsoftu a představuje vaši integraci. Id_token_hint by měly být plně ověřeny, zejména podpis, vystavitel, cílová skupina a další hodnoty deklarací identity.
Volání ID Microsoft Entra pro externího zprostředkovatele identity
Id Microsoft Entra používá implicitní tok OIDC ke komunikaci s externím zprostředkovatelem identity. Pomocí tohoto toku se komunikace s poskytovatelem provádí výhradně pomocí koncového bodu autorizace poskytovatele. Aby poskytovatel věděl, že uživatel, pro kterého provádí ID Microsoft Entra, předá ID Microsoft Entra token prostřednictvím parametru id_token_hint .
Toto volání se provádí prostřednictvím požadavku POST, protože seznam parametrů předaných poskytovateli je velký. Velký seznam zabraňuje použití prohlížečů, které omezují délku požadavku GET.
Parametry žádosti o ověření jsou uvedeny v následující tabulce.
Poznámka:
Pokud nejsou uvedené v následující tabulce, poskytovatel by ostatní parametry v požadavku měly ignorovat.
Parametr ověřovacího dotazu | Hodnota | Popis |
---|---|---|
rozsah | openid | |
response_type | Id_token | Hodnota použitá pro implicitní tok. |
response_mode | form_post | Formulář POST používáme k zabránění problémům s velkými adresami URL. Očekáváme, že se všechny parametry odešlou v textu požadavku. |
client_id | ID klienta předané microsoftu Entra ID externího zprostředkovatele identity, jako je ABCD. Další informace naleznete v tématu Popis metody externího ověřování. | |
redirect_url | Identifikátor URI (Uniform Resource Identifier), do kterého externí zprostředkovatel identity odešle odpověď (id_token_hint). | |
Podívejte se na příklad za touto tabulkou. | ||
nonce | Náhodný řetězec vygenerovaný id Microsoft Entra. Může to být ID relace. V případě potřeby se musí vrátit v odpovědi zpět na ID Microsoft Entra. | |
state | Pokud je poskytovatel předán, měl by v odpovědi vrátit stav. Microsoft Entra ID používá stav k zachování kontextu volání. | |
id_token_hint | Token vydaný ID Microsoft Entra pro koncového uživatele a předaný za účelem výhody poskytovatele. | |
deklarace identity | Objekt blob JSON, který obsahuje požadované deklarace identity. Podrobnosti o formátu tohoto parametru najdete v dokumentaci k žádosti o deklarace identity z dokumentace OIDC a příklad za touto tabulkou. | |
client-request-id | Hodnota GUID | Poskytovatel může tuto hodnotu protokolovat, aby mohl řešit problémy. |
Příklad identifikátoru URI přesměrování
Identifikátory URI přesměrování by měly být zaregistrované u poskytovatele mimo pásmo. Identifikátory URI přesměrování, které je možné odeslat, jsou:
- Globální Azure:
https://login.microsoftonline.com/common/federation/externalauthprovider
- Azure for US Government:
https://login.microsoftonline.us/common/federation/externalauthprovider
- Microsoft Azure provozovaný společností 21Vianet:
https://login.partner.microsoftonline.cn/common/federation/externalauthprovider
Příklad EAM, který splňuje vícefaktorové ověřování
Tady je příklad ověřování, ve kterém EAM splňuje vícefaktorové ověřování. Tento příklad pomáhá poskytovateli zjistit, jaké deklarace identity microsoft Entra ID očekává.
Kombinace acr
hodnot a amr
hodnot používá ID Microsoft Entra k ověření:
- Metoda ověřování použitá pro druhý faktor splňuje požadavek vícefaktorového ověřování.
- Metoda ověřování se liší v typu od metody použité k dokončení prvního faktoru pro přihlášení k Microsoft Entra ID.
{
"id_token": {
"acr": {
"essential": true,
"values":["possessionorinherence"]
},
"amr": {
"essential": true,
"values": ["face", "fido", "fpt", "hwk", "iris", "otp", "pop", "retina", "sc", "sms", "swk", "tel", "vbm"]
}
}
}
Výchozí deklarace identity Id_token_hint
Tato část popisuje požadovaný obsah tokenu předaného jako id_token_hint v požadavku provedeném zprostředkovateli. Token může obsahovat více deklarací identity než v následující tabulce.
Deklarace identity | Hodnota | Popis |
---|---|---|
iss | Identifikuje službu tokenů zabezpečení (STS), která vytváří a vrací token, a tenanta Microsoft Entra ID, ve kterém se uživatel ověřil. Aplikace by měla použít část deklarace identity GUID k omezení sady tenantů, kteří se můžou k aplikaci přihlásit, pokud je to možné. Vystavitel by měl odpovídat adrese URL vystavitele z metadat JSON zjišťování OIDC pro tenanta, kde se uživatel přihlásil. | |
aud | Cílová skupina by měla být nastavená na ID klienta externího zprostředkovatele identity pro Microsoft Entra ID. | |
exp | Doba vypršení platnosti je nastavená na krátkou dobu po vydání, která je dostatečná, aby se zabránilo problémům se nerovnoměrnou distribuci času. Vzhledem k tomu, že tento token není určený pro ověřování, neexistuje důvod, proč by platnost požadavku příliš překročila. | |
iat | Nastavte čas vydávání obvyklým způsobem. | |
Tid | ID tenanta slouží k inzerování tenanta poskytovateli. Představuje tenanta Microsoft Entra ID, ze kterého je uživatel. | |
Oid | Neměnný identifikátor objektu na platformě Microsoft Identity Platform. V tomto případě se jedná o uživatelský účet. Dá se také použít k bezpečnému provádění kontrol autorizace a jako klíč v databázových tabulkách. Toto ID jednoznačně identifikuje uživatele napříč aplikacemi. Dvě různé aplikace, které se přihlašují ke stejnému uživateli, obdrží stejnou hodnotu v deklaraci identity identifikátoru. Oid lze proto použít v dotazech na Microsoft online služby, jako je Microsoft Graph. | |
preferred_username | Poskytuje lidsky čitelnou hodnotu, která identifikuje subjekt tokenu. Tato hodnota není zaručená jedinečná v rámci tenanta a je určená jenom pro účely zobrazení. | |
předmět | Identifikátor předmětu pro koncového uživatele u vystavitele. Objekt zabezpečení, o kterém token určuje informace, jako je uživatel aplikace. Tato hodnota je neměnná a nedá se znovu přiřadit ani znovu použít. Dá se použít k bezpečnému provádění kontrol autorizace, jako je například použití tokenu pro přístup k prostředku a lze ho použít jako klíč v databázových tabulkách. Vzhledem k tomu, že předmět se vždy nachází v tokenech, se kterými se microsoft Entra ID zabývá, doporučujeme tuto hodnotu použít v systému pro obecné účely autorizace. Předmět je však párový identifikátor; je jedinečný pro konkrétní ID aplikace. Pokud se tedy jeden uživatel přihlásí ke dvěma různým aplikacím pomocí dvou různých ID klientů, obdrží tyto aplikace dvě různé hodnoty pro deklaraci identity subjektu. Tento výsledek může nebo nemusí být žádoucí v závislosti na vašich požadavcích na architekturu a ochranu osobních údajů. Viz také oid deklarace identity (která zůstává stejná napříč aplikacemi v rámci tenanta). |
Pokud chcete zabránit jeho použití pro cokoli jiného než nápovědu, token se vydá jako vypršení platnosti. Token je podepsaný a lze ho ověřit pomocí publikovaných metadat zjišťování ID Microsoft Entra.
Volitelné deklarace identity z ID Microsoft Entra
Pokud zprostředkovatel potřebuje volitelné deklarace identity z ID Microsoft Entra, můžete pro id_token nakonfigurovat následující volitelné deklarace identity: given_name
, family_name
, preferred_username
. upn
Další informace najdete v tématu Volitelné deklarace identity.
Doporučené použití deklarací identity
Microsoft doporučuje přidružovat účty na straně poskytovatele k účtu v Azure AD pomocí oid a svázaných deklarací identity. U těchto dvou deklarací identity je zaručeno, že pro účet v tenantovi budou jedinečné.
Příklad id_token_hint
Tady je příklad id_token_hint člena adresáře:
{
"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"
}.
Tady je příklad id_token nápovědy pro uživatele typu host v tenantovi:
{
"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"
}.
Navrhované akce pro externí zprostředkovatele identity
Doporučujeme, aby externí zprostředkovatelé identit provedli tyto kroky. Seznam není vyčerpávající a poskytovatelé by měli podle potřeby dokončit další kroky ověření.
- Z požadavku:
- Ujistěte se, že redirect_uri je publikováno v volání Microsoft Entra ID externího zprostředkovatele identity.
- Ujistěte se, že client_id má přiřazenou hodnotu k ID Microsoft Entra, jako je ABCD.
- Zprostředkovatel by měl nejprve ověřit id_token_hint, který mu je předložen id Microsoft Entra.
- Z deklarací identity v id_token_hint:
- Volitelně můžou volat Microsoft Graph a načíst další podrobnosti o tomto uživateli. V tomto ohledu je užitečné oid a svázané tvrzení v id_token_hint. Podrobnosti o deklarací identity poskytovaných v id_token_hint najdete v tématu Výchozí id_token_hint deklarací identity.
- Pak proveďte jakoukoli jinou ověřovací aktivitu, kterou má produkt zprostředkovatele vytvořit.
- V závislosti na výsledku akcí uživatele a dalších faktorech by poskytovatel vytvořil a odeslal odpověď zpět na ID Microsoft Entra, jak je vysvětleno v další části.
Zpracování ID Microsoft Entra odpovědi zprostředkovatele
Poskytovatel musí odeslat odpověď zpět do redirect_uri. Pro úspěšnou odpověď by se měly poskytnout následující parametry:
Parametr | Hodnota | Popis |
---|---|---|
id_token | Token vydaný externím zprostředkovatelem identity. | |
state | Stejný stav, který byl předán v požadavku, pokud existuje. Jinak by tato hodnota neměla být k dispozici. |
V případě úspěchu by poskytovatel pro uživatele vydal id_token. Microsoft Entra ID používá publikovaná metadata OIDC k ověření, že token obsahuje očekávané deklarace identity, a provede jakékoli další ověření tokenu, který OIDC vyžaduje.
Deklarace identity | Hodnota | Popis |
---|---|---|
iss | Vystavitel – musí odpovídat vystaviteli z metadat zjišťování poskytovatele. | |
aud | Cílová skupina – ID klienta Microsoft Entra ID. Viz client_id volání Microsoft Entra ID externího zprostředkovatele identity. | |
exp | Doba vypršení platnosti – nastavená jako obvykle. | |
iat | Čas vydávání – nastaveno jako obvykle. | |
předmět | Předmět – musí odpovídat podsítě z id_token_hint odeslané k zahájení této žádosti. | |
nonce | Stejná nece, která byla předána v požadavku. | |
acr | Deklarace identity acr pro žádost o ověření. Tato hodnota by se měla shodovat s jednou z hodnot odeslaných žádostí za účelem zahájení tohoto požadavku. Měla by se vrátit pouze jedna deklarace identity acr. Seznam deklarací identity najdete v tématu Podporované deklarace identity acr. | |
Amr | Deklarace identity amr pro metodu ověřování použitou v ověřování. Tato hodnota by měla být vrácena jako pole a měla by se vrátit pouze jedna deklarace identity metody. Seznam deklarací identity najdete v tématu Podporované deklarace identity amr. |
Podporované deklarace identity acr
Deklarace identity | Notes |
---|---|
possessionorinherence | Ověřování musí probíhat s faktorem založeným na vlastnictví nebo inherence. |
knowledgeorpossession | Ověřování musí probíhat s faktorem založeným na znalostech nebo vlastnictví. |
knowledgeorinherence | Ověřování musí probíhat s faktorem založeným na znalostech nebo inherence. |
knowledgeorpossessionorinherence | Ověřování musí probíhat s faktorem založeným na znalostech nebo vlastnictví nebo inherence. |
knowledge | Ověřování musí proběhnout s znalostní báze faktorem. |
majetek | Ověřování se musí provést s faktorem založeným na vlastnictví. |
inherence | Ověřování musí probíhat s faktorem založeným na inherence. |
Podporované deklarace identity amr
Deklarace identity | Notes |
---|---|
Tvář | Biometrické s rozpoznáváním obličeje |
Fido | Použili jsme FIDO2. |
fpt | Biometrický s otiskem prstu |
hwk | Doklad o vlastnictví klíče zabezpečeného hardwarem |
duhovka | Biometrické skenování duhovky |
otp | Jednorázové heslo |
bouchnout | Doklad o vlastnictví |
sítnice | Biometrické skenování sítnice |
Sc | Čipová karta |
sms | Potvrzení podle textu na registrované číslo |
swk | Potvrzení přítomnosti klíče zabezpečeného softwarem |
Tel | Potvrzení telefonicky |
vbm | Biometrický s hlasovým otiskem |
Id Microsoft Entra vyžaduje, aby bylo k vydání tokenu s deklaracemi vícefaktorového ověřování splněné vícefaktorové ověřování. V důsledku toho mohou splňovat druhý faktor pouze metody s jiným typem. Jak už bylo zmíněno dříve, různé typy metod, které lze použít k uspokojení druhého faktoru, jsou znalosti, vlastnictví a inherence.
Id Microsoft Entra ověřuje mapování typů na základě následující tabulky.
Claim – metoda | Typ | Notes |
---|---|---|
Tvář | Inherence | Biometrické s rozpoznáváním obličeje |
Fido | Majetek | Byl použit nástroj FIDO2. Některé implementace můžou také vyžadovat biometrické údaje, ale typ metody držení je mapován, protože se jedná o primární atribut zabezpečení. |
fpt | Inherence | Biometrický s otiskem prstu |
hwk | Majetek | Doklad o vlastnictví klíče zabezpečeného hardwarem |
duhovka | Inherence | Biometrické skenování duhovky |
otp | Majetek | Jednorázové heslo |
bouchnout | Majetek | Doklad o vlastnictví |
sítnice | Inherence | Biometrické skenování sítnice |
Sc | Majetek | Čipová karta |
sms | Majetek | Potvrzení podle textu na registrované číslo |
swk | Majetek | Ověření přítomnosti klíče zabezpečeného softwarem |
Tel | Majetek | Potvrzení telefonicky |
vbm | Inherence | Biometrický s hlasovým otiskem |
Pokud se s tokenem nenajde žádné problémy, microsoft Entra ID považuje vícefaktorové ověřování za splněné a vydá token koncovému uživateli. Jinak požadavek koncového uživatele selže.
Selhání je označeno vydáním parametrů odpovědi na chybu.
Parametr | Hodnota | Popis |
---|---|---|
Chyba | Kód chyby ASCII, například access_denied nebo temporarily_unavailable. |
ID Microsoft Entra považuje požadavek za úspěšný, pokud v odpovědi existuje parametr id_token a pokud je token platný. V opačném případě se žádost považuje za neúspěšnou. Microsoft Entra ID selže původní pokus o ověření kvůli požadavku na zásady podmíněného přístupu.
Microsoft Entra ID opustí stav pokusu o ověření na jeho konci asi 5 minut po přesměrování na poskytovatele.
Zpracování odpovědí na chyby ID Microsoft Entra
Služby Microsoft Azure používají id korelace ke korelaci volání napříč různými interními a externími systémy. Slouží jako běžný identifikátor celé operace nebo toku, který může zahrnovat více volání HTTP. Pokud dojde k chybě během některé z operací, odpověď obsahuje pole s názvem ID korelace.
Když se spojte s podporou Microsoftu nebo podobnou službou, zadejte hodnotu tohoto ID korelace, protože pomáhá rychleji přistupovat k telemetrii a protokolům.
Příklad:
ENTRA IDSTS70002: Chyba při ověřování přihlašovacích údajů. ENTRA IDSTS50012: Ověření externího ID tokenu od vystavitelehttps://sts.XXXXXXXXX.com/auth/realms/XXXXXXXXXmfa selhalo. ID klíče tokenu je ID trasování A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u ID trasování: 0000aaa-11bb-cccc-dd22-eeeee3333 ID korelace: aaaa0000-bb11-2222-33cc-444444dddddd: 2023-07-24 16:51:34Z
Vlastní ovládací prvky a eamy
V Microsoft Entra ID můžou vlastní ovládací prvky EAM a podmíněný přístup fungovat paralelně, zatímco zákazníci se připraví na EAM a migrují na je.
Zákazníci, kteří aktuálně používají integraci s externím poskytovatelem pomocí vlastních ovládacích prvků, je můžou dál používat a všechny zásady podmíněného přístupu, které nakonfigurovali pro správu přístupu. Správci se doporučuje vytvořit paralelní sadu zásad podmíněného přístupu během období migrace:
Zásady by měly místo udělení vlastního ovládacího prvku použít řízení udělení vícefaktorového ověřování .
Poznámka:
Udělte řízení na základě silných stránek ověřování, včetně předdefinované síly vícefaktorového ověřování, eam nevyhovují. Zásady by měly být nakonfigurovány pouze s vyžadovat vícefaktorové ověřování. Aktivně pracujeme na podpoře EAM s využitím silných stránek ověřování.
Nové zásady je možné nejprve otestovat s podmnožinou uživatelů. Testovací skupina by byla vyloučena ze zásady, která vyžaduje vlastní ovládací prvky, a zahrnutá do zásad vyžadujících vícefaktorové ověřování. Jakmile je správce pohodlný, že zásady, které vyžadují vícefaktorové ověřování, může správce zahrnout všechny požadované uživatele do zásad s udělením vícefaktorového ověřování a zásady nakonfigurované pro vlastní ovládací prvky se dají přesunout do vypnuta.
Podpora integrace
Pokud při sestavování integrace EAM s Microsoft Entra ID máte nějaké problémy, může vám pomoct nezávislý dodavatel řešení (ISV) společnosti Microsoft Customer Experience Engineering (CxE). Pokud chcete spolupracovat s týmem CxE ISV, odešlete žádost o pomoc.
Reference
Slovník pojmů
Období | Popis |
---|---|
MFA | Vícefaktorové ověřování. |
EAM | Metoda externího ověřování je metoda ověřování od jiného zprostředkovatele, než je ID Microsoft Entra, které se používá jako součást ověřování uživatele. |
OIDC | Open ID Connect je ověřovací protokol založený na OAuth 2.0. |
00001111-aaaa-2222-bbbb-3333cccc4444 | Příklad appid integrované pro metodu externího ověřování |
Další kroky
Další informace o konfiguraci EAM v Centru pro správu Microsoft Entra najdete v tématu Správa metody externího ověřování v Microsoftu (Preview).