Dela via


Autentiseringsproblem i Azure HDInsight

Den här artikeln beskriver felsökningssteg och möjliga lösningar på problem när du interagerar med Azure HDInsight-kluster.

På säkra kluster som backas upp av Azure Data Lake Gen2, när domänanvändare loggar in på klustertjänsterna via HDI Gateway (som att logga in på Apache Ambari-portalen), försöker HDI Gateway först hämta en OAuth-token från Microsoft Entra och sedan få en Kerberos-biljett från Microsoft Entra Domain Services. Autentiseringen kan misslyckas i något av dessa steg. Den här artikeln syftar till att felsöka några av dessa problem.

När autentiseringen misslyckas uppmanas du att ange autentiseringsuppgifter. Om du avbryter den här dialogrutan skrivs felmeddelandet ut. Här följer några vanliga felmeddelanden:

invalid_grant eller unauthorized_client, 50126

Problem

Inloggningen misslyckas för federerade användare med felkoden 50126 (inloggningen lyckas för molnanvändare). Felmeddelandet liknar:

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"}

Orsak

Microsoft Entra-felkod 50126 innebär att AllowCloudPasswordValidation principen inte har angetts av klientorganisationen.

Åtgärd

Använd autentiseringsuppgifter för hybrididentitetsadministratörför att använda lösenordshashvärden för ADFS-backade användare. Använd som AllowCloudPasswordValidationPolicy du ser i artikeln Använd Enterprise Security Package i HDInsight.


invalid_grant eller unauthorized_client, 50034

Problem

Inloggningen misslyckas med felkoden 50034. Felmeddelandet liknar:

{"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"}

Orsak

Användarnamnet är felaktigt (finns inte). Användaren använder inte samma användarnamn som används i Azure Portal.

Åtgärd

Använd samma användarnamn som fungerar i portalen.


invalid_grant eller unauthorized_client, 50053

Problem

Användarkontot är utelåst, felkod 50053. Felmeddelandet liknar:

{"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"}

Orsak

För många inloggningsförsök med ett felaktigt lösenord.

Åtgärd

Vänta i 30 minuter eller så, stoppa alla program som försöker autentisera.


invalid_grant eller unauthorized_client, 50053 (#2)

Problem

Lösenordet har upphört att gälla, felkod 50053. Felmeddelandet liknar:

{"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"}

Orsak

Lösenordet har upphört att gälla.

Åtgärd

Ändra lösenordet i Azure Portal (i ditt lokala system) och vänta sedan i 30 minuter på att synkroniseringen ska komma ikapp.


interaction_required

Problem

Ta emot felmeddelandet interaction_required.

Orsak

Principen för villkorsstyrd åtkomst eller MFA används för användaren. Eftersom interaktiv autentisering inte stöds ännu måste användaren eller klustret undantas från MFA/villkorlig åtkomst. Om du väljer att undanta klustret (IP-adressbaserad undantagsprincip) kontrollerar du att AD ServiceEndpoints är aktiverat för det virtuella nätverket.

Åtgärd

Använd principen för villkorlig åtkomst och undanta HDInsight-kluster från MFA enligt beskrivningen i Konfigurera ett HDInsight-kluster med Enterprise Security Package med hjälp av Microsoft Entra Domain Services.


Inloggning nekad

Problem

Logga in nekad.

Orsak

För att komma till det här steget är din OAuth-autentisering inte ett problem, men Kerberos-autentisering är det. Om det här klustret som backas upp av ADLS lyckades OAuth-inloggningen innan Kerberos-autentiseringen görs. På WASB-kluster görs inte OAuth-inloggning. Det kan finnas många orsaker till Kerberos-fel – till exempel att lösenordshashvärden är osynkroniserade, användarkontot är utelåst i Microsoft Entra Domain Services och så vidare. Lösenordshasherna synkroniseras endast när användaren ändrar lösenord. När du skapar Microsoft Entra Domain Services-instansen börjar den synkronisera lösenord som ändras när du har skapat den. Det kan inte retroaktivt synkronisera lösenord som angavs före starten.

Åtgärd

Om du tror att lösenord kanske inte är synkroniserade kan du prova att ändra lösenordet och vänta några minuter på att synkronisera.

Försök att SSH till en Du måste försöka autentisera (kinit) med samma användarautentiseringsuppgifter, från en dator som är ansluten till domänen. SSH till noden head/edge med en lokal användare och kör sedan kinit.


Kinit misslyckas

Problem

Kinit misslyckas.

Orsak

Varierar.

Åtgärd

För att kinit ska lyckas måste du känna till ditt sAMAccountName (det här är det korta kontonamnet utan sfären). sAMAccountName är vanligtvis kontoprefixet (som bob i bob@contoso.com). För vissa användare kan det vara annorlunda. Du behöver möjlighet att bläddra/söka i katalogen för att lära dig din sAMAccountName.

Sätt att hitta sAMAccountName:

  • Om du kan logga in på Ambari med hjälp av den lokala Ambari-administratören kan du titta på listan över användare.

  • Om du har en domänansluten Windows-dator kan du använda windows AD-standardverktygen för att bläddra. Detta kräver ett arbetskonto i domänen.

  • Från huvudnoden kan du använda SAMBA-kommandon för att söka. Detta kräver en giltig Kerberos-session (lyckad kinit). net ads search "(userPrincipalName=bob*)"

    Sök-/b bläddra-resultatet bör visa attributet sAMAccountName . Du kan också titta på andra attribut som pwdLastSet, badPasswordTimeosv userPrincipalName . för att se om dessa egenskaper matchar vad du förväntar dig.


Kinit misslyckas med förautentiseringsfel

Problem

Kinit misslyckas med Preauthentication fel.

Orsak

Felaktigt användarnamn eller lösenord.

Åtgärd

Kontrollera ditt användarnamn och lösenord. Kontrollera även om det finns andra egenskaper som beskrivs. Om du vill aktivera utförlig felsökning kör export KRB5_TRACE=/tmp/krb.log du från sessionen innan du provar kinit.


Jobbet/HDFS-kommandot misslyckas på grund av TokenNotFoundException

Problem

Jobbet/HDFS-kommandot misslyckas på grund av TokenNotFoundException.

Orsak

Den nödvändiga OAuth-åtkomsttoken hittades inte för att jobbet/kommandot skulle lyckas. ADLS/ABFS-drivrutinen försöker hämta OAuth-åtkomsttoken från autentiseringstjänsten innan lagringsbegäranden görs. Den här token registreras när du loggar in på Ambari-portalen med samma användare.

Åtgärd

Kontrollera att du har loggat in på Ambari-portalen en gång via användarnamnet vars identitet används för att köra jobbet.


Fel vid hämtning av åtkomsttoken

Problem

Användaren får felmeddelandet Error fetching access token.

Orsak

Det här felet uppstår tillfälligt när användare försöker komma åt ADLS Gen2 med hjälp av ACL:er och Kerberos-token har upphört att gälla.

Åtgärd

  • För Azure Data Lake Storage Gen1 rensar du webbläsarens cacheminne och loggar in på Ambari igen.

  • För Azure Data Lake Storage Gen2 försöker Kör-användaren /usr/lib/hdinsight-common/scripts/RegisterKerbTicketAndOAuth.sh <upn> logga in som


Nästa steg

Om du inte ser problemet eller inte kan lösa problemet går du till någon av följande kanaler för mer support:

  • Få svar från Azure-experter via Azure Community Support.

  • Anslut med @AzureSupport – det officiella Microsoft Azure-kontot för att förbättra kundupplevelsen. Ansluta Azure-communityn till rätt resurser: svar, support och experter.

  • Om du behöver mer hjälp kan du skicka en supportbegäran från Azure Portal. Välj Support i menyraden eller öppna hubben Hjälp + support . Mer detaljerad information finns i Skapa en Azure Support begäran. Tillgång till support för prenumerationshantering och fakturering ingår i din Microsoft Azure-prenumeration och teknisk support ges via ett supportavtal för Azure.