Dela via


Kerberos-begränsad delegering för enkel inloggning (SSO) till dina appar med programproxy

Du kan ange enkel inloggning för lokala program som publicerats via programproxy och som skyddas med integrerad Windows-autentisering. Dessa program kräver en Kerberos-biljett för åtkomst. Programproxy använder Kerberos-begränsad delegering (KCD) för att stödja dessa program.

Mer information om enkel inloggning (SSO) finns i Vad är enkel inloggning?.

Du kan aktivera enkel inloggning till dina program med hjälp av integrerad Windows-autentisering (IWA) genom att ge privata nätverksanslutningar behörighet i Active Directory för att personifiera användare. Anslutningsapparna använder den här behörigheten för att skicka och ta emot tokens för deras räkning.

Så här fungerar enkel inloggning med KCD

Diagrammet förklarar flödet när en användare försöker komma åt ett lokalt program som använder IWA.

Flödesdiagram för Microsoft Entra-autentisering

  1. Användaren anger URL:en för att komma åt det lokala programmet via programproxyn.
  2. Programproxy omdirigerar begäran till Microsoft Entra-autentiseringstjänster för att förautentisera. I det här läget tillämpar Microsoft Entra-ID alla tillämpliga autentiserings- och auktoriseringsprinciper, till exempel multifaktorautentisering. Om användaren verifieras skapar Microsoft Entra-ID en token och skickar den till användaren.
  3. Användaren skickar token till programproxyn.
  4. Applikationsproxy validerar token och hämtar användarens huvudnamn (UPN) från det, och sedan hämtar Connector UPN och tjänstehuvudnamn (SPN) via en dubbelautentiserad säker kanal.
  5. Anslutningsprogrammet genomför en KCD-förhandling (Kerberos-begränsad delegering) med den lokala AD:n och personifierar användaren för att skaffa en Kerberos-token till programmet.
  6. Active Directory skickar programmets Kerberos-token till anslutningsprogrammet.
  7. Anslutningsprogrammet skickar den ursprungliga begäran till programservern med den Kerberos-token som erhölls från AD.
  8. Programmet skickar svaret till anslutningsappen, som sedan returneras till programproxytjänsten och slutligen till användaren.

Förutsättningar

Innan du kommer igång med enkel inloggning för IWA-program kontrollerar du att din miljö är klar med följande inställningar och konfigurationer:

  • Dina appar, till exempel SharePoint-webbappar, är inställda på att använda integrerad Windows-autentisering. Mer information finns i Aktivera stöd för Kerberos-autentisering eller för SharePoint i Planera för Kerberos-autentisering i SharePoint 2013.
  • Alla dina appar har tjänstehuvudnamn.
  • Servern som kör anslutningsappen och servern som kör appen är domänanslutna och en del av samma domän eller betrodda domäner. Mer information om domänanslutning finns i Ansluta en dator till en domän.
  • Kontrollera att anslutningsservern kan läsa attributet TokenGroupsGlobalAndUniversal för användare. Säkerhetshärdning kan begränsa den här åtkomsten. Aktivera anslutningsservrarna genom att lägga till dem i windows-auktoriseringsåtkomstgruppen .

Konfigurera Active Directory

Active Directory-konfigurationen varierar beroende på om din privata nätverksanslutning och programservern finns i samma domän eller inte.

Anslutningsprogram och programserver i samma domän

  1. I Active Directory går du till Verktyg>Användare och datorer.

  2. Välj den server som kör anslutningsappen.

  3. Högerklicka och välj Egenskaper>Delegation.

  4. Välj Lita på den här datorn för delegering till endast angivna tjänster.

  5. Välj Använd valfritt autentiseringsprotokoll.

  6. Under Tjänster som det här kontot kan presentera delegerade autentiseringsuppgifter till lägger du till värdet för PROGRAMserverns SPN-identitet. Inställningen gör det möjligt för den privata nätverksanslutningsappen att personifiera användare i AD mot de program som definieras i listan.

    Skärmbild av egenskapsfönstret för Connector-SVR

Anslutningsprogram och programserver i olika domäner

  1. En lista över förutsättningar för att arbeta med KCD mellan domäner finns i Kerberos-begränsad delegering mellan domäner.

  2. Om du vill aktivera Kerberos-autentiseringsdelegering från applikationsproxyn (anslutningen PrincipalsAllowedToDelegateTo) använder du egenskapen för webbapplikationens tjänstkonto (webserviceaccount). Programservern körs under webserviceaccountoch delegeringsservern är connectorcomputeraccount. Kör följande kommandon på en domänkontrollant (Windows Server 2012 R2 eller senare) i samma domän som webserviceaccount. Använd platta namn (icke-UPN) för båda kontona.

    Om webserviceaccount är ett datorkonto, använder du följande kommandon:

    $connector= Get-ADComputer -Identity connectorcomputeraccount -server dc.connectordomain.com
    
    Set-ADComputer -Identity webserviceaccount -PrincipalsAllowedToDelegateToAccount $connector
    
    Get-ADComputer webserviceaccount -Properties PrincipalsAllowedToDelegateToAccount
    

    Om webserviceaccount är ett användarkonto, använder du följande kommandon:

    $connector= Get-ADComputer -Identity connectorcomputeraccount -server dc.connectordomain.com
    
    Set-ADUser -Identity webserviceaccount -PrincipalsAllowedToDelegateToAccount $connector
    
    Get-ADUser webserviceaccount -Properties PrincipalsAllowedToDelegateToAccount
    

Konfigurera enkel inloggning

  1. Publicera programmet enligt anvisningarna i Publicera program med programproxy. Se till att välja Microsoft Entra-ID som förautentiseringsmetod.

  2. När programmet visas i listan över företagsprogram väljer du det och väljer Enkel inloggning.

  3. Ange läget för enkel inloggning till Integrerad Windows-autentisering.

  4. Ange det interna program-SPN:et för programservern. I det här exemplet är http/www.contoso.comSPN för vårt publicerade program . SPN måste finnas i listan över tjänster som anslutningsappen kan presentera delegerade autentiseringsuppgifter för.

  5. Välj den delegerade inloggningsidentiteten för anslutningsappen som ska användas för dina användares räkning. Mer information finns i Arbeta med olika lokala identiteter och molnidentiteter.

    Avancerad programkonfiguration

Enkel inloggning för appar som inte är Windows-appar

Kerberos-delegeringsflödet i Microsoft Entra-programproxyn startar när Microsoft Entra autentiserar användaren i molnet. När begäran tas emot lokalt utfärdar microsoft Entra-anslutningsprogrammet för privata nätverk en Kerberos-biljett åt användaren genom att interagera med den lokala Active Directory. Processen kallas Kerberos-begränsad delegering (KCD).

I nästa fas skickas en begäran till serverdelsprogrammet med den här Kerberos-biljetten.

Det finns flera mekanismer som definierar hur kerberos-biljetten ska skickas i sådana begäranden. De flesta servrar som inte är Windows-servrar förväntar sig att ta emot den i form av SPNEGO-token. Mekanismen stöds på Microsoft Entra-programproxy, men är inaktiverad som standard. En anslutning kan konfigureras för SPNEGO eller standard Kerberos-token, men inte båda.

Om du konfigurerar en anslutning för SPNEGO, kontrollera att alla andra anslutningar i den anslutningsgruppen också har konfigurerats med SPNEGO. Applikationer som förväntar sig standard-Kerberos-token ska dirigeras via andra anslutningar som inte har konfigurerats för SPNEGO. Vissa webbprogram accepterar båda formaten utan att det krävs någon ändring i konfigurationen.

Så här aktiverar du SPNEGO:

  1. Öppna en kommandotolk som körs som administratör.

  2. Kör följande kommandon på de anslutningsservrar som behöver SPNEGO.

    REG ADD "HKLM\SOFTWARE\Microsoft\Microsoft Entra private network connector" /v UseSpnegoAuthentication /t REG_DWORD /d 1
    net stop WAPCSvc & net start WAPCSvc
    

Icke-Windows-appar använder vanligtvis användarnamn eller SAM-kontonamn i stället för domänens e-postadresser. Om den situationen gäller för dina program måste du konfigurera fältet delegerad inloggningsidentitet för att ansluta dina molnidentiteter till dina programidentiteter.

Arbeta med olika lokala identiteter och molnidentiteter

Programproxy förutsätter att användarna har samma identitet i molnet och lokalt. Vissa organisationer behöver dock använda alternativa ID:er för inloggning på grund av företagsprinciper eller programkrav. Du kan fortfarande aktivera KCD för enkel inloggning genom att konfigurera en delegerad inloggningsidentitet för varje program. Den här inställningen anger vilken identitet som ska användas för enkel inloggning.

Med den här funktionen kan organisationer aktivera enkel inloggning från molnet till lokala appar utan att kräva att användarna hanterar olika användarnamn och lösenord. Vanliga scenarier är:

  • Använda flera interna domäner (till exempel joe@us.contoso.com, joe@eu.contoso.com) med en enda molndomän (till exempel joe@contoso.com).
  • Ha icke-utfällbara interna domännamn (till exempel joe@contoso.usa) när du använder giltiga domännamn i molnet.
  • Arbeta utan interna domännamn (till exempel joe).
  • Tilldela olika alias för användare lokalt och i molnet (till exempel joe-johns@contoso.com jämfört med joej@contoso.com).

Med programproxy kan du välja den identitet som används för att hämta Kerberos-biljetten. Den här inställningen konfigureras per program och stöder system som kräver nonemail-format eller alternativa inloggningsmetoder.

Skärmbild av parametern Delegerad inloggningsidentitet

Om delegerad inloggningsidentitet används kanske värdet inte är unikt för alla domäner eller skogar i din organisation. Du kan undvika det här problemet genom att publicera dessa program två gånger med hjälp av två olika anslutningsgrupper. Eftersom varje program har en annan användargrupp kan du ansluta sina kopplingar till en annan domän.

Om det lokala SAM-kontonamnet används för inloggningsidentiteten måste datorn som är värd för anslutningsappen läggas till i domänen där användarkontot finns.

Konfigurera SSO för olika identiteter

  1. Konfigurera Microsoft Entra Connect-inställningar så att huvudidentiteten är e-postadressen (e-postadressen). Konfigurationen görs som en del av anpassningsprocessen genom att ändra fältet Användarens huvudnamn i synkroniseringsinställningarna. De här inställningarna avgör också hur användare loggar in på Microsoft 365, Windows-datorer och andra program som använder Microsoft Entra-ID som identitetsarkiv.
    Skärmbild av att identifiera användare – rullgardinsmenyn Användarens huvudnamn

  2. I programkonfigurationsinställningarna för det program som du vill ändra väljer du den delegerade inloggningsidentitet som ska användas:

    • Användarens huvudnamn (till exempel joe@contoso.com)
    • Alternativt namn på användarens huvudnamn (till exempel joed@contoso.local)
    • Användarnamnsdel i användarens huvudnamn (till exempel joe)
    • Användarnamnsdel i alternativt huvudnamn för användaren (till exempel joed)
    • Lokalt SAM-kontonamn (beror på domänkontrollantkonfigurationen)

Felsöka SSO för olika identiteter

Börja felsöka när serverdelsprogrammet svarar med oväntade HTTP-svar genom att kontrollera händelse 24029 i proxysessionens händelselogg på kopplingsmaskinen. Fältet "användare" i händelseinformationen visar den identitet som används för delegering. Om du vill aktivera sessionsloggar går du till Loggboken, öppnar menyn Visa och väljer Visa analys- och felsökningsloggar.

Nästa steg