Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Methoden voor eenmalige aanmelding (SSO) variëren per toepassing. Microsoft Entra-toepassingsproxy biedt standaard Beperkte Kerberos-delegering (KCD). In de toepassingsproxy verifieert een gebruiker zich bij een privétoepassing met behulp van Kerberos.
In dit artikel wordt beschreven hoe u de meest voorkomende problemen in de KCD-configuratie oplost. Het bevat diagnostische stappen die u kunt uitvoeren voor complexere implementaties.
In dit artikel wordt uitgegaan van het volgende:
Microsoft Entra-toepassingsproxy wordt ingezet en heeft algemene toegang tot niet-KCD-applicaties.
Zie Aan de slag met de toepassingsproxyvoor meer informatie.
Een gepubliceerde toepassing is gebaseerd op Internet Information Services (IIS) en de Microsoft-implementatie van Kerberos.
Server- en toepassingshosts bevinden zich in één Microsoft Entra-domein.
Zie het witboek Over beperkte Kerberos-delegering met toepassingsproxy voor meer informatie over scenario's tussen domeinen en forests.
De toepassing wordt gepubliceerd in een Microsoft Entra-tenant waarvoor verificatie vooraf is ingeschakeld. Gebruikers worden naar verwachting geverifieerd met behulp van verificatie op basis van formulieren.
Uitgebreide clientverificatiescenario's worden niet behandeld in dit artikel.
Overwegingen
In de volgende lijst worden basisoverwegingen beschreven voor de KCD-configuratie en het gebruik met de Microsoft Entra-toepassingsproxy:
Basisfouten of algemene fouten veroorzaken de meeste problemen. Voordat u begint met het oplossen van problemen, controleert u alle vereisten in KCD SSO gebruiken met de toepassingsproxy.
Connectorhosts zijn niet beperkt tot communicatie met alleen een specifieke lokale sitedomeincontroller (DC). Controleer de domeincontroller die u gebruikt, omdat deze kan veranderen.
Scenario's tussen domeinen zijn afhankelijk van verwijzingen die een connectorhost naar DC's leiden die zich mogelijk buiten de perimeter van het lokale netwerk bevinden. In deze gevallen is het even belangrijk om verkeer naar DC's te verzenden die andere respectieve domeinen vertegenwoordigen. Als u dat niet doet, mislukt delegering.
Vermijding van actieve IPS-apparaten (Inbraakpreventiesysteem) of IDS-apparaten (Inbraakdetectiesysteem) tussen connectorhosts en domeincontrollers (DC's) vanwege interferentie met RPC-verkeer (Remote Procedure Call).
Test delegatie in een eenvoudig scenario. Hoe meer variabelen u in een scenario introduceert, hoe complexer de configuratie en probleemoplossing zijn. Als u tijd wilt besparen, beperkt u het testen tot één connector. Voeg meer connectors toe nadat het probleem is opgelost.
Omgevingsfactoren kunnen bijdragen aan de oorzaak van een probleem. Om deze factoren te voorkomen, minimaliseert u de architectuur zoveel mogelijk tijdens het testen. Zo zijn onjuist geconfigureerde interne firewalltoegangsbeheerlijsten (ACL's) gebruikelijk. Verzend indien mogelijk al het verkeer van een connector rechtstreeks naar de DC's en de back-endtoepassing.
De beste plaats om verbindingslijnen zo dicht mogelijk bij hun doelen te plaatsen. Een firewall die inline wordt geplaatst wanneer u de connector test, voegt onnodige complexiteit toe en kan uw onderzoeken verlengen.
Wat geeft een KCD-probleem aan? Verschillende veelvoorkomende fouten geven aan dat KCD SSO mislukt. De eerste tekenen van een probleem worden weergegeven in de browser.
In beide volgende schermafbeeldingen ziet u hetzelfde symptoom van een fout met eenmalige aanmelding: gebruikerstoegang tot de toepassing wordt geweigerd.
Problemen oplossen
U kunt KCD-problemen in drie fasen oplossen. Controleer deze onderdelen van het KCD-proces in de volgende volgorde:
- Pre-authenticatie van de client
- De delegatiedienst
- De doeltoepassing
Pre-authenticatie van de client
Client-preauthenticatie verwijst naar een externe gebruiker die zich via een browser in een toepassing authenticeert. De mogelijkheid om vooraf te authenticeren bij Microsoft Entra ID is nodig om KCD SSO te laten werken.
Test eerst verificatie van client vooraf en los eventuele problemen op. De fase voor verificatie vooraf is niet gerelateerd aan KCD of aan de gepubliceerde toepassing. Het is eenvoudig om eventuele verschillen te corrigeren door te controleren of het onderwerpaccount bestaat in Microsoft Entra-id. Controleer of de toepassing niet beschikbaar of geblokkeerd is. De foutreactie in de browser is doorgaans beschrijvend genoeg om de oorzaak uit te leggen.
De delegatiedienst
De Kerberos-delegatieservice is de privénetwerkconnector die een Kerberos-serviceticket ophaalt van een Kerberos Key Distribution Center (KDC). De app-gebruiker verifieert zich met de toepassing via het ticket.
Externe communicatie tussen de client en de Azure-front-end heeft geen invloed op beperkte delegatie. Deze communicatie zorgt ervoor dat alleen KCD werkt. De toepassingsproxyservice krijgt een geldige gebruikers-id die een Kerberos-ticket ophaalt. Zonder deze ID kan KCD niet plaatsvinden en de eenmalige aanmelding mislukt.
Browserfoutberichten bieden nuttige informatie over waarom aanmelden mislukt. Noteer de waarden voor TransactionID en Timestamp in het antwoord op de aanmelding van de toepassing. De informatie helpt het gedrag te correleren met gebeurtenissen die worden weergegeven in het gebeurtenislogboek van de toepassingsproxy.
De bijbehorende vermeldingen in het gebeurtenislogboek zijn gebeurtenis-id's 13019 of 12027. Als u de gebeurtenislogboeken van de connector wilt bekijken, ga naar Toepassingen- en servicelogboeken>Microsoft>Microsoft Entra privé-netwerk>Connector>Admin.
Een probleem met beperkte delegering oplossen:
- Gebruik in uw interne DNS (Domain Name System) voor het toepassingsadres een A-record, niet een CNAME-record.
- Controleer of de connectorhost is geconfigureerd met machtigingen voor het delegeren van de service-principal-naam (SPN) van het doelaccount. Controleer of Verificatieprotocol gebruiken is geselecteerd. Zie SSO-configuratie voor meer informatie.
- Controleer of er slechts één exemplaar van de SPN bestaat in Microsoft Entra-id. Als u één SPN wilt verifiëren, voert u bij een opdrachtprompt op een domeinlidhost de opdracht uit
setspn -x. - Controleer of een domeinbeleid dat de maximale grootte van uitgegeven Kerberos-tokens beperkt, wordt afgedwongen. Met het beleid wordt voorkomen dat de connector een token ophaalt als de tokengrootte een ingestelde maximum overschrijdt.
- Het uitvoeren van een netwerktracering die uitwisselingen tussen de connectorhost en een domein-KCD vastlegt, is de volgende beste stap voor meer informatie over het probleem. Voor meer informatie kunt u het uitgebreide technische document lezen over het oplossen van problemen met de Microsoft Entra-toepassingsproxy.
Als ticketing correct werkt, geven de logboeken waarschijnlijk een gebeurtenis weer die aangeeft dat de verificatie is mislukt omdat de toepassing een 401-fout heeft geretourneerd. Met deze gebeurtenis wordt aangegeven dat de doeltoepassing het ticket heeft afgewezen. Ga naar de volgende fase van het oplossen van problemen.
De toepassing
De doeltoepassing verwerkt het Kerberos-ticket dat door de connector wordt geleverd. In deze fase bevat de connector een Kerberos-serviceticket als header in de eerste toepassingsaanvraag naar de back-end.
Een toepassingsprobleem oplossen:
Zorg ervoor dat de toepassing toegankelijk is. Meld u rechtstreeks aan vanuit de browser op de connectorhost met behulp van de interne URL die is gedefinieerd in Azure Portal. Als het aanmelden lukt, is de toepassing toegankelijk.
Controleer of de browser en toepassing Kerberos gebruiken voor verificatie. Gebruik vanaf de connectorhost de DevTools van Internet Explorer (druk op F12) of Fiddler om toegang te krijgen tot de toepassing via de interne URL. Zoek naar 'Negotiate' of 'Kerberos' in de webautorisatieheaders in het antwoord van de toepassing.
De browserreactie op de toepassing bevat een Kerberos-blob die begint met
YII, wat bevestigt dat Kerberos wordt uitgevoerd. Een antwoord van Microsoft NT LAN Manager (NTLM) begint daarentegen altijd metTlRMTVNTUAAB. Wanneer deze reactie is gedecodeerd vanuit Base64, leest dit NTLM Security Support Provider (NTLMSSP). Als de blobs beginnen metTlRMTVNTUAAB, is Kerberos niet beschikbaar. Als dat niet zo is, is Kerberos waarschijnlijk beschikbaar.Notitie
Als u Fiddler gebruikt, moet u de uitgebreide beveiliging voor de toepassingsconfiguratie in IIS tijdelijk uitschakelen.
De blob in deze schermopname begint niet met
TIRMTVNTUAAB. In dit voorbeeld is Kerberos dus beschikbaar en begint de Kerberos-blob niet metYII.Verwijder NTLM tijdelijk uit de lijst met providers op de IIS-site. Open de app rechtstreeks vanuit Internet Explorer op de connectorhost. NTLM staat niet meer in de lijst met providers, zodat u alleen toegang hebt tot de toepassing met behulp van Kerberos. Als de toegang mislukt, wordt een probleem met de configuratie van de toepassing aangegeven. De toepassing verwerkt geen Kerberos-verificatie.
Als Kerberos niet beschikbaar is, controleert u de verificatie-instellingen van de toepassing in IIS. Zorg ervoor dat Negotiate bovenaan wordt vermeld en dat NTLM er net onder staat. Als u Niet onderhandelenziet, Kerberos of Negotiate, of PKU2U-, gaat u alleen door als Kerberos functioneel is.
Als Kerberos en NTLM zijn ingesteld, schakelt u in de portal de verificatie vooraf voor de toepassing tijdelijk uit. Probeer toegang te krijgen tot de toepassing in een browser met behulp van de externe URL. U wordt gevraagd om te verifiëren. Gebruik hetzelfde account dat u in een vorige stap hebt gebruikt. Als u zich niet kunt verifiëren en aanmelden, is er een probleem met de back-endtoepassing, niet met KCD.
Schakel verificatie vooraf opnieuw in in de portal. Verifieer via Azure door verbinding te maken met de toepassing via de externe URL. Als Single Sign-On mislukt, ziet u een foutmelding 'forbidden' in de browser en gebeurtenis-ID 13022 in het logboek.
Microsoft Entra private network connector can't authenticate the user because the backend server responds to Kerberos authentication attempts with an HTTP 401 error.
Controleer de IIS-toepassing. Zorg ervoor dat de geconfigureerde groep van toepassingen en de SPN zijn geconfigureerd voor het gebruik van hetzelfde account in Microsoft Entra-id. Ga in IIS naar de map, zoals wordt weergegeven in de volgende schermopname:
Controleer de identiteit en controleer of dit account is geconfigureerd met de SPN. Voer bijvoorbeeld bij een opdrachtprompt de opdracht uit
setspn –q http/spn.contoso.com.
Controleer in de portal de gedefinieerde SPN op basis van de toepassingsinstellingen. Zorg ervoor dat de app-groep van de toepassing dezelfde SPN gebruikt die is ingesteld voor het Microsoft Entra-doelaccount.
Selecteer in IIS de optie Configuratie-editor voor de toepassing. Ga naar system.webServer/security/authentication/windowsAuthentication. Zorg ervoor dat de waarde voor UseAppPoolCredentialsTrue is.
Wijzig indien nodig de waarde in Waar . Verwijder alle Kerberos-tickets in de cache van de back-endserver door de volgende opdracht uit te voeren:
Get-WmiObject Win32_LogonSession | Where-Object {$_.AuthenticationPackage -ne 'NTLM'} | ForEach-Object {klist.exe purge -li ([Convert]::ToString($_.LogonId, 16))}Als de kernelmodus is ingeschakeld, worden Kerberos-bewerkingen verbeterd. Maar het ticket voor de aangevraagde service moet ook worden ontsleuteld met behulp van het computeraccount. Dit account wordt ook wel het lokale systeem genoemd. Stel deze waarde in op True om KCD te verbreken wanneer de toepassing wordt gehost op meer dan één server in een farm.
Als een andere controle schakelt u uitgebreide beveiliging uit. In sommige testscenario's brak de uitgebreide beveiliging de KCD toen deze werd ingeschakeld in specifieke configuraties. In die gevallen is een toepassing gepubliceerd als een submap van de standaardwebsite. Deze toepassing is alleen geconfigureerd voor anonieme verificatie. Alle dialoogvensters zijn inactief, zonder beschikbare selectie, wat aangeeft dat onderliggende objecten geen actieve instellingen overnemen. U wordt aangeraden te testen, maar vergeet niet om deze waarde zo mogelijk naar enabled te herstellen.
Met deze extra controle bent u op schema om uw gepubliceerde toepassing te gebruiken. U kunt meer connectors genereren die ook zijn geconfigureerd om te delegeren. Lees de uitgebreidere technische procedure voor het oplossen van problemen met de Microsoft Entra-toepassingsproxy voor meer informatie.
Als u het probleem met toepassingsverificatie nog steeds niet kunt oplossen, maakt u rechtstreeks in de portal een ondersteuningsticket.
Andere scenario's
Microsoft Entra-toepassingsproxy vraagt een Kerberos-ticket aan voordat een aanvraag naar een toepassing wordt verzonden. Sommige toepassingen bieden geen ondersteuning voor deze verificatiemethode. Deze toepassingen zijn ingesteld om te reageren op meer conventionele verificatiestappen. De eerste aanvraag is anoniem, waardoor de toepassing kan reageren met de verificatietypen die worden ondersteund via een 401-fout. U kunt dit type Kerberos-onderhandeling instellen door de stappen te volgen die beschreven zijn in Kerberos-beperkte delegatie voor SSO.
Multi-hop authenticatie wordt vaak gebruikt wanneer een applicatie uit meerdere lagen bestaat. De niveaus omvatten een back-end en een front-end. Voor beide lagen is verificatie vereist. U kunt bijvoorbeeld een gelaagde toepassing maken met behulp van SQL Server Reporting Services. Zie Kerberos-beperkte delegering configureren voor proxypagina's voor webinschrijvingen voor meer informatie.