Azure HDInsight'ta kimlik doğrulama sorunları
Bu makalede, Azure HDInsight kümeleriyle etkileşim kurarken karşılaşılan sorunlara yönelik sorun giderme adımları ve olası çözümler açıklanmaktadır.
Azure Data Lake 2. Nesil tarafından desteklenen güvenli kümelerde, etki alanı kullanıcıları HDI Ağ Geçidi (Apache Ambari portalında oturum açma gibi) aracılığıyla küme hizmetlerinde oturum açtıklarında, HDI Gateway önce Microsoft Entra'dan bir OAuth belirteci almaya çalışır ve ardından Microsoft Entra Domain Services'dan kerberos bileti alır. Kimlik doğrulaması bu aşamalardan birinde başarısız olabilir. Bu makale, bu sorunlardan bazılarının hata ayıklamasını amaçlıdır.
Kimlik doğrulaması başarısız olduğunda kimlik bilgileri istenir. Bu iletişim kutusunu iptal ederseniz hata iletisi yazdırılır. Yaygın hata iletilerinden bazıları şunlardır:
invalid_grant veya unauthorized_client, 50126
Sorun
Federasyon kullanıcıları için oturum açma işlemi 50126 hata koduyla başarısız olur (bulut kullanıcıları için oturum açma başarılı olur). Hata iletisi şuna benzer:
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"}
Neden
Microsoft Entra hata kodu 50126, ilkenin AllowCloudPasswordValidation
kiracı tarafından ayarlanmadığı anlamına gelir.
Çözüm
Microsoft Entra kiracısının Yöneticisi, Microsoft Entra Id'yi ADFS destekli kullanıcılar için parola karmalarını kullanacak şekilde etkinleştirmelidir. AllowCloudPasswordValidationPolicy
HDInsight'ta Kurumsal Güvenlik Paketini Kullanma makalesinde gösterildiği gibi uygulayın.
invalid_grant veya unauthorized_client, 50034
Sorun
Oturum açma işlemi 50034 hata koduyla başarısız oluyor. Hata iletisi şuna benzer:
{"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"}
Neden
Kullanıcı adı yanlış (yok). Kullanıcı, Azure portalında kullanılan kullanıcı adıyla aynı kullanıcı adını kullanmıyor.
Çözüm
Bu portalda çalışan aynı kullanıcı adını kullanın.
invalid_grant veya unauthorized_client, 50053
Sorun
Kullanıcı hesabı kilitlendi, hata kodu 50053. Hata iletisi şuna benzer:
{"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"}
Neden
Yanlış parolayla çok fazla oturum açma girişiminde bulundu.
Çözüm
30 dakika kadar bekleyin, kimlik doğrulaması yapmaya çalışan tüm uygulamaları durdurun.
invalid_grant veya unauthorized_client, 50053 (#2)
Sorun
Parolanın süresi doldu, hata kodu 50053. Hata iletisi şuna benzer:
{"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"}
Neden
Parolanın süresi doldu.
Çözüm
Azure portalında (şirket içi sisteminizde) parolayı değiştirin ve eşitlemenin yetişmesi için 30 dakika bekleyin.
interaction_required
Sorun
Hata iletisi interaction_required
alın.
Neden
Kullanıcıya koşullu erişim ilkesi veya MFA uygulanıyor. Etkileşimli kimlik doğrulaması henüz desteklenmediğinden, kullanıcının veya kümenin MFA/Koşullu erişimden muaf tutulması gerekir. Kümeyi muaf tutmayı seçerseniz (IP adresi tabanlı muafiyet ilkesi), bu sanal ağ için AD'nin ServiceEndpoints
etkinleştirildiğinden emin olun.
Çözüm
Microsoft Entra Domain Services kullanarak Kurumsal Güvenlik Paketi ile HDInsight kümesi yapılandırma bölümünde gösterildiği gibi koşullu erişim ilkesini kullanın ve HDInsight kümelerini MFA'dan muaf tutabilirsiniz.
Oturum açma reddedildi
Sorun
Oturum açma reddedildi.
Neden
Bu aşamaya ulaşmak için OAuth kimlik doğrulamanız sorun oluşturmaz, ancak Kerberos kimlik doğrulaması böyledir. Bu küme ADLS tarafından destekleniyorsa, Kerberos kimlik doğrulaması denenmeden önce OAuth oturum açma başarılı oldu. WASB kümelerinde OAuth oturum açma girişiminde bulunulamıyor. Kerberos hatasının birçok nedeni olabilir; örneğin parola karmaları eşitlenmemiş, kullanıcı hesabı Microsoft Entra Domain Services'da kilitlenmiş vb. Parola karmaları yalnızca kullanıcı parolayı değiştirdiğinde eşitlenir. Microsoft Entra Domain Services örneğini oluşturduğunuzda, oluşturma işleminden sonra değiştirilen parolalar eşitlenir. Başlamadan önce ayarlanmış parolaları geriye dönük olarak eşitleyemez.
Çözüm
Parolaların eşitlenmediğini düşünüyorsanız, parolayı değiştirmeyi deneyin ve eşitlemek için birkaç dakika bekleyin.
Etki alanına katılmış bir makineden aynı kullanıcı kimlik bilgilerini kullanarak kimlik doğrulamayı (kinit) denemeniz gereken bir SSH deneyin. Yerel bir kullanıcıyla baş /kenar düğümüne SSH ekleyin ve kinit komutunu çalıştırın.
Kinit başarısız oluyor
Sorun
Kinit başarısız oluyor.
Neden
Değişir.
Çözüm
Kinit'in başarılı olması için bilgilerinizi sAMAccountName
bilmeniz gerekir (bu, bölge olmayan kısa hesap adıdır). sAMAccountName
genellikle hesap ön ekidir (bob in bob@contoso.com
gibi). Bazı kullanıcılar için farklı olabilir. dizininize göz atabilmeniz / dizininizde arama yapabilmeniz sAMAccountName
gerekir.
bulmanın sAMAccountName
yolları:
Yerel Ambari yöneticisini kullanarak Ambari'de oturum açabiliyorsanız, kullanıcı listesine bakın.
Etki alanına katılmış bir Windows makineniz varsa, göz atmak için standart Windows AD araçlarını kullanabilirsiniz. Bunun için etki alanında çalışan bir hesap gerekir.
Baş düğümden arama yapmak için SAMBA komutlarını kullanabilirsiniz. Bunun için geçerli bir Kerberos oturumu (başarılı bir kinit) gerekir. net ads search "(userPrincipalName=bob*)"
Arama / gözatma sonuçları özniteliğini
sAMAccountName
göstermelidir. Ayrıca, bu özelliklerin beklediğiniz özelliklerle eşleşip eşleşmediğini görmek için ,badPasswordTime
userPrincipalName
vb. gibipwdLastSet
diğer özniteliklere de bakabilirsiniz.
Kinit, Ön Kimlik Doğrulama hatasıyla başarısız oluyor
Sorun
Kinit başarısız oluyor Preauthentication
.
Neden
Yanlış kullanıcı adı veya parola.
Çözüm
Kullanıcı adınızı ve parolanızı denetleyin. Ayrıca açıklanan diğer özellikleri de denetleyin. Ayrıntılı hata ayıklamayı etkinleştirmek için kinit denemeden önce oturumdan komutunu çalıştırın export KRB5_TRACE=/tmp/krb.log
.
TokenNotFoundException nedeniyle İş / HDFS komutu başarısız oluyor
Sorun
job / HDFS komutu nedeniyle TokenNotFoundException
başarısız oluyor.
Neden
İşin/komutun başarılı olması için gerekli OAuth erişim belirteci bulunamadı. ADLS / ABFS sürücüsü, depolama isteğinde bulunmadan önce kimlik bilgisi hizmetinden OAuth erişim belirtecini almaya çalışır. Ambari portalında aynı kullanıcıyı kullanarak oturum açtığınızda bu belirteç kaydedilir.
Çözüm
İşi çalıştırmak için kimliği kullanılan kullanıcı adı aracılığıyla Ambari portalında bir kez başarıyla oturum açtığınızdan emin olun.
Erişim belirteci getirilirken hata oluştu
Sorun
Kullanıcı hata iletisi Error fetching access token
alır.
Neden
Bu hata, kullanıcılar ACL'leri kullanarak ADLS 2. Nesil'e erişmeye çalıştığında ve Kerberos belirtecinin süresi dolduğunda zaman zaman oluşur.
Çözüm
Azure Data Lake Storage 1. Nesil için tarayıcı önbelleğini temizleyin ve Ambari'de yeniden oturum açın.
Azure Data Lake Storage 2. Nesil için Çalıştır
/usr/lib/hdinsight-common/scripts/RegisterKerbTicketAndOAuth.sh <upn>
kullanıcısı olarak oturum açmaya çalışıyor
Sonraki adımlar
Sorununuzu görmediyseniz veya sorununuzu çözemiyorsanız daha fazla destek için aşağıdaki kanallardan birini ziyaret edin:
Azure Topluluk Desteği aracılığıyla Azure uzmanlarından yanıt alın.
Müşteri deneyimini geliştirmek için resmi Microsoft Azure hesabı olan @AzureSupport ile bağlantı kurun. Azure topluluğunun doğru kaynaklara bağlanması: yanıtlar, destek ve uzmanlar.
Daha fazla yardıma ihtiyacınız varsa Azure portalından bir destek isteği gönderebilirsiniz. Menü çubuğundan Destek'i seçin veya Yardım + destek hub'ını açın. Daha ayrıntılı bilgi için bkz. Azure desteği isteği oluşturma. Abonelik Yönetimi’ne ve faturalandırma desteğine erişim Microsoft Azure aboneliğinize dahildir, Teknik Destek ise herhangi bir Azure Destek Planı üzerinden sağlanır.