Sdílet prostřednictvím


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. Aplikace proxy používá omezené delegování Kerberos (KCD) k podpoře těchto aplikací.

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

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 ověřilo. 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 aplikačnímu proxy.
  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ím 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 ke 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ý ji poté přesměruje zpět do služby aplikačního proxy 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ě.
  • Ujistěte se, že server konektoru TokenGroupsGlobalAndUniversal může číst atribut pro uživatele. Posílení zabezpečení může tento přístup omezit. Povolte servery konektorů tak, že je přidáte do skupiny Windows Authorization Access .

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 Vlastnosti>Delegování.

  4. Vyberte Důvěřovat tomuto počítači pouze pro delegování na určené služby.

  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 pro SPN identitu aplikačního serveru. Nastavení umožňuje privátnímu síťovému konektoru zosobnit uživatele v AD proti aplikacím definovaným v seznamu.

    Snímek obrazovky okna Vlastnosti konektoru SVR

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. Pokud chcete povolit delegování ověřování Kerberos z proxy aplikace (konektor), použijte PrincipalsAllowedToDelegateTo vlastnost účtu služby webové aplikace (webserviceaccount). Aplikační server běží pod webserviceaccounta delegující server je connectorcomputeraccount. Spusťte následující příkazy na řadiči domény (Windows Server 2012 R2 nebo novější) ve stejné doméně jako webserviceaccount. Pro oba účty použijte 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 svou aplikaci podle pokynů uvedených v Publikovat aplikace pomocí proxy aplikace. Jako metodu předběžného ověření nezapomeňte vybrat ID Microsoft Entra.

  2. Jakmile se vaše aplikace zobrazí v seznamu podnikových aplikací, vyberte ji a vyberte 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 SPN interní aplikace aplikačního serveru. V tomto příkladu je SPN pro naši publikovanou aplikaci http/www.contoso.com. 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

Proces delegování Kerbera na proxy serveru aplikace Microsoft Entra začne, 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í 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. Mechanismus se podporuje na 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 stroj konektoru pro SPNEGO, ujistěte se, že všechny ostatní konektory v této skupině konektorů jsou také nakonfigurované s 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.

Chcete-li povolit SPNEGO:

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

  2. Na serverech konektorů, které potřebují SPNEGO, spusťte 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 používají uživatelská jména 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é identity přihlašování 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í stejnou identitu v cloudu i v místním prostředí. Některé organizace ale musí pro přihlášení používat alternativní ID kvůli firemním zásadám nebo požadavkům aplikací. Stále můžete povolit KCD pro jednotné přihlašování konfigurací delegované přihlašovací identity pro každou aplikaci. Toto nastavení určuje, která identita se má použít pro jednotné přihlašování.

Tato funkce umožňuje organizacím povolit jednotné přihlašování z cloudu do místních aplikací, aniž by museli uživatelé spravovat různá uživatelská jména a hesla. Mezi běžné scénáře patří:

  • Použití více interních domén (například joe@us.contoso.com, joe@eu.contoso.com) s jednou cloudovou doménou (například joe@contoso.com).
  • Nesměrovatelné interní názvy domén (například joe@contoso.usa) při použití platných názvů domén v cloudu.
  • Provoz bez interních názvů domén (například joe).
  • Přiřazení různých aliasů pro uživatele v místním prostředí a v cloudu (například joe-johns@contoso.com vs. joej@contoso.com).

U proxy aplikací můžete zvolit identitu použitou k získání lístku Kerberos. Toto nastavení je nakonfigurováno pro každou aplikaci a podporuje systémy, které vyžadují žádné formáty pošty nebo alternativní metody přihlašování.

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

Pokud se používá delegovaná identita přihlašování, 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). Konfigurace se provádí v rámci 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 Uživatelské hlavní jméno

  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 back-endová aplikace odpoví neočekávanými odpověďmi HTTP, začněte řešit potíže kontrolou události 24029 v přihlášení k události relace proxy aplikace v počítači konektoru. Pole "uživatel" v podrobnostech události zobrazuje identitu použitou pro delegování. Pokud chcete povolit protokoly relací, přejděte do Prohlížeče událostí, otevřete nabídku Zobrazení a vyberte Zobrazit analytické a ladicí protokoly.

Další kroky