Omezené delegování protokolu Kerberos pro jednotné přihlašování (SSO) k vašim aplikacím s proxy aplikací
Pro místní aplikace publikované prostřednictvím proxy aplikací, které jsou zabezpečené integrovaným ověřováním systému Windows, můžete poskytnout jednotné přihlašování. Tyto aplikace vyžadují pro přístup lístek protokolu Kerberos. Proxy aplikace používá k podpoře těchto aplikací omezené delegování kerberos (KCD).
Další informace o jednotném přihlašování najdete v tématu Co je jednotné přihlašování?
Jednotné přihlašování k aplikacím můžete povolit pomocí integrovaného ověřování Systému Windows (IWA) tím, že udělíte privátním síťovým konektorům oprávnění ke zosobnění uživatelů ve službě Active Directory. Konektory používají toto oprávnění k odesílání a přijímání tokenů jejich jménem.
Jak funguje jednotné přihlašování pomocí KCD
Tento diagram vysvětluje tok, když se uživatel pokusí získat přístup k místní aplikaci, která používá IWA.
- Uživatel zadá adresu URL pro přístup k místní aplikaci prostřednictvím proxy aplikace.
- Proxy aplikace přesměruje požadavek na ověřovací služby Microsoft Entra, aby se předem neověřily. V tomto okamžiku microsoft Entra ID použije všechny platné zásady ověřování a autorizace, jako je vícefaktorové ověřování. Pokud je uživatel ověřen, Microsoft Entra ID vytvoří token a odešle ho uživateli.
- Uživatel předá token proxy aplikací.
- Proxy aplikace ověří token a načte z něj hlavní název uživatele (UPN) a potom konektor načte hlavní název uživatele (UPN) a hlavní název služby (SPN) prostřednictvím duálního ověřeného zabezpečeného kanálu.
- Konektor provádí vyjednávání omezeného delegování Kerberos (KCD) s místní službou AD a zosobňuje uživatele při získávání tokenu protokolu Kerberos pro aplikaci.
- Služba Active Directory odešle token protokolu Kerberos pro aplikaci konektoru.
- Konektor odešle původní požadavek na aplikační server s využitím tokenu protokolu Kerberos, který obdržel ze služby AD.
- Aplikace odešle odpověď konektoru, který se pak vrátí do služby proxy aplikací a nakonec uživateli.
Požadavky
Než začnete s jednotným přihlašováním pro aplikace IWA, ujistěte se, že je vaše prostředí připravené s následujícími nastaveními a konfiguracemi:
- Vaše aplikace, jako jsou sharepointové webové aplikace, jsou nastavené tak, aby používaly integrované ověřování systému Windows. Další informace najdete v tématu Povolení podpory ověřování kerberos nebo pro SharePoint naleznete v tématu Plánování ověřování kerberos v SharePointu 2013.
- Všechny vaše aplikace mají hlavní názvy služeb.
- Server, na kterém běží konektor a server, na kterém běží aplikace, jsou připojené k doméně a jsou součástí stejné domény nebo důvěryhodné domény. Další informace o připojení k doméně naleznete v tématu Připojení počítače k doméně.
- Server, na kterém je spuštěný konektor, má přístup ke čtení atributu TokenGroupsGlobalAndUniversal pro uživatele. Toto výchozí nastavení mohlo mít vliv na posílení zabezpečení prostředí. Když přidáte servery konektoru do skupiny Přístupu pro autorizaci systému Windows, obvykle to uděláte.
Konfigurace Active Directory
Konfigurace služby Active Directory se liší v závislosti na tom, jestli je váš privátní síťový konektor a aplikační server ve stejné doméně nebo ne.
Konektor a aplikační server ve stejné doméně
Ve službě Active Directory přejděte na Nástroje>Uživatelé a počítače.
Vyberte server, na kterém běží konektor.
Klikněte pravým tlačítkem myši a vyberte Delegování vlastností>.
Vyberte Možnost Důvěřovat tomuto počítači pro delegování pouze určeným službám.
Vyberte Použít libovolný ověřovací protokol.
V části Služby, ke kterým může tento účet předložit delegovaná pověření , přidejte hodnotu identity hlavního názvu služby aplikačního serveru. To umožňuje privátnímu síťovému konektoru zosobnit uživatele v AD proti aplikacím definovaným v seznamu.
Konektor a aplikační server v různých doménách
Seznam požadavků pro práci s KCD napříč doménami najdete v tématu Omezené delegování protokolu Kerberos napříč doménami.
principalsallowedtodelegateto
Pomocí vlastnosti účtu služby (účet počítače nebo vyhrazeného uživatelského účtu domény) webové aplikace povolte delegování ověřování Kerberos z proxy aplikace (konektor). Aplikační server běží v kontextuwebserviceaccount
a delegující server jeconnectorcomputeraccount
. Spusťte následující příkazy na řadiči domény (se systémem Windows Server 2012 R2 nebo novějším) v doméněwebserviceaccount
. Pro oba účty používejte ploché názvy (bez hlavního názvu uživatele(UPN).Pokud se jedná o
webserviceaccount
účet počítače, použijte tyto příkazy:$connector= Get-ADComputer -Identity connectorcomputeraccount -server dc.connectordomain.com Set-ADComputer -Identity webserviceaccount -PrincipalsAllowedToDelegateToAccount $connector Get-ADComputer webserviceaccount -Properties PrincipalsAllowedToDelegateToAccount
Pokud se jedná o
webserviceaccount
uživatelský účet, použijte tyto příkazy:$connector= Get-ADComputer -Identity connectorcomputeraccount -server dc.connectordomain.com Set-ADUser -Identity webserviceaccount -PrincipalsAllowedToDelegateToAccount $connector Get-ADUser webserviceaccount -Properties PrincipalsAllowedToDelegateToAccount
Konfigurace jednotného přihlašování
Publikujte aplikaci podle pokynů popsaných v části Publikovat aplikace pomocí proxy aplikace. Jako metodu předběžného ověření nezapomeňte vybrat ID Microsoft Entra.
Jakmile se aplikace zobrazí v seznamu podnikových aplikací, vyberte ji a klikněte na Jednotné přihlašování.
Nastavte režim jednotného přihlašování na integrované ověřování systému Windows.
Zadejte hlavní název služby interní aplikace aplikačního serveru. V tomto příkladu je
http/www.contoso.com
hlavní název služby (SPN) pro naši publikovanou aplikaci . Tento hlavní název služby (SPN) musí být v seznamu služeb, ke kterým může konektor prezentovat delegovaná pověření.Zvolte delegovanou přihlašovací identitu konektoru, který se má používat jménem vašich uživatelů. Další informace najdete v tématu Práce s různými místními a cloudovými identitami.
Jednotné přihlašování pro aplikace mimo Windows
Tok delegování Kerberos v proxy aplikací Microsoft Entra se spustí, když Microsoft Entra ověří uživatele v cloudu. Jakmile žádost dorazí místně, privátní síťový konektor Microsoft Entra vydá lístek Kerberos jménem uživatele tím, že komunikuje s místní službou Active Directory. Tento proces se označuje jako omezené delegování protokolu Kerberos (KCD).
V další fázi se do back-endové aplikace odešle požadavek s tímto lístkem Kerberos.
Existuje několik mechanismů, které definují, jak v těchto požadavcích odeslat lístek Kerberos. Většina serverů mimo Windows očekává, že ho obdrží ve formě tokenu SPNEGO. Tento mechanismus se podporuje u proxy aplikací Microsoft Entra, ale ve výchozím nastavení je zakázaný. Konektor je možné nakonfigurovat pro SPNEGO nebo standardní token Kerberos, ale ne pro oba.
Pokud konfigurujete počítač konektoru pro SPNEGO, ujistěte se, že všechny ostatní konektory v této skupině konektorů jsou také nakonfigurované s nástrojem SPNEGO. Aplikace, které očekávají standardní token Kerberos, by se měly směrovat prostřednictvím jiných konektorů, které nejsou nakonfigurované pro SPNEGO. Některé webové aplikace přijímají oba formáty bez nutnosti jakékoli změny v konfiguraci.
Povolení SPNEGO:
Otevřete příkazový řádek, který běží jako správce.
Na příkazovém řádku spusťte na serverech konektorů, které potřebují SPNEGO, následující příkazy.
REG ADD "HKLM\SOFTWARE\Microsoft\Microsoft Entra private network connector" /v UseSpnegoAuthentication /t REG_DWORD /d 1 net stop WAPCSvc & net start WAPCSvc
Aplikace mimo Windows obvykle uživatelské jméno nebo názvy účtů SAM místo doménových e-mailových adres. Pokud tato situace platí pro vaše aplikace, musíte nakonfigurovat pole delegované přihlašovací identity pro připojení cloudových identit k identitám vaší aplikace.
Práce s různými místními a cloudovými identitami
Proxy aplikace předpokládá, že uživatelé mají přesně stejnou identitu v cloudu i v místním prostředí. V některých prostředích ale kvůli firemním zásadám nebo závislostem aplikací můžou organizace pro přihlášení používat alternativní ID. V takových případech můžete stále používat KCD pro jednotné přihlašování. Nakonfigurujte delegovanou přihlašovací identitu pro každou aplikaci, aby určila, kterou identitu se má použít při provádění jednotného přihlašování.
Tato funkce umožňuje mnoha organizacím, které mají různé místní a cloudové identity, mít jednotné přihlašování z cloudu do místních aplikací, aniž by museli uživatelé zadávat různá uživatelská jména a hesla. Patří sem organizace, které:
- Mít více domén interně (joe@us.contoso.com, joe@eu.contoso.com) a jednu doménu v cloudu (joe@contoso.com).
- Mít nesměrovatelný název domény interně (joe@contoso.usa) a právní název v cloudu.
- Nepoužívejte názvy domén interně (joe)
- Používejte různé aliasy místně i v cloudu. Například joe-johns@contoso.com vs. joej@contoso.com
Pomocí proxy aplikace můžete vybrat, kterou identitu použít k získání lístku Kerberos. Toto nastavení je pro každou aplikaci. Některé z těchto možností jsou vhodné pro systémy, které nepřijímají formát e-mailové adresy, jiné jsou určené pro alternativní přihlášení.
Pokud se používá delegovaná přihlašovací identita, nemusí být hodnota jedinečná ve všech doménách nebo doménových strukturách ve vaší organizaci. Tomuto problému se můžete vyhnout tak, že tyto aplikace publikujete dvakrát pomocí dvou různých skupin konektorů. Vzhledem k tomu, že každá aplikace má jinou cílovou skupinu uživatelů, můžete její konektory připojit k jiné doméně.
Pokud se pro přihlašovací identitu používá místní název účtu SAM, musí být počítač, který je hostitelem konektoru, přidán do domény, ve které se nachází uživatelský účet.
Konfigurace jednotného přihlašování pro různé identity
Nakonfigurujte nastavení služby Microsoft Entra Connect tak, aby hlavní identita byla e-mailová adresa (pošta). To se provádí jako součást procesu přizpůsobení změnou pole Hlavní název uživatele v nastavení synchronizace. Tato nastavení také určují, jak se uživatelé přihlašují k Microsoftu 365, počítačům s Windows a dalším aplikacím, které používají Microsoft Entra ID jako úložiště identit.
V nastavení konfigurace aplikace pro aplikaci, kterou chcete upravit, vyberte delegovanou přihlašovací identitu , kterou chcete použít:
- Hlavní název uživatele (například
joe@contoso.com
) - Alternativní hlavní název uživatele (například
joed@contoso.local
) - Část hlavního názvu uživatele (například
joe
) uživatelského jména - Část uživatelského jména alternativního hlavního názvu uživatele (například
joed
) - Název místního účtu SAM (závisí na konfiguraci řadiče domény)
- Hlavní název uživatele (například
Řešení potíží s SSO pro různé identity
Pokud v procesu jednotného přihlašování dojde k chybě, zobrazí se v protokolu událostí počítače konektoru, jak je vysvětleno v tématu Řešení potíží. V některých případech se ale požadavek úspěšně odešle do back-endové aplikace, zatímco tato aplikace odpoví v různých dalších odpovědích HTTP. Při řešení potíží s těmito případy byste měli začít prozkoumáním čísla události 24029 na počítači konektoru v protokolu událostí relace proxy aplikací. Identita uživatele, která byla použita pro delegování, se zobrazí v poli "uživatel" v podrobnostech události. Pokud chcete zapnout protokol relací, v nabídce zobrazení prohlížeče událostí vyberte Zobrazit analytické protokoly a protokoly ladění.