Bagikan melalui


Gunakan Kerberos untuk SSO untuk SAP Hana

Artikel ini menjelaskan cara mengonfigurasi sumber data SAP Hana Anda untuk mengaktifkan akses menyeluruh (SSO) dari layanan Power BI.

Penting

Karena SAP tidak lagi mendukung OpenSSL, Microsoft juga menghentikan dukungannya. Koneksi yang ada terus berfungsi tetapi Anda tidak dapat lagi membuat koneksi baru. Gunakan Pustaka SAP Cryptographic (CommonCryptoLib), atau sapcrypto, sebagai gantinya.

Catatan

Sebelum Anda mencoba refresh laporan berbasis SAP Hana yang menggunakan SSO Kerberos, selesaikan langkah-langkah di artikel ini dan langkah-langkah di Mengonfigurasi SSO Kerberos.

Mengaktifkan SSO untuk SAP Hana

Untuk mengaktifkan SSO untuk SAP Hana, lakukan langkah-langkah berikut:

  1. Pastikan server SAP Hana menjalankan versi minimum yang diperlukan, yang tergantung pada tingkat platform server SAP Hana Anda:

  2. Di komputer gateway, instal driver ODBC SAP Hana terbaru. Versi minimumnya adalah Hana ODBC versi 2.00.020.00 dari Agustus 2017.

  3. Pastikan bahwa server SAP Hana telah dikonfigurasi untuk SSO berbasis Kerberos. Untuk informasi selengkapnya tentang menyiapkan SSO untuk SAP Hana dengan menggunakan Kerberos, lihat Akses menyeluruh menggunakan Kerberos. Lihat juga tautan dari halaman tersebut, terutama Catatan SAP 1837331 – HOWTO HANA DBSSO Kerberos/Active Directory.

Sebaiknya ikuti langkah-langkah tambahan ini, yang dapat menghasilkan sedikit peningkatan performa:

  1. Di direktori penginstalan gateway, buka file konfigurasi: Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

  2. Cari properti FullDomainResolutionEnabled, dan ubah nilainya menjadi True.

    <setting name=" FullDomainResolutionEnabled " serializeAs="String">
          <value>True</value>
    </setting>
    
  3. Jalankan laporan Power BI.

Pecahkan masalah

Bagian ini menyediakan instruksi untuk pemecahan masalah menggunakan Kerberos untuk akses menyeluruh (SSO) ke SAP Hana di layanan Power BI. Dengan menggunakan langkah-langkah pemecahan masalah ini, Anda dapat mendiagnosis sendiri dan memperbaiki banyak masalah yang mungkin Anda hadapi.

Untuk mengikuti prosedur di bagian ini, Anda perlu mengumpulkan log gateway.

Kesalahan TLS/SSL (sertifikat)

Masalah ini memiliki beberapa gejala.

  • Saat mencoba menambahkan sumber data baru, Anda mungkin melihat kesalahan seperti pesan berikut:

    Unable to connect: We encountered an error while trying to connect to.
    Details: "We could not register this data source for any gateway
    instances within this cluster.
    Please find more details below about specific errors for each gateway instance."
    
  • Saat mencoba membuat atau refresh laporan, Anda mungkin melihat pesan kesalahan berikut:

    Cuplikan layar jendela kesalahan TLS/SSL pemecahan masalah 'Tidak dapat memuat model'.

  • Saat Menyelidiki Mashup[date]*.log, Anda akan melihat pesan kesalahan berikut:

    A connection was successfully established with the server, 
    but then an error occurred during the login process and 
    the certificate chain was issued by an authority that is not trusted.
    

Resolusi

Untuk mengatasi kesalahan TLS/SSL ini, buka koneksi sumber data lalu, di bagian Validasi Sertifikat Server, nonaktifkan pengaturan, seperti yang ditunjukkan pada gambar berikut:

 Cuplikan layar menyelesaikan jendela kesalahan TLS/SSL dengan menonaktifkan sertifikat.

Setelah Anda menonaktifkan pengaturan ini, pesan kesalahan tidak lagi muncul.

Peniruan

Entri log untuk peniruan berisi entri yang mirip dengan:

About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation).

Elemen penting dalam entri log ini adalah informasi yang ditampilkan setelah ImpersonationLevel: entri. Nilai apa pun yang berbeda dari Impersonation mengungkapkan bahwa peniruan tidak terjadi dengan benar.

Resolusi

Anda dapat menyiapkan ImpersonationLevel dengan benar dengan mengikuti instruksi di Memberikan hak kebijakan lokal akun layanan gateway di gateway.

Setelah mengubah file konfigurasi, mulai ulang layanan gateway agar perubahan diterapkan.

Validasi

Refresh atau buat laporan, lalu kumpulkan log gateway. Buka file GatewayInfo terbaru, dan periksa string berikut: About to impersonate user DOMAIN\User (IsAuthenticated: True, ImpersonationLevel: Impersonation). Pastikan pengaturan ImpersonationLevel mengembalikan Impersonation.

Delegasi

Masalah delegasi biasanya muncul di layanan Power BI sebagai kesalahan umum. Untuk memastikan bahwa masalah ini bukan masalah delegasi, kumpulkan jejak Wireshark dan gunakan Kerberos sebagai filter. Untuk mempelajari lebih lanjut tentang Wireshark, dan untuk informasi tentang kesalahan Kerberos, lihat Kesalahan Kerberos dalam tangkapan jaringan.

Gejala dan langkah-langkah pemecahan masalah berikut dapat membantu memperbaiki beberapa masalah umum.

Masalah SPN

Jika Anda melihat kesalahan berikut: The import [table] matches no exports. Did you miss a module reference?: saat menyelidiki Mashup[date]*.log, maka Anda mengalami masalah nama prinsipal layanan (SPN).

Ketika Anda menyelidiki lebih lanjut dengan menggunakan jejak Wireshark, Anda mengungkapkan kesalahan KRB4KDC_ERR_S_PRINCIPAL_UNKOWN, yang berarti bahwa SPN tidak ditemukan atau tidak ada. Gambar berikut menunjukkan contohnya:

Cuplikan layar memperlihatkan kesalahan nama perwakilan layanan.

Resolusi

Untuk mengatasi masalah SPN seperti masalah ini, Anda harus menambahkan SPN ke akun layanan. Untuk informasi selengkapnya, lihat dokumentasi SAP di Mengonfigurasi Kerberos untuk host database SAP Hana.

Selain itu, ikuti instruksi resolusi yang dijelaskan di bagian berikutnya.

Tidak ada masalah kredensial

Mungkin tidak ada gejala yang jelas yang terkait dengan masalah ini. Saat Anda menyelidiki Mashup[date]*.log, Anda akan melihat kesalahan berikut:

29T20:21:34.6679184Z","Action":"RemoteDocumentEvaluator/RemoteEvaluation/HandleException","HostProcessId":"1396","identity":"DirectQueryPool","Exception":"Exception:\r\nExceptionType: Microsoft.Mashup.Engine1.Runtime.ValueException, Microsoft.MashupEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\r\nMessage:

Saat Anda menyelidiki file yang sama lebih lanjut, kesalahan berikut (tidak membantu) muncul:

No credentials are available in the security package

Menangkap jejak Wireshark mengungkapkan kesalahan berikut: KRB5KDC_ERR_BADOPTION.

Cuplikan layar memperlihatkan 'Tidak ada kesalahan kredensial'.

Biasanya, kesalahan ini berarti bahwa file hdb/hana2-s4-sso2.westus2.cloudapp.azure.com SPN dapat ditemukan tetapi tidak ada di Layanan tempat akun ini dapat menyajikan daftar kredensial yang didelegasikan pada panel Delegasi di akun layanan Gateway.

Resolusi

Untuk mengatasi masalah Tanpa kredensial, ikuti langkah-langkah yang dijelaskan dalam Mengonfigurasi delegasi yang dibatasi Kerberos. Setelah selesai dengan benar, tab delegasi di akun layanan gateway mencerminkan file Database HansaWorld (HDB) dan nama domain yang sepenuhnya memenuhi syarat (FQDN) dalam daftar Layanan tempat akun ini dapat menyajikan kredensial yang didelegasikan.

Validasi

Mengikuti langkah-langkah sebelumnya harusnya menyelesaikan masalah. Jika Anda masih mengalami masalah Kerberos, Anda mungkin memiliki kesalahan konfigurasi di gateway Power BI atau di server HANA itu sendiri.

Kesalahan kredensial

Jika Anda mengalami kesalahan kredensial, kesalahan dalam log atau jejak mengekspos kesalahan yang menjelaskan Credentials are invalid atau kesalahan serupa. Kesalahan ini mungkin bermanifestasi secara berbeda di sisi sumber data koneksi, seperti SAP Hana. Gambar berikut ini memperlihatkan contoh kesalahan:

Cuplikan layar memperlihatkan kesalahan kredensial yang tidak valid.

Gejala 1

Dalam jejak autentikasi HANA, Anda mungkin melihat entri yang mirip dengan pesan berikut:

[Authentication|manager.cpp:166] Kerberos: Using Service Principal 
Name johnny@contoso.com@CONTOSO.COM with name type: GSS_KRB5_NT_PRINCIPAL_NAME 
[Authentication|methodgssinitiator.cpp:367] Got principal name: 
johnny@contoso.com@CONTOSO.COM

Resolusi

Ikuti instruksi yang dijelaskan dalam Mengatur parameter konfigurasi pemetaan pengguna pada komputer gateway, meskipun Anda telah mengonfigurasi layanan Microsoft Entra Connect .

Validasi

Setelah menyelesaikan validasi, Anda dapat berhasil memuat laporan di layanan Power BI.

Gejala 2

Dalam jejak autentikasi HANA, Anda mungkin melihat entri yang mirip dengan entri berikut:

Authentication ManagerAcceptor.cpp(00233) : Extending list of expected
external names by johnny@CONTOSO.COM (method: GSS) Authentication 
AuthenticationInfo.cpp(00168) : ENTER getAuthenticationInfo 
(externalName=johnny@CONTOSO.COM) Authentication AuthenticationInfo.cpp(00237) : 
Found no user with expected external name!

Resolusi

Periksa ID eksternal Kerberos di Pengguna HANA untuk menentukan apakah ID benar-benar cocok.

Validasi

Setelah menyelesaikan masalah, Anda dapat membuat atau refresh laporan di layanan Power BI.

Untuk informasi selengkapnya tentang gateway data lokal dan DirectQuery, lihat sumber daya berikut ini: