Beperkte Kerberos-delegering voor eenmalige aanmelding (SSO) voor uw apps met toepassingsproxy
U kunt eenmalige aanmelding opgeven voor on-premises toepassingen die zijn gepubliceerd via een toepassingsproxy die zijn beveiligd met geïntegreerde Windows-verificatie. Voor deze toepassingen is een Kerberos-ticket vereist voor toegang. Toepassingsproxy maakt gebruik van KCD (Beperkte Kerberos-delegering) om deze toepassingen te ondersteunen.
Zie Wat is eenmalige aanmelding?voor meer informatie over eenmalige aanmelding.
U kunt eenmalige aanmelding voor uw toepassingen inschakelen met geïntegreerde Windows-verificatie (IWA) door privénetwerkconnectors in Active Directory toestemming te geven om gebruikers te imiteren. De connectors gebruiken deze machtiging om tokens namens hen te verzenden en te ontvangen.
Hoe eenmalige aanmelding met beperkte Kerberos-delegering werkt
In dit diagram wordt de stroom uitgelegd wanneer een gebruiker toegang probeert te krijgen tot een on-premises toepassing die gebruikmaakt van IWA.
- De gebruiker voert de URL in voor toegang tot de on-premises toepassing via de toepassingsproxy.
- De toepassingsproxy stuurt de aanvraag om naar Microsoft Entra-verificatieservices om vooraf te verifiëren. Op dit moment past Microsoft Entra ID alle toepasselijke verificatie- en autorisatiebeleidsregels toe, zoals meervoudige verificatie. Als de gebruiker is gevalideerd, maakt Microsoft Entra ID een token en verzendt deze naar de gebruiker.
- De gebruiker geeft het token door aan de toepassingsproxy.
- De toepassingsproxy valideert het token en haalt de UPN (User Principal Name) ervan op en vervolgens haalt de connector de UPN en de SPN (Service Principal Name) op via een dubbel geverifieerd beveiligd kanaal.
- De connector voert KCD-onderhandeling (beperkte Kerberos-delegering) uit met de on-premises AD, en imiteert hierbij de gebruiker om een Kerberos-token te verkrijgen voor de toepassing.
- Active Directory verzendt het Kerberos-token voor de toepassing naar de connector.
- De connector verzendt de oorspronkelijke aanvraag naar de toepassingsserver met behulp van het Kerberos-token dat is ontvangen van AD.
- De toepassing verzendt het antwoord naar de connector, die vervolgens wordt geretourneerd naar de toepassingsproxyservice en ten slotte naar de gebruiker.
Vereisten
Voordat u aan de slag gaat met eenmalige aanmelding voor IWA-toepassingen, moet u ervoor zorgen dat uw omgeving gereed is met de volgende instellingen en configuraties:
- Uw apps, zoals SharePoint-web-apps, zijn ingesteld op het gebruik van geïntegreerde Windows-verificatie. Zie Ondersteuning voor Kerberos-verificatie inschakelen of Plan voor Kerberos-verificatie in SharePoint 2013 voor meer informatie hierover of over SharePoint.
- Al uw apps hebben SPN-namen.
- De server waarop de connector wordt uitgevoerd en de server waarop de app wordt uitgevoerd, zijn gekoppeld aan een domein en maken deel uit van hetzelfde domein of vertrouwde domeinen. Zie Een computer toevoegen aan een domein voor meer informatie over domeindeelname.
- De server waarop de connector wordt uitgevoerd, heeft leestoegang tot het kenmerk TokenGroupsGlobalAndUniversal voor gebruikers. Deze standaardinstelling is mogelijk beïnvloed door de betere beveiliging voor de omgeving. Het toevoegen van de connectorservers aan de 'Windows Authorization Access Group' doet dit normaal gesproken.
Active Directory configureren
De Active Directory-configuratie varieert, afhankelijk van of uw privénetwerkconnector en de toepassingsserver zich in hetzelfde domein bevinden of niet.
Connector en toepassingsserver bevinden zich in hetzelfde domein
Ga in Active Directory naar Extra> Gebruikers en computers.
Selecteer de server waarop de connector wordt uitgevoerd.
Klik met de rechtermuisknop op en selecteer Eigenschappen>Delegatie.
Selecteer Deze computer alleen vertrouwen voor delegering naar opgegeven services.
Selecteer Elk verificatieprotocol gebruiken.
Voeg onder Services waaraan dit account gedelegeerde referenties kan aanbieden de waarde voor de SPN-identiteit van de toepassingsserver toe. Hierdoor kan de privénetwerkconnector gebruikers in AD imiteren voor de toepassingen die in de lijst zijn gedefinieerd.
Connector en toepassingsserver bevinden zich in verschillende domeinen
Zie Door Kerberos beperkte delegatie tussen domeinen voor een lijst met vereisten voor het werken met KCD tussen domeinen.
Gebruik de
principalsallowedtodelegateto
eigenschap van het serviceaccount (computer of toegewezen domeingebruikersaccount) van de webtoepassing om Kerberos-verificatiedelegering in te schakelen vanuit de toepassingsproxy (connector). De toepassingsserver wordt uitgevoerd in de context vanwebserviceaccount
en de delegerende server isconnectorcomputeraccount
. Voer de onderstaande opdrachten uit op een domeincontroller (met Windows Server 2012 R2 of hoger) in het domein vanwebserviceaccount
. Gebruik platte namen (niet-UPN) voor beide accounts.Als het
webserviceaccount
een computeraccount is, gebruikt u deze opdrachten:$connector= Get-ADComputer -Identity connectorcomputeraccount -server dc.connectordomain.com Set-ADComputer -Identity webserviceaccount -PrincipalsAllowedToDelegateToAccount $connector Get-ADComputer webserviceaccount -Properties PrincipalsAllowedToDelegateToAccount
Als het
webserviceaccount
een gebruikersaccount is, gebruikt u deze opdrachten:$connector= Get-ADComputer -Identity connectorcomputeraccount -server dc.connectordomain.com Set-ADUser -Identity webserviceaccount -PrincipalsAllowedToDelegateToAccount $connector Get-ADUser webserviceaccount -Properties PrincipalsAllowedToDelegateToAccount
Eenmalige aanmelding configureren
Publiceer uw toepassing volgens de instructies die worden beschreven in Toepassingen publiceren met toepassingsproxy. Zorg ervoor dat u Microsoft Entra-id selecteert als de methode voor verificatie vooraf.
Nadat uw toepassing is weergegeven in de lijst met bedrijfstoepassingen, selecteert u deze en klikt u op Eenmalige aanmelding.
Stel de modus voor eenmalige aanmelding in op Geïntegreerde Windows-verificatie.
Voer de SPN van de interne toepassing van de toepassingsserver in. In dit voorbeeld is
http/www.contoso.com
de SPN voor onze gepubliceerde toepassing. Deze SPN moet aanwezig zijn in de lijst met services waaraan de connector gedelegeerde referenties kan aanbieden.Kies de gedelegeerde aanmeldingsidentiteit voor de connector die u wilt gebruiken namens uw gebruikers. Zie Werken met verschillende on-premises en cloudidentiteiten voor meer informatie.
Eenmalige aanmelding voor niet-Windows-apps
De Kerberos-delegeringsstroom in de Microsoft Entra-toepassingsproxy wordt gestart wanneer Microsoft Entra de gebruiker in de cloud verifieert. Zodra de aanvraag on-premises binnenkomt, geeft de Microsoft Entra-privénetwerkconnector namens de gebruiker een Kerberos-ticket uit door te communiceren met de lokale Active Directory. Dit proces wordt aangeduid als KCD (Kerberos Constrained Delegation, door Kerberos beperkte delegatie).
In de volgende fase wordt een aanvraag verzonden naar de back-endtoepassing met dit Kerberos-ticket.
Er zijn verschillende mechanismen die definiëren hoe het Kerberos-ticket in dergelijke aanvragen moet worden verzonden. Bij de meeste niet-Windows-servers wordt verwacht dat het ticket in de vorm van SPNEGO-token wordt ontvangen. Dit mechanisme wordt ondersteund in de Microsoft Entra-toepassingsproxy, maar is standaard uitgeschakeld. Er kan een connector worden geconfigureerd voor een SPNEGO- of standaard Kerberos-token, maar niet voor beide.
Als u een connectormachine voor SPNEGO configureert, moet u ervoor zorgen dat alle andere connectors in die connectorgroep ook zijn geconfigureerd met SPNEGO. Toepassingen waarbij een standaard Kerberos-token wordt verwacht, moeten worden gerouteerd via andere connectors die niet zijn geconfigureerd voor SPNEGO. Sommige webtoepassingen accepteren beide indelingen zonder dat er een wijziging in de configuratie nodig is.
SPNEGO inschakelen:
Open als beheerder een opdrachtprompt.
Voer vanaf de opdrachtprompt de volgende opdrachten uit op de connectorservers die SPNEGO nodig hebben.
REG ADD "HKLM\SOFTWARE\Microsoft\Microsoft Entra private network connector" /v UseSpnegoAuthentication /t REG_DWORD /d 1 net stop WAPCSvc & net start WAPCSvc
Niet-Windows-apps gebruiken doorgaans gebruikersnamen of SAM-accountnamen in plaats van domein-e-mailadressen. Als deze situatie van toepassing is op uw toepassingen, moet u het veld Gedelegeerde aanmeldingsidentiteit configureren om uw cloudidentiteiten te verbinden met uw toepassingsidentiteiten.
Werken met verschillende on-premises en cloud-identiteiten
In de toepassingsproxy wordt ervan uitgegaan dat gebruikers exact dezelfde identiteit hebben in de cloud en on-premises. Maar in sommige omgevingen moeten vanwege bedrijfsbeleid of toepassingsafhankelijkheden organisaties mogelijk alternatieve id's gebruiken voor aanmelding. In dergelijke gevallen kunt u KCD nog steeds gebruiken voor eenmalige aanmelding. Configureer een gedelegeerde aanmeldingsidentiteit voor elke toepassing om op te geven welke identiteit moet worden gebruikt bij het uitvoeren van eenmalige aanmelding.
Met deze mogelijkheid kunnen veel organisaties met verschillende on-premises en cloudidentiteiten eenmalige aanmelding van de cloud naar on-premises apps krijgen zonder dat de gebruikers verschillende gebruikersnamen en wachtwoorden hoeven in te voeren. Dit geldt ook voor organisaties die:
- intern over meerdere domeinen (joe@us.contoso.com, joe@eu.contoso.com) en één domein in de cloud (joe@contoso.com) beschikken;
- intern over een niet-routeerbare domeinnaam beschikken (joe@contoso.usa), en een juridische domeinnaam in de cloud;
- intern geen domeinnamen (joe) gebruiken;
- verschillende aliassen on-premises en in de cloud gebruiken, bijvoorbeeld joe-johns@contoso.com of joej@contoso.com.
Met de toepassingsproxy kunt u selecteren welke identiteit u wilt gebruiken om het Kerberos-ticket te verkrijgen. Deze instelling is per toepassing. Sommige van deze opties zijn geschikt voor systemen die de indeling van e-mailadressen niet accepteren, andere zijn ontworpen voor alternatieve aanmelding.
Als Gedelegeerde aanmeldingsidentiteit wordt gebruikt, is de waarde mogelijk niet uniek in alle domeinen of forests in uw organisatie. U kunt dit probleem voorkomen door deze toepassingen tweemaal te publiceren met behulp van twee verschillende connectorgroepen. Aangezien elke toepassing een andere gebruikersdoelgroep heeft, kunt u de connectors aan een ander domein koppelen.
Als de on-premises SAM-accountnaam wordt gebruikt voor de aanmeldingsidentiteit, moet de computer waarop de connector wordt gehost, worden toegevoegd aan het domein waarin het gebruikersaccount zich bevindt.
SSO configureren voor verschillende identiteiten
Configureer Microsoft Entra Connect-instellingen zodat de hoofdidentiteit het e-mailadres (e-mailadres) is. Dit wordt gedaan als onderdeel van het aanpassingsproces, door het veld User Principal Name in de synchronisatie-instellingen te wijzigen. Deze instellingen bepalen ook hoe gebruikers zich aanmelden bij Microsoft 365-, Windows-computers en andere toepassingen die Gebruikmaken van Microsoft Entra ID als hun identiteitsarchief.
Selecteer de gedelegeerde aanmeldingsidentiteit die moet worden gebruikt in de instellingen voor configuratie van de toepassing die u wilt wijzigen:
- User Principal Name (bijvoorbeeld
joe@contoso.com
) - Alternatieve User Principal Name (bijvoorbeeld
joed@contoso.local
) - Gebruikersnaamgedeelte van User Principal Name (bijvoorbeeld
joe
) - Gebruikersnaamgedeelte van alternatieve user principal name (bijvoorbeeld
joed
) - On-premises SAM-accountnaam (is afhankelijk van de configuratie van de domeincontroller)
- User Principal Name (bijvoorbeeld
Problemen met SSO oplossen voor verschillende identiteiten
Als er een fout optreedt in het SSO-proces, wordt deze weergegeven in het gebeurtenislogboek van de connectorcomputer, zoals wordt uitgelegd in het gedeelte Probleemoplossing. In sommige gevallen wordt de aanvraag echter naar de back-endtoepassing verzonden terwijl deze toepassing reageert in verschillende andere HTTP-antwoorden. Het oplossen van deze gevallen moet beginnen met het onderzoeken van gebeurtenisnummer 24029 op de connectorcomputer in het gebeurtenislogboek van de toepassingsproxysessie. De gebruikersidentiteit die is gebruikt voor delegatie wordt weergegeven in het veld Gebruiker in de gebeurtenisdetails. Als u het sessielogboek wilt inschakelen, selecteert u Analyse- en foutopsporingslogboeken weergeven in het menu Weergave van logboeken.