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 založených na Azure Data Lake Gen2 se uživatelé domény přihlašují ke službám clusteru prostřednictvím služby HDI Gateway (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: 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"}
Příčina
Kód chyby Microsoft Entra 50126 znamená, že AllowCloudPasswordValidation
zásady nejsou nastavené tenantem.
Rozlišení
Pomocí přihlašovacích údajů správcehybridní identity použijte hodnoty hash hesel pro uživatele zálohované službou AD FS. 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 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"}
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: 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"}
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: 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"}
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 proběhlo úspěšně před pokusem o ověření protokolem Kerberos. V clusterech WASB se přihlášení OAuth nepokoušelo. 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ší se.
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 jepwdLastSet
,badPasswordTime
userPrincipalName
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
/usr/lib/hdinsight-common/scripts/RegisterKerbTicketAndOAuth.sh <upn>
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.
Spojte se s @AzureSupport – oficiálním účtem Microsoft Azure pro zlepšení uživatelského prostředí. Propojení komunity Azure se správnými prostředky: 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.