Problémy s ověřováním ve službě Azure HDInsight

Tento článek popisuje kroky řešení potíží a možná řešení problémů při interakci s clustery Azure HDInsight.

V zabezpečených clusterech podporovaných službou Azure Data Lake (Gen1 nebo Gen2) se uživatelé domény přihlašují ke službám clusteru prostřednictvím brány HDI (například přihlášení k portálu Apache Ambari), služba HDI Gateway se nejprve pokusí získat token OAuth od Microsoft Entra a pak získat lístek Kerberos ze služby Microsoft Entra Domain Services. Ověřování může v některé z těchto fází selhat. Tento článek se zaměřuje na ladění některých z těchto problémů.

Když se ověření nezdaří, zobrazí se výzva k zadání přihlašovacích údajů. Pokud toto dialogové okno zrušíte, zobrazí se chybová zpráva. Tady jsou některé běžné chybové zprávy:

invalid_grant nebo unauthorized_client, 50126

Problém

Přihlášení selže pro federované uživatele s kódem chyby 50126 (přihlášení proběhne úspěšně pro cloudové uživatele). Chybová zpráva je podobná následující:

Reason: Bad Request, Detailed Response: {"error":"invalid_grant","error_description":"AADSTS70002: Error validating credentials. AADSTS50126: Invalid username or password\r\nTrace ID: 09cc9b95-4354-46b7-91f1-efd92665ae00\r\n Correlation ID: 4209bedf-f195-4486-b486-95a15b70fbe4\r\nTimestamp: 2019-01-28 17:49:58Z","error_codes":[70002,50126], "timestamp":"2019-01-28 17:49:58Z","trace_id":"09cc9b95-4354-46b7-91f1-efd92665ae00","correlation_id":"4209bedf-f195-4486-b486-95a15b70fbe4"}

Příčina

Kód chyby Microsoft Entra 50126 znamená, že AllowCloudPasswordValidation zásady nejsou nastavené tenantem.

Rozlišení

Globální Správa istrator tenanta Microsoft Entra by měl umožnit, aby ID Microsoft Entra používalo hodnoty hash hesel pro uživatele s podporou ADFS. Použijte, AllowCloudPasswordValidationPolicy jak je znázorněno v článku Použití balíčku zabezpečení podniku ve službě HDInsight.


invalid_grant nebo unauthorized_client, 50034

Problém

Přihlášení selže s kódem chyby 50034. Chybová zpráva je podobná následující:

{"error":"invalid_grant","error_description":"AADSTS50034: The user account Microsoft.AzureAD.Telemetry.Diagnostics.PII doesn't exist in the 0c349e3f-1ac3-4610-8599-9db831cbaf62 directory. To sign into this application, the account must be added to the directory.\r\nTrace ID: bbb819b2-4c6f-4745-854d-0b72006d6800\r\nCorrelation ID: b009c737-ee52-43b2-83fd-706061a72b41\r\nTimestamp: 2019-04-29 15:52:16Z", "error_codes":[50034],"timestamp":"2019-04-29 15:52:16Z","trace_id":"bbb819b2-4c6f-4745-854d-0b72006d6800", "correlation_id":"b009c737-ee52-43b2-83fd-706061a72b41"}

Příčina

Uživatelské jméno je nesprávné (neexistuje). Uživatel nepoužívá stejné uživatelské jméno, které se používá na webu Azure Portal.

Rozlišení

Použijte stejné uživatelské jméno, které funguje na daném portálu.


invalid_grant nebo unauthorized_client, 50053

Problém

Uživatelský účet je uzamčený, kód chyby 50053. Chybová zpráva je podobná následující:

{"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: 844ac5d8-8160-4dee-90ce-6d8c9443d400\r\nCorrelation ID: 23fe8867-0e8f-4e56-8764-0cdc7c61c325\r\nTimestamp: 2019-06-06 09:47:23Z","error_codes":[50053],"timestamp":"2019-06-06 09:47:23Z","trace_id":"844ac5d8-8160-4dee-90ce-6d8c9443d400","correlation_id":"23fe8867-0e8f-4e56-8764-0cdc7c61c325"}

Příčina

Příliš mnoho pokusů o přihlášení s nesprávným heslem

Rozlišení

Počkejte 30 minut nebo tak, zastavte všechny aplikace, které se můžou pokoušet ověřit.


invalid_grant nebo unauthorized_client, 50053 (#2)

Problém

Vypršela platnost hesla, kód chyby 50053. Chybová zpráva je podobná následující:

{"error":"user_password_expired","error_description":"AADSTS50055: Password is expired.\r\nTrace ID: 241a7a47-e59f-42d8-9263-fbb7c1d51e00\r\nCorrelation ID: c7fe4a42-67e4-4acd-9fb6-f4fb6db76d6a\r\nTimestamp: 2019-06-06 17:29:37Z","error_codes":[50055],"timestamp":"2019-06-06 17:29:37Z","trace_id":"241a7a47-e59f-42d8-9263-fbb7c1d51e00","correlation_id":"c7fe4a42-67e4-4acd-9fb6-f4fb6db76d6a","suberror":"user_password_expired","password_change_url":"https://portal.microsoftonline.com/ChangePassword.aspx"}

Příčina

Platnost hesla vypršela.

Rozlišení

Změňte heslo na webu Azure Portal (v místním systému) a počkejte 30 minut, než se synchronizace dokončí.


interaction_required

Problém

Zobrazí se chybová zpráva interaction_required.

Příčina

Pro uživatele platí zásady podmíněného přístupu nebo vícefaktorové ověřování. Vzhledem k tomu, že interaktivní ověřování ještě není podporované, musí být uživatel nebo cluster vyloučený z vícefaktorového ověřování nebo podmíněného přístupu. Pokud se rozhodnete vyloučit cluster (zásady výjimek na základě IP adres), ujistěte se, že je pro tuto virtuální síť povolená služba AD ServiceEndpoints .

Rozlišení

Použijte zásady podmíněného přístupu a vyněžte clustery HDInsight z vícefaktorového ověřování, jak je znázorněno v tématu Konfigurace clusteru HDInsight s balíčkem zabezpečení podniku pomocí služby Microsoft Entra Domain Services.


Přihlášení bylo odepřeno.

Problém

Přihlášení bylo odepřeno.

Příčina

K této fázi se dostanete tak, že ověřování OAuth není problém, ale ověřování kerberos je. Pokud je tento cluster zálohovaný službou ADLS, přihlášení OAuth bylo úspěšné před pokusem o ověření protokolem Kerberos. V clusterech WASB se přihlášení OAuth nepokusí. K selhání protokolu Kerberos může dojít z mnoha důvodů – například hodnoty hash hesel nejsou synchronizované, uživatelský účet je uzamčený ve službě Microsoft Entra Domain Services atd. Hodnoty hash hesel se synchronizují jenom v případech, kdy uživatel změní heslo. Když vytvoříte instanci služby Microsoft Entra Domain Services, začne se synchronizovat hesla, která se po vytvoření změní. Nemůže zpětně synchronizovat hesla, která byla nastavena před jejím vznikem.

Rozlišení

Pokud si myslíte, že hesla nemusí být synchronizovaná, zkuste změnit heslo a počkejte několik minut, než se synchronizuje.

Zkuste se přes SSH připojit k počítači, který je připojený k doméně, a zkuste se ověřit (kinit) pomocí stejných přihlašovacích údajů uživatele. Připojte se pomocí protokolu SSH k hlavnímu nebo hraničnímu uzlu s místním uživatelem a spusťte kinit.


kinit selže

Problém

Kinit selže.

Příčina

Liší.

Rozlišení

Aby kinit uspěl, musíte znát svůj sAMAccountName (jedná se o krátký název účtu bez sféry). sAMAccountName je obvykle předpona účtu (například bob in bob@contoso.com). U některých uživatelů se může lišit. Potřebujete možnost procházet nebo prohledávat adresář, abyste se dozvěděli, jak sAMAccountName.

Způsoby, jak najít sAMAccountName:

  • Pokud se k Ambari můžete přihlásit pomocí místního správce Ambari, podívejte se na seznam uživatelů.

  • Pokud máte počítač s Windows připojený k doméně, můžete k procházení použít standardní nástroje windows AD. To vyžaduje pracovní účet v doméně.

  • Z hlavního uzlu můžete k hledání použít příkazy SAMBA. To vyžaduje platnou relaci Protokolu Kerberos (úspěšná kinit). net ads search "(userPrincipalName=bob*)"

    Ve výsledcích hledání nebo procházení by se sAMAccountName měl zobrazit atribut. Můžete se také podívat na další atributy, jako je pwdLastSet, badPasswordTimeuserPrincipalName atd. a zjistit, jestli tyto vlastnosti odpovídají očekávání.


Kinit selže s chybou předběžného ověření

Problém

Kinit selže se selháním Preauthentication .

Příčina

Nesprávné uživatelské jméno nebo heslo

Rozlišení

Zkontrolujte svoje uživatelské jméno a heslo. Zkontrolujte také další popsané vlastnosti. Pokud chcete povolit podrobné ladění, spusťte export KRB5_TRACE=/tmp/krb.log ho z relace před pokusem o kinit.


Úloha nebo příkaz HDFS selže kvůli tokenu TokenNotFoundException

Problém

Úloha nebo příkaz HDFS selže kvůli TokenNotFoundException.

Příčina

Požadovaný přístupový token OAuth nebyl nalezen pro úspěšné provedení úlohy nebo příkazu. Ovladač ADLS/ABFS se pokusí načíst přístupový token OAuth ze služby přihlašovacích údajů před vytvořením požadavků na úložiště. Tento token se zaregistruje při přihlášení k portálu Ambari pomocí stejného uživatele.

Rozlišení

Ujistěte se, že jste se jednou přihlásili k portálu Ambari pomocí uživatelského jména, jehož identita se používá ke spuštění úlohy.


Chyba při načítání přístupového tokenu

Problém

Uživatel obdrží chybovou zprávu Error fetching access token.

Příčina

K této chybě dochází přerušovaně, když se uživatelé pokusí získat přístup k ADLS Gen2 pomocí seznamů ACL a platnost tokenu Kerberos vypršela.

Rozlišení

  • V případě Azure Data Lake Storage Gen1 vyčistěte mezipaměť prohlížeče a znovu se přihlaste k Ambari.

  • V případě Azure Data Lake Storage Gen2 spusťte /usr/lib/hdinsight-common/scripts/RegisterKerbTicketAndOAuth.sh <upn> uživatele, který se uživatel pokouší přihlásit jako


Další kroky

Pokud jste problém neviděli nebo nemůžete problém vyřešit, navštivte jeden z následujících kanálů, kde najdete další podporu:

  • Získejte odpovědi od odborníků na Azure prostřednictvím podpory komunity Azure.

  • Připojení s @AzureSupport – oficiálním účtem Microsoft Azure pro zlepšení zkušeností zákazníků. Připojení komunity Azure k správným prostředkům: odpovědi, podpora a odborníci.

  • Pokud potřebujete další pomoc, můžete odeslat žádost o podporu z webu Azure Portal. V řádku nabídek vyberte možnost Podpora nebo otevřete centrum nápovědy a podpory . Podrobnější informace najdete v tématu Vytvoření žádosti o podpora Azure. Součástí předplatného Microsoft Azure je přístup ke správě předplatného a podpora fakturace. Technická podpora se poskytuje prostřednictvím některého z plánů podpory Azure.