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.

Diagram toku ověřování Microsoft Entra

  1. Uživatel zadá adresu URL pro přístup k místní aplikaci prostřednictvím proxy aplikace.
  2. 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.
  3. Uživatel předá token proxy aplikací.
  4. 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.
  5. 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.
  6. Služba Active Directory odešle token protokolu Kerberos pro aplikaci konektoru.
  7. 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.
  8. 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ě

  1. Ve službě Active Directory přejděte na Nástroje>Uživatelé a počítače.

  2. Vyberte server, na kterém běží konektor.

  3. Klikněte pravým tlačítkem myši a vyberte Delegování vlastností>.

  4. Vyberte Možnost Důvěřovat tomuto počítači pro delegování pouze určeným službám.

  5. Vyberte Použít libovolný ověřovací protokol.

  6. 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.

    Snímek obrazovky s konektorem SVR okno Vlastnosti

Konektor a aplikační server v různých doménách

  1. Seznam požadavků pro práci s KCD napříč doménami najdete v tématu Omezené delegování protokolu Kerberos napříč doménami.

  2. 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 kontextu webserviceaccount a delegující server je connectorcomputeraccount. 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í

  1. 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.

  2. Jakmile se aplikace zobrazí v seznamu podnikových aplikací, vyberte ji a klikněte na Jednotné přihlašování.

  3. Nastavte režim jednotného přihlašování na integrované ověřování systému Windows.

  4. Zadejte hlavní název služby interní aplikace aplikačního serveru. V tomto příkladu je http/www.contoso.comhlavní 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í.

  5. 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.

    Pokročilá konfigurace aplikace

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:

  1. Otevřete příkazový řádek, který běží jako správce.

  2. 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í.

Snímek obrazovky s parametrem delegované přihlašovací identity

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

  1. 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.
    Snímek obrazovky s identifikací uživatelů – rozevírací seznam Hlavní název uživatele

  2. 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)

Ř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í.

Další kroky