Omezené delegování protokolu Kerberos pro jednotné přihlašování (SSO) k vašim aplikacím s proxy aplikací

Přehled

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 token ověří a načte z něj hlavní název uživatele (UPN) a pak 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í adresářovou službou AD a se vydává za uživatele, aby získal Kerberos token pro aplikaci.
  6. Služba Active Directory odešle token Kerberos pro aplikaci do konektoru.
  7. Konektor odešle původní požadavek aplikačnímu serveru pomocí tokenu Kerberos, který přijal z AD.
  8. Aplikace odešle odpověď ke konektoru, který ji 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ě.
  • Ujistěte se, že server konektoru může číst atribut TokenGroupsGlobalAndUniversal 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 prezentovat delegovaná pověření, přidejte hodnotu SPN identifikátoru aplikačního serveru. Nastavení umožňuje privátnímu síťovému konektoru předstírat identitu uživatelů v AD vůči aplikacím definovaným v seznamu.

    Snímek obrazovky znázorňující okno Vlastnosti konektoru SVR, které obsahuje kartou Delegování

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 krátké 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ů v části Publikování aplikací 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 poskytnout 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.

    Snímek obrazovky znázorňující nastavení konfigurace integrovaného ověřování systému Windows

Jednotné přihlašování pro aplikace mimo Windows

Tok delegování Kerberos v proxy aplikací Microsoft Entra se spustí, když Microsoft Entra ID ověří uživatele v cloudu. Jakmile žádost dorazí místně, vydá privátní síťový konektor Microsoft Entra lístek Kerberos jménem uživatele tím, že komunikuje s místní službou Active Directory. Tento proces se označuje jako Kerberos omezené delegování (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 v 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 místo doménových e-mailových adres používají uživatelská jména nebo názvy účtů SAM. 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 možnostmi rozevíracího seznamu pro přihlášení s delegovanou identitou

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.
    Rozevírací seznam Hlavní název uživatele pro identifikaci uživatelů

  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 protokolu událostí relace proxy aplikace na počítači konektoru. Pole user 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