Verificatieproblemen in Azure HDInsight
In dit artikel worden de stappen voor probleemoplossing en mogelijke oplossingen beschreven voor problemen bij interactie met Azure HDInsight-clusters.
Wanneer domeingebruikers zich aanmelden bij de clusterservices via HDI Gateway (zoals aanmelden bij de Apache Ambari-portal), probeert HDI Gateway eerst een OAuth-token van Microsoft Entra te verkrijgen en vervolgens een Kerberos-ticket van Microsoft Entra Domain Services op te halen op beveiligde clusters die worden ondersteund door Azure Data Lake Gen2. Verificatie kan mislukken in een van deze fasen. Dit artikel is gericht op het opsporen van fouten in een aantal van deze problemen.
Wanneer de verificatie mislukt, wordt u gevraagd om referenties. Als u dit dialoogvenster annuleert, wordt het foutbericht afgedrukt. Hier volgen enkele veelvoorkomende foutberichten:
invalid_grant of unauthorized_client, 50126
Probleem
Aanmelden mislukt voor federatieve gebruikers met foutcode 50126 (aanmelden slaagt voor cloudgebruikers). Foutbericht is vergelijkbaar met:
Reason: Bad Request, Detailed Response: {"error":"invalid_grant","error_description":"AADSTS70002: Error validating credentials. AADSTS50126: Invalid username or password\r\nTrace ID: 0000aaaa-11bb-cccc-dd22-eeeeee333333\r\n Correlation ID: aaaa0000-bb11-2222-33cc-444444dddddd\r\nTimestamp: 2019-01-28 17:49:58Z","error_codes":[70002,50126], "timestamp":"2019-01-28 17:49:58Z","trace_id":"0000aaaa-11bb-cccc-dd22-eeeeee333333","correlation_id":"aaaa0000-bb11-2222-33cc-444444dddddd"}
Oorzaak
Foutcode 50126 van Microsoft Entra betekent dat het AllowCloudPasswordValidation
beleid niet is ingesteld door de tenant.
Oplossing
Gebruik referenties van hybrid Identity Administratorom wachtwoordhashes te gebruiken voor door ADFS ondersteunde gebruikers. Pas de AllowCloudPasswordValidationPolicy
zoals weergegeven in het artikel Enterprise Security Package gebruiken in HDInsight toe.
invalid_grant of unauthorized_client, 50034
Probleem
Aanmelden mislukt met foutcode 50034. Foutbericht is vergelijkbaar met:
{"error":"invalid_grant","error_description":"AADSTS50034: The user account Microsoft.AzureAD.Telemetry.Diagnostics.PII doesn't exist in the aaaabbbb-0000-cccc-1111-dddd2222eeee directory. To sign into this application, the account must be added to the directory.\r\nTrace ID: 2222cccc-33dd-eeee-ff44-aaaaaa555555\r\nCorrelation ID: cccc2222-dd33-4444-55ee-666666ffffff\r\nTimestamp: 2019-04-29 15:52:16Z", "error_codes":[50034],"timestamp":"2019-04-29 15:52:16Z","trace_id":"2222cccc-33dd-eeee-ff44-aaaaaa555555", "correlation_id":"cccc2222-dd33-4444-55ee-666666ffffff"}
Oorzaak
Gebruikersnaam is onjuist (bestaat niet). De gebruiker gebruikt niet dezelfde gebruikersnaam die wordt gebruikt in Azure Portal.
Oplossing
Gebruik dezelfde gebruikersnaam die in die portal werkt.
invalid_grant of unauthorized_client, 50053
Probleem
Gebruikersaccount is vergrendeld, foutcode 50053. Foutbericht is vergelijkbaar met:
{"error":"unauthorized_client","error_description":"AADSTS50053: You've tried to sign in too many times with an incorrect user ID or password.\r\nTrace ID: 00aa00aa-bb11-cc22-dd33-44ee44ee44ee\r\nCorrelation ID: 11bb11bb-cc22-dd33-ee44-55ff55ff55ff\r\nTimestamp: 2019-06-06 09:47:23Z","error_codes":[50053],"timestamp":"2019-06-06 09:47:23Z","trace_id":"aaaa0000-bb11-2222-33cc-444444dddddd","correlation_id":"aaaa0000-bb11-2222-33cc-444444dddddd"}
Oorzaak
Te veel aanmeldingspogingen met een onjuist wachtwoord.
Oplossing
Wacht 30 minuten of zo, stop alle toepassingen die mogelijk proberen te verifiëren.
invalid_grant of unauthorized_client, 50053 (#2)
Probleem
Wachtwoord is verlopen, foutcode 50053. Foutbericht is vergelijkbaar met:
{"error":"user_password_expired","error_description":"AADSTS50055: Password is expired.\r\nTrace ID: 6666aaaa-77bb-cccc-dd88-eeeeee999999\r\nCorrelation ID: eeee4444-ff55-6666-77aa-888888bbbbbb\r\nTimestamp: 2019-06-06 17:29:37Z","error_codes":[50055],"timestamp":"2019-06-06 17:29:37Z","trace_id":"6666aaaa-77bb-cccc-dd88-eeeeee999999","correlation_id":"eeee4444-ff55-6666-77aa-888888bbbbbb","suberror":"user_password_expired","password_change_url":"https://portal.microsoftonline.com/ChangePassword.aspx"}
Oorzaak
Het wachtwoord is verlopen.
Oplossing
Wijzig het wachtwoord in Azure Portal (op uw on-premises systeem) en wacht 30 minuten totdat de synchronisatie is ingehaald.
interaction_required
Probleem
Foutbericht ontvangen interaction_required
.
Oorzaak
Het beleid voor voorwaardelijke toegang of MFA wordt toegepast op de gebruiker. Omdat interactieve verificatie nog niet wordt ondersteund, moet de gebruiker of het cluster worden uitgesloten van MFA/voorwaardelijke toegang. Als u ervoor kiest om het cluster (op IP-adres gebaseerd uitzonderingsbeleid) uit te sluiten, moet u ervoor zorgen dat de AD ServiceEndpoints
is ingeschakeld voor dat vnet.
Oplossing
Gebruik beleid voor voorwaardelijke toegang en sluit de HDInsight-clusters uit van MFA, zoals wordt weergegeven in Een HDInsight-cluster configureren met Enterprise Security Package met behulp van Microsoft Entra Domain Services.
Aanmelden geweigerd
Probleem
Aanmelden is geweigerd.
Oorzaak
Om deze fase te bereiken, is uw OAuth-verificatie geen probleem, maar Kerberos-verificatie is dat wel. Als dit cluster wordt ondersteund door ADLS, is OAuth-aanmelding geslaagd voordat kerberos-verificatie wordt geprobeerd. Op WASB-clusters wordt niet geprobeerd om u aan te melden bij OAuth. Er kunnen veel redenen zijn voor kerberos-fouten, zoals wachtwoordhashes zijn niet gesynchroniseerd, gebruikersaccount vergrendeld in Microsoft Entra Domain Services, enzovoort. Wachtwoordhashes worden alleen gesynchroniseerd wanneer de gebruiker het wachtwoord wijzigt. Wanneer u het Microsoft Entra Domain Services-exemplaar maakt, worden wachtwoorden gesynchroniseerd die na het maken zijn gewijzigd. Wachtwoorden die vóór de oprichting zijn ingesteld, kunnen niet met terugwerkende kracht worden gesynchroniseerd.
Oplossing
Als u denkt dat wachtwoorden mogelijk niet synchroon zijn, wijzigt u het wachtwoord en wacht u enkele minuten om te synchroniseren.
Probeer SSH uit te voeren in een poging om te verifiëren (kinit) met dezelfde gebruikersreferenties, vanaf een computer die lid is van het domein. SSH in het hoofd-/edge-knooppunt met een lokale gebruiker en voer vervolgens kinit uit.
Kinit mislukt
Probleem
Kinit mislukt.
Oorzaak
Varieert.
Oplossing
Als u kinit wilt laten slagen, moet u uw sAMAccountName
(dit is de korte accountnaam zonder de realm). sAMAccountName
is meestal het accountvoorvoegsel (zoals bob in bob@contoso.com
). Voor sommige gebruikers kan dit anders zijn. U hebt de mogelijkheid nodig om door de map te bladeren/ te zoeken om uw sAMAccountName
te leren.
Manieren om het volgende te vinden sAMAccountName
:
Als u zich kunt aanmelden bij Ambari met behulp van de lokale Ambari-beheerder, bekijkt u de lijst met gebruikers.
Als u een windows-computer hebt die lid is van een domein, kunt u de standaardhulpprogramma's van Windows AD gebruiken om te bladeren. Hiervoor is een werkaccount in het domein vereist.
Vanuit het hoofdknooppunt kunt u SAMBA-opdrachten gebruiken om te zoeken. Hiervoor is een geldige Kerberos-sessie (geslaagde kinit) vereist. net ads search "(userPrincipalName=bob*)"
In de zoekresultaten wordt het
sAMAccountName
kenmerk weergegeven. U kunt ook andere kenmerken bekijken, zoalspwdLastSet
,badPasswordTime
userPrincipalName
enzovoort, om te zien of deze eigenschappen overeenkomen met wat u verwacht.
Kinit mislukt met fout bij verificatie vooraf
Probleem
Kinit mislukt met Preauthentication
fouten.
Oorzaak
Onjuiste gebruikersnaam of wachtwoord.
Oplossing
Controleer uw gebruikersnaam en wachtwoord. Controleer ook op andere beschreven eigenschappen. Als u uitgebreide foutopsporing wilt inschakelen, voert u deze uit export KRB5_TRACE=/tmp/krb.log
vanuit de sessie voordat u kinit probeert.
Taak/HDFS-opdracht mislukt vanwege TokenNotFoundException
Probleem
Taak/HDFS-opdracht mislukt vanwege TokenNotFoundException
.
Oorzaak
Het vereiste OAuth-toegangstoken is niet gevonden voor de taak/opdracht om te slagen. Het ADLS-/ABFS-stuurprogramma probeert het OAuth-toegangstoken op te halen uit de referentieservice voordat opslagaanvragen worden ingediend. Dit token wordt geregistreerd wanneer u zich met dezelfde gebruiker aanmeldt bij de Ambari-portal.
Oplossing
Zorg ervoor dat u zich eenmaal hebt aangemeld bij de Ambari-portal via de gebruikersnaam waarvan de identiteit wordt gebruikt om de taak uit te voeren.
Fout bij het ophalen van toegangstoken
Probleem
Gebruiker ontvangt een foutbericht Error fetching access token
.
Oorzaak
Deze fout treedt af en toe op wanneer gebruikers toegang proberen te krijgen tot de ADLS Gen2 met behulp van ACL's en het Kerberos-token is verlopen.
Oplossing
Voor Azure Data Lake Storage Gen1 schoont u de browsercache op en meldt u zich opnieuw aan bij Ambari.
Voor Azure Data Lake Storage Gen2 probeert de gebruiker
/usr/lib/hdinsight-common/scripts/RegisterKerbTicketAndOAuth.sh <upn>
zich aan te melden als
Volgende stappen
Als u uw probleem niet hebt gezien of uw probleem niet kunt oplossen, gaat u naar een van de volgende kanalen voor meer ondersteuning:
Krijg antwoorden van Azure-experts via de ondersteuning van De Azure-community.
Maak verbinding met @AzureSupport : het officiële Microsoft Azure-account voor het verbeteren van de klantervaring. De Azure-community verbinden met de juiste resources: antwoorden, ondersteuning en experts.
Als u meer hulp nodig hebt, kunt u een ondersteuningsaanvraag indienen via Azure Portal. Selecteer Ondersteuning in de menubalk of open de Help + ondersteuningshub . Raadpleeg hoe u een ondersteuning voor Azure aanvraag maakt voor meer informatie. Toegang tot abonnementsbeheer en factuurbeheer is in uw Microsoft Azure-abonnement inbegrepen, en technische ondersteuning wordt verstrekt via een van de Azure-ondersteuningsplannen.