Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 jsou přidávány do Microsoft Entra ID tenantským správcem. Pokud tenant vyžaduje EAM pro vícefaktorové ověřování, přihlášení je považováno za splnění požadavku MFA po té, co Microsoft Entra ID ověří oba požadavky:
- První faktor byl dokončen pomocí ID Microsoft Entra
- Druhý faktor dokončený za pomoci 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 (inherece)
EAMy 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 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 je zjištěna z adresy URL pro zjišťování poskytnuté správcem při vytvoř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.
- Microsoft Entra ID 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 je vyžadována aplikace, která představuje 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 účtu. 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:
Vytvořte Microsoft Entra ID tenant, pokud ho ještě nemají.
Zaregistrujte aplikaci v jejich tenantovi.
Nastavte podporované typy účtů aplikace na: Účty v libovolném organizačním adresáři (libovolný tenant Microsoft Entra ID – Víceklientní).
Přidejte do aplikace delegovaná oprávnění
openid
aprofile
Microsoft Graph.V této aplikaci nepublikujte žádné obory.
Přidejte platné adresy URL authorization_endpoint externího poskytovatele identity do této aplikace jako adresy URL pro odezvu.
Poznámka:
Authorization_endpoint, které je uvedeno v dokumentaci ke zjišťování poskytovatele, by se mělo 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: Nezdařilo se ověřit autorizační URL externího poskytovatele deklarací identity.
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 získá prostřednictvím zjišťování OIDC pro hostitelskou URL. |
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 není udělen souhlas, objeví se následující chyba, když se správce pokusí použít EAM: AADSTS900491: Objekt služby <ID vaší aplikace> nebyl nalezen.
Konfigurace volitelných nároků
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řidejte 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 pomocí příkazu Vyžadovat vícefaktorové ověřování k nastavení požadavku na toto ověřování při přihlášení uživatele. Metody externího ověřování nejsou u sil ověřování v současné době podporovány.
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í poskytovatel identity musí poskytnout OIDC Discovery endpoint. Tento koncový bod slouží k získání dalších konfiguračních dat. Úplná adresa URL, včetně .well-known/oidc-configuration, musí být zahrnuta v adrese URL pro zjišťování nakonfigurované při vytváření EAM.
Koncový bod vrátí dokument JSON poskytovatele metadat, který je tam hostovaný. Koncový bod musí také vrátit platnou hlavičku Content-Length.
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 Provider Metadata.
Hodnota metadat | Hodnota | Komentáře |
---|---|---|
Emitent | Tato adresa URL by se měla shodovat jak s adresou URL hostitele používanou pro objevení, tak s položkou iss v tokenech vydaných službou poskytovatele. | |
koncový bod autorizace | 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] x5c parametr JSON Web Key (JWK) musí být přítomen pro poskytnutí X.509 reprezentací zadaných klíčů. |
|
podporované rozsahy | OpenID | Jiné hodnoty můžou být také zahrnuté, ale nejsou povinné. |
podporované typy odpovědí | identifikační token | Jiné hodnoty můžou být také zahrnuté, ale nejsou povinné. |
podporované_typy_subjektů | ||
id_token_signing_alg_values_supported | Microsoft podporuje RS256 | |
podporované_typy_nároků | 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 zabraňuje volání zjišťování pokaždé, když Microsoft Entra ID komunikuje s externím poskytovatelem 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 mezipaměť Microsoft Entra ID neaktualizuje, nevyprší její platnost nebo nebude obnovena (každé 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řipravena zvládnout jak okamžité, tak pravidelné přepnutí. 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 Převedení 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 pro vládu USA:
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.
Validace tokenů vydaných Microsoft Entra ID
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. Pro ukázku se podívejte na Azure Samples.
Po úspěšném ověření můžete pracovat s náplní deklarací identity a získat podrobnosti o uživateli a jejich 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ělo být plně ověřeno, zejména podpis, vystavitel, příjemce a hodnoty ostatních deklarací.
Volání Microsoft Entra ID k externímu zprostředkovateli identity
Microsoft Entra ID používá implicitní tok OIDC ke komunikaci s externím poskytovatelem identity. Pomocí tohoto toku se komunikace s poskytovatelem provádí výhradně pomocí koncového bodu autorizace poskytovatele. Aby poskytovatel věděl, pro kterého uživatele Microsoft Entra ID provádí požadavek, Microsoft Entra ID předává 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 uvedeny v následující tabulce, měl by poskytovatel ostatní parametry v požadavku ignorovat.
Parametr ověřovacího dotazu | Hodnota | Popis |
---|---|---|
rozsah | OpenID | |
typ odpovědi | Identifikační token | Hodnota použitá pro implicitní tok. |
mód odezvy | odeslání_formuláře | 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. |
id_klienta | ID klienta, které externí poskytovatel identity, jako ABCD, odeslal do Microsoft Entra ID. Další informace naleznete v tématu Popis metody externího ověřování. | |
přesměrování_URL | Identifikátor URI pro přesměrování, na který externí zprostředkovatel identity odešle odpověď (id_token_hint). Podívejte se na příklad za touto tabulkou. | |
příležitostný | Microsoft Entra ID vygeneroval náhodný řetězec. Může se jednat o ID relace. Pokud je poskytnuto, musí být vráceno v odpovědi zpět k Microsoft Entra ID. | |
stát | Pokud jsou údaje předány poskytovateli, 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ý Microsoft Entra ID pro koncového uživatele a předaný ve prospěch poskytovatele. | |
nároky | Objekt JSON, který obsahuje požadované nároky. Podrobnosti o formátu tohoto parametru najdete v žádosti o parametru požadavků na deklarace identity v dokumentaci OIDC a příklad za touto tabulkou. | |
ID požadavku klienta | Hodnota GUID | Poskytovatel může tuto hodnotu protokolovat, aby mohl řešit problémy. |
Příklad přesměrovací adresy URI
Identifikátory URI přesměrování by měly být zaregistrované u poskytovatele nezávisle na síti. Identifikátory URI přesměrování, které je možné odeslat, jsou:
- Globální Azure:
https://login.microsoftonline.com/common/federation/externalauthprovider
- Azure pro vládu USA:
https://login.microsoftonline.us/common/federation/externalauthprovider
- Microsoft Azure provozovaný společností 21Vianet:
https://login.partner.microsoftonline.cn/common/federation/externalauthprovider
Příklad systému správy podnikových aktiv, který splňuje vícefaktorové ověřování
Tady je příklad toho, jak EAM splňuje požadavky vícefaktorové autentizace. Tento příklad pomáhá poskytovateli zjistit, jaké nároky Microsoft Entra ID očekává.
Hodnoty acr
a amr
v kombinaci používá Microsoft Entra ID 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í nároky Id_token_hint
Tato část popisuje požadovaný obsah tokenu předaného jako id_token_hint v požadavku zaslaném poskytovateli. Token může obsahovat více nároků než v následující tabulce.
Nárok | Hodnota | Popis |
---|---|---|
Mezinárodní vesmírná stanice | 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. Vaše aplikace by měla použít GUID část nároku k omezení sady tenantů, kteří se mohou k aplikaci přihlásit, pokud je to relevantní. Vydavatel by měl odpovídat adrese URL vydavatele z metadat JSON pro 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 jeho platnost měla příliš překročit dobu trvání požadavku. | |
iat | Nastavte čas vydání jako obvykle. | |
Tid | ID tenanta slouží k inzerování tenanta poskytovateli. Představuje tenanta Microsoft Entra ID, odkud uživatel pochází. | |
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. | |
preferované_uživatelské_jméno | Poskytuje lidsky čitelnou hodnotu, která identifikuje subjekt tokenu. Tato hodnota není zaručená, že bude jedinečná v rámci nájemníka a je určena pouze pro zobrazení. | |
předmět | Identifikátor subjektu pro koncového uživatele u vydavatele. Subjekt, o kterém token určuje informace, například 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, které vydává Microsoft Entra ID, 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 nárok (který zůstává stejný napříč aplikacemi v rámci tenanta). |
Aby se zabránilo jeho použití pro cokoli jiného než nápovědu, je token vydán jako vypršený. Token je podepsaný a lze ho ověřit pomocí publikovaných metadat zjišťování ID Microsoft Entra.
Volitelné nároky z Microsoft Entra ID
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 viz Volitelné nároky.
Doporučené použití deklarací
Microsoft doporučuje přidružovat účty na straně poskytovatele k účtu v Azure AD pomocí deklarací oid a tid. Je zaručeno, že tyto dva nároky budou jedinečné pro účet v tenantovi.
Příklad id_token_hint
Tady je příklad id_token_hintu pro č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 hint pro uživatele typu host v rámci tenanta.
{
"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 zahrnuto v volání Microsoft Entra ID na externího poskytovatele identity.
- Ujistěte se, že client_id má přiřazenou hodnotu k ID Microsoft Entra, například ABCD.
- Zprostředkovatel by měl nejprve ověřit id_token_hint, který mu je předložen Microsoft Entra ID.
- Z nároků v id_token_hint:
- Volitelně můžou volat Microsoft Graph a načíst další podrobnosti o tomto uživateli. V tomto ohledu jsou v id_token_hint užitečná oid a tid tvrzení. Podrobnosti o nárocích obsažených v id_token_hint viz Výchozí nároky id_token_hint.
- 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í odpovědi poskytovatele ve službě Microsoft Entra ID
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 |
---|---|---|
identifikační token | Token vydaný externím zprostředkovatelem identity. | |
stát | 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é nároky, a provádí jakékoli další ověřování tokenu, které vyžaduje OIDC.
Nárok | Hodnota | Popis |
---|---|---|
Mezinárodní vesmírná stanice | Vystavitel – musí odpovídat vystaviteli v metadatech zjišťování poskytovatele. | |
aud | Publikum – ID klienta Microsoft Entra ID. Viz client_id ve volání Microsoft Entra ID k externímu poskytovateli 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 sub z zadaného id_token_hint, který byl odeslán pro zahájení tohoto požadavku. | |
příležitostný | Stejná nonce, která byla předána v požadavku. | |
acr | Deklarace 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ěl by být vrácen pouze jeden acr claim. Pro seznam nároků viz Podporované nároky acr. | |
Amr | Tvrzení amr pro metodu použité při 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. Pro seznam nároků viz Podporované amr nároky. |
Podporované nároky kontextu autentizace (acr)
Nárok | Poznámky |
---|---|
vlastnictví nebo inherence | Ověřování musí probíhat na základě faktoru založeného na vlastnictví nebo příslušnosti. |
znalosti nebo vlastnictví | Ověřování musí probíhat s faktorem založeným na znalostech nebo vlastnictví. |
znalost nebo inherentnost | Ověřování musí probíhat pomocí faktoru založeného na znalostech nebo větěných vlastnostech. |
znalost nebo vlastnictví nebo přirozenost | Ověřování musí probíhat s faktorem založeným na znalostech, vlastnictví nebo vrozených vlastnostech. |
znalosti | Ověřování musí proběhnout se znalostním faktorem. |
majetek | Ověřování musí probíhat s faktorem založeným na vlastnictví. |
přirozenost | Ověřování musí probíhat použitím faktoru založeného na vlastnostech. |
Podporované nároky amr
Nárok | Poznámky |
---|---|
Tvář | Biometrické s rozpoznáváním obličeje |
Fido | Použili jsme FIDO2. |
Moderátor | Biometrický s otiskem prstu |
hwk | Doklad o vlastnictví klíče zabezpečeného hardwarem |
kosatec | Biometrické skenování duhovky |
Jednorázové heslo (OTP) | Jednorázové heslo |
prasknout | Doklad o vlastnictví |
sítnice | Biometrické skenování sítnice |
Sc | Čipová karta |
textová zpráva (sms) | Potvrzení prostřednictvím SMS na registrované číslo |
SWK | Potvrzení přítomnosti klíče zabezpečeného softwarem |
Tel | Potvrzení telefonicky |
vbm | Biometrický s hlasovým otiskem |
Microsoft Entra ID vyžaduje, aby bylo splněno vícefaktorové ověřování pro vydání tokenu s jeho deklaracemi. V důsledku toho mohou druhý faktor splňovat pouze metody, které mají jiný typ. 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.
Microsoft Entra ID ověřuje mapování typů na základě následující tabulky.
Metoda uplatnění nároku | Typ | Poznámky |
---|---|---|
Tvář | Vlastnictví | 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í. |
Moderátor | Vlastnictví | Biometrický s otiskem prstu |
hwk | Majetek | Doklad o vlastnictví klíče zabezpečeného hardwarem |
kosatec | Vlastnictví | Biometrické skenování duhovky |
Jednorázové heslo (OTP) | Majetek | Jednorázové heslo |
prasknout | Majetek | Doklad o vlastnictví |
sítnice | Vlastnictví | Biometrické skenování sítnice |
Sc | Majetek | Čipová karta |
textová zpráva (sms) | Majetek | Potvrzení prostřednictvím SMS na registrované číslo |
SWK | Majetek | Ověření přítomnosti klíče zabezpečeného softwarem |
Tel | Majetek | Potvrzení telefonicky |
vbm | Vlastnictví | 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ři původním pokusu o ověření kvůli požadavku zásady podmíněného přístupu.
Microsoft Entra ID zapomíná na stav pokusu o ověření na své straně asi 5 minut po přesměrování na poskytovatele.
Zpracování chybových odpovědí pro Microsoft Entra ID
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í podpisu externího ID tokenu od vystavitele 'https://sts.XXXXXXXXX.com/auth/realms/XXXXXXXXXmfa' selhalo. ID klíče tokenu je 'A1bC2dE3fH4iJ5kL6mN7oP8qR9sT0u'. ID trasování: 0000aaaa-11bb-cccc-dd22-eeeeee333333. ID korelace: aaaa0000-bb11-2222-33cc-444444dddddd. Časová značka: 2023-07-24 16:51:34Z
Vlastní ovládací prvky a EAMs
V Microsoft Entra ID mohou vlastní ovládací prvky EAM a podmíněné přístupy fungovat paralelně, zatímco se zákazníci připravují na EAM a migrují k němu.
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 použít řízení udělení vícefaktorového ověřování místo vlastního ovládacího prvku.
Poznámka:
Přiřaďte oprávnění na základě silných stránek ověřování, včetně integrované síly vícefaktorového ověřování, které EAM nevyhovují. Zásady by měly být nakonfigurovány pouze s vyžadováním vícefaktorového ověřování. Podpora EAM se silnými možnostmi ověřování přijde později.
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 si je správce jistý, že zásada, která vyžaduje MFA, je splněna EAM, může zahrnout všechny požadované uživatele do zásady s uděleným MFA a možnost konfigurovanou pro vlastní ovládací prvky lze přepnout na Vypnuto.
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 (seznam)
Slovník pojmů
Termín | Popis |
---|---|
Magistr umění | 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é jako metoda 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).