Masalah autentikasi di Azure HDInsight

Artikel ini menjelaskan langkah-langkah pemecahan masalah dan kemungkinan resolusi untuk masalah saat berinteraksi dengan kluster Azure HDInsight.

Pada kluster aman yang didukung oleh Azure Data Lake (Gen1 atau Gen2), saat pengguna domain masuk ke layanan kluster melalui HDI Gateway (seperti masuk ke portal Apache Ambari), HDI Gateway mencoba mendapatkan token OAuth dari Microsoft Entra terlebih dahulu, lalu mendapatkan tiket Kerberos dari Microsoft Entra Domain Services. Autentikasi dapat gagal dalam salah satu tahap ini. Artikel ini ditujukan untuk penelusuran kesalahan beberapa masalah tersebut.

Saat autentikasi gagal, Anda akan dimintai kredensial. Jika Anda membatalkan dialog ini, pesan kesalahan akan dicetak. Berikut adalah beberapa pesan kesalahan umum:

invalid_grant atau unauthorized_client, 50126

Masalah

Gagal masuk untuk pengguna federasi dengan kode kesalahan 50126 (berhasil masuk untuk pengguna cloud). Pesan kesalahan mirip dengan:

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

Penyebab

Kode kesalahan Microsoft Entra 50126 berarti AllowCloudPasswordValidation kebijakan tidak ditetapkan oleh penyewa.

Resolusi

Administrator Global penyewa Microsoft Entra harus mengaktifkan ID Microsoft Entra untuk menggunakan hash kata sandi untuk pengguna yang didukung ADFS. Terapkan AllowCloudPasswordValidationPolicy seperti yang ditunjukkan dalam artikel Menggunakan Paket Keamanan Enterprise di HDInsight.


invalid_grant atau unauthorized_client, 50034

Masalah

Gagal masuk dengan kode kesalahan 50034. Pesan kesalahan mirip dengan:

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

Penyebab

Nama pengguna salah (tidak ada). Pengguna tidak menggunakan nama pengguna yang sama yang digunakan dalam portal Azure.

Resolusi

Gunakan nama pengguna yang sama dan berfungsi di portal tersebut.


invalid_grant atau unauthorized_client, 50053

Masalah

Akun pengguna dikunci, kode kesalahan 50053. Pesan kesalahan mirip dengan:

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

Penyebab

Terlalu banyak upaya masuk dengan kata sandi yang salah.

Resolusi

Tunggu selama atau kira-kira 30 menit, hentikan aplikasi apa pun yang mungkin mencoba melakukan autentikasi.


invalid_grant atau unauthorized_client, 50053 (#2)

Masalah

Kata sandi kedaluwarsa, kode kesalahan 50053. Pesan kesalahan mirip dengan:

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

Penyebab

Kata sandi kedaluwarsa.

Resolusi

Ubah kata sandi di portal Microsoft Azure (pada sistem lokal Anda) lalu tunggu 30 menit agar sinkronisasi dapat mengikutinya.


interaction_required

Masalah

Menerima pesan kesalahan interaction_required.

Penyebab

Kebijakan akses bersyarat atau MFA sedang diterapkan ke pengguna. Karena autentikasi interaktif belum didukung, pengguna atau kluster perlu dikecualikan dari akses MFA / Bersyarkat. Jika Anda memilih untuk mengecualikan kluster (kebijakan pengecualian berbasis alamat IP), maka pastikan bahwa ServiceEndpoints AD diaktifkan untuk vnet tersebut.

Resolusi

Gunakan kebijakan akses bersyarat dan bebaskan kluster HDInsight dari MFA seperti yang ditunjukkan dalam Mengonfigurasi kluster HDInsight dengan Paket Keamanan Perusahaan dengan menggunakan Microsoft Entra Domain Services.


Rincian masuk ditolak

Masalah

Masuk ditolak.

Penyebab

Untuk sampai ke tahap ini, autentikasi OAuth Anda bukan masalah, tetapi autentikasi Kerberos adalah. Jika kluster ini didukung oleh ADLS, masuk OAuth telah berhasil sebelum autentikasi Kerberos dicoba. Pada kluster WASB, masuk OAuth tidak dicoba. Mungkin ada banyak alasan kegagalan Kerberos - seperti hash kata sandi tidak sinkron, akun pengguna terkunci di Microsoft Entra Domain Services, dan sebagainya. Hash kata sandi hanya disinkronkan ketika pengguna mengubah kata sandi. Saat Anda membuat instans Microsoft Entra Domain Services, instans tersebut akan mulai menyinkronkan kata sandi yang diubah setelah pembuatan. Ini tidak dapat secara retroaktif menyinkronkan kata sandi yang ditetapkan sebelum awalnya.

Resolusi

Jika menurut Anda kata sandi mungkin tidak sinkron, coba ubah kata sandi dan tunggu beberapa menit untuk menyinkronkan.

Cobalah untuk SSH ke dalam Anda perlu mencoba mengautentikasi (kinit) menggunakan kredensial pengguna yang sama, dari komputer yang bergabung ke domain. SSH ke dalam node head / tepi dengan pengguna lokal dan kemudian jalankan kinit.


kinit gagal

Masalah

Kinit gagal.

Penyebab

Beragam.

Resolusi

Agar kinit berhasil, Anda perlu tahu sAMAccountName Anda (ini adalah nama akun pendek tanpa realm). sAMAccountName biasanya awalan akun (seperti bob masuk bob@contoso.com). Bagi beberapa pengguna, itu bisa berbeda. Anda memerlukan kemampuan untuk menelusuri / mencari direktori untuk mempelajari sAMAccountName.

Cara untuk menemukan sAMAccountName:

  • Jika Anda dapat masuk ke Ambari menggunakan admin Ambari lokal, lihat daftar pengguna.

  • Jika Anda memiliki komputer Windows dengan gabungan domain, Anda dapat menggunakan alat Windows AD standar untuk menelusuri. Ini memerlukan akun kerja di domain.

  • Dari node head, Anda dapat menggunakan perintah SAMBA untuk mencari. Ini memerlukan sesi Kerberos yang valid (kinit berhasil). pencarian iklan net "(userPrincipalName=bob*)"

    Hasil pencarian / penelusuran akan menunjukkan atribut sAMAccountName. Juga, Anda dapat melihat atribut lain seperti pwdLastSet, badPasswordTime, userPrincipalName dll. untuk melihat apakah properti tersebut sesuai dengan harapan Anda.


kinit gagal dengan kegagalan preautentikasi

Masalah

Kinit gagal dengan kegagalan Preauthentication.

Penyebab

Nama pengguna atau kata sandi salah.

Resolusi

Periksa nama pengguna dan kata sandi Anda. Periksa juga properti lain yang dijelaskan. Untuk mengaktifkan penelusuran kesalahan verbose, jalankan export KRB5_TRACE=/tmp/krb.log dari sesi sebelum mencoba kinit.


Perintah pekerjaan / HDFS gagal karena TokenNotFoundException

Masalah

Perintah Pekerjaan / HDFS gagal karena TokenNotFoundException.

Penyebab

Token akses OAuth yang diperlukan tidak ditemukan agar pekerjaan/ perintah berhasil. Driver ADLS / ABFS mencoba mengambil token akses OAuth dari layanan kredensial sebelum membuat permintaan penyimpanan. Token ini akan didaftarkan ketika Anda masuk ke portal Ambari menggunakan pengguna yang sama.

Resolusi

Pastikan Anda telah berhasil masuk ke portal Ambari sekali melalui nama pengguna yang identitasnya digunakan untuk menjalankan pekerjaan.


Kesalahan saat mengambil token akses

Masalah

Pengguna menerima pesan kesalahan Error fetching access token.

Penyebab

Kesalahan ini terjadi secara terputus-putus ketika pengguna mencoba mengakses ADLS Gen2 menggunakan ACL dan token Kerberos telah kedaluwarsa.

Resolusi

  • Untuk Azure Data Lake Storage Gen1, bersihkan cache browser dan masuk lagi ke Ambari.

  • Untuk Azure Data Lake Storage Gen2, Jalankan /usr/lib/hdinsight-common/scripts/RegisterKerbTicketAndOAuth.sh <upn> untuk pengguna yang mencoba masuk sebagai


Langkah berikutnya

Jika Anda tidak melihat masalah atau tidak dapat memecahkan masalah, kunjungi salah satu saluran berikut untuk mendapatkan dukungan lebih lanjut:

  • Dapatkan jawaban dari para ahli Azure melalui Dukungan Komunitas Azure.

  • Hubungi @AzureSupport - akun Microsoft Azure resmi untuk meningkatkan pengalaman pelanggan. Menghubungkan komunitas Microsoft Azure ke sumber daya yang tepat: jawaban, dukungan, dan pakar.

  • Jika Anda memerlukan bantuan lainnya, Anda dapat mengirimkan permintaan dukungan dari portal Microsoft Azure. Pilih Dukungan dari bilah menu atau buka hub Bantuan + Dukungan. Untuk informasi selengkapnya, tinjau Cara membuat permintaan dukungan Microsoft Azure. Akses ke Manajemen Langganan dan dukungan tagihan disertakan dengan langganan Microsoft Azure, dan Dukungan Teknis disediakan melalui salah satu Paket Dukungan Azure.