Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2019 (15.x) dan versi yang lebih baru di Linux
SQL Server Reporting Services (2019 dan versi yang lebih baru)
Artikel ini menjelaskan cara menginstal dan mengonfigurasi database katalog Power BI Report Server (PBIRS) untuk SQL Server di Linux.
Prasyarat
Dalam artikel ini, contoh menggunakan domain CORPNET.CONTOSO.COM, dan konfigurasi berikut.
Mengonfigurasi mesin
| Mesin | Sistem operasi | Rincian |
|---|---|---|
| Pengontrol domain Windows | Server Windows 2019 atau Windows Server 2022 | |
Melaporkan pengembangan dan penyebaran (WIN19) |
Server Windows 2019, menjalankan Visual Studio 2019 | - Melaporkan pengembangan dan penyebaran - Layanan berbagi file untuk berfungsi sebagai repositori bagi output laporan berdasarkan permintaan atau terjadwal. |
SQL Server Reporting Services (WIN22) |
Windows Server 2022, menjalankan versi Power BI Report Server (PBIRS) 1 yang didukung | |
| Mesin pengembang | Klien Windows 11, menjalankan SQL Server Management Studio (SSMS) | |
SQL Server 2019 (rhel8test) |
Red Hat Enterprise Linux (RHEL) 8.x Server, menjalankan SQL Server 2019 (15.x) dengan pembaruan kumulatif terbaru (CU) |
Mengonfigurasi akun
| Nama akun | Rincian |
|---|---|
CORPNET\cluadmin |
Akun pengguna global. Akun Administrator Lokal di semua server Windows kecuali untuk pengendali domain. |
CORPNET\pbirsservice |
Akun layanan PBIRS |
CORPNET\linuxservice |
Akun layanan SQL Server (dibuat hanya untuk SQL Server di lingkungan Linux) |
CORPNET\reportuser |
Akun pengguna global yang digunakan untuk mensimulasikan pengguna normal PBIRS |
Contoh skenario ini menggunakan server terpisah dan akun terpisah untuk memastikan delegasi Kerberos berfungsi dengan baik (yaitu, menangani skenario double-hop).
Konfigurasi SQL Server di Linux
Sebelum Anda mengonfigurasi (atau mengonfigurasi ulang) PBIRS untuk menggunakan SQL Server on Linux sebagai backend untuk menampung database katalog Report Server, pastikan instance SQL Server on Linux terhubung ke domain.
Untuk menginstal, mengonfigurasiadutil, dan bergabung dengan domain, ikuti instruksi di Tutorial: Gunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server on Linux.
Note
Untuk informasi tentang paket tertentu di RHEL 8, lihat Menghubungkan sistem RHEL langsung ke AD menggunakan SSSD.
Nama utama layanan SQL Server (SPN)
Sebelum Anda menginstal dan mengonfigurasi PBIRS, konfigurasikan SPN yang diperlukan pada CORPNET domain. Anda dapat menggunakan akun dengan hak Domain Admin, tetapi akun apa pun dengan izin cukup untuk membuat SPN sudah cukup. Setelah Anda membuat SPN, konfigurasikan akun untuk menggunakan delegasi terbatas Kerberos.
Skenario ini memerlukan SPN minimum berikut:
Dari command prompt administratif, buat SPN untuk akun layanan SQL Server on Linux. Instance ini menggunakan port default 1433:
setspn -S MSSQLSvc/rhel8test:1433 CORPNET\linuxservice setspn -S MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433 CORPNET\linuxserviceDua SPN berikutnya adalah untuk akun layanan Server Laporan Power BI.
setspn -S HTTP/WIN22.CORPNET.CONTOSO.COM CORPNET\pbirsservice setspn -S HTTP/WIN22 CORPNET\pbirsservice
Untuk menangani persyaratan Kerberos dalam meneruskan tiket Kerberos saat beroperasi dalam implementasi delegasi terbatas, Anda mengonfigurasi delegasi dengan menggunakan ekstensi Microsoft untuk standar MIT Kerberos, sebagaimana ditentukan dalam RFC 4120, dan menggunakan Service for User to Proxy (S4U2proxy). Mekanisme ini memungkinkan layanan PBIRS dan layanan SQL Server memperoleh tiket layanan ke layanan tertentu lainnya atas nama pengguna.
Misalnya, ketika melakukan reportuser otentikasi dengan antarmuka web server PBIRS untuk melihat laporan, laporan berjalan dan harus mengakses data dari sumber data seperti tabel SQL Server. Layanan SQL Server harus memperoleh reportuser tiket layanan Kerberos, yang diberikan kepada server PBIRS selama autentikasi. Ekstensi S4U2proxy menyediakan transisi protokol yang diperlukan untuk mengirimkan kredensial yang diperlukan tanpa meneruskan TGT (ticket granting ticket) pengguna atau kunci sesi pengguna.
Untuk mencapai hasil ini, berikan akun layanan PBIRS (pbirsservicedalam contoh ini) dan akun layanan SQL Server (linuxservicedalam contoh ini) Trusted To Authenticate for Delegation right di domain. Anda dapat memberikan hak ini dengan berbagai cara (misalnya, ADSI Edit atau UI Komputer dan Pengguna). Contoh ini menggunakan perintah PowerShell yang ditinggikan:
Dapatkan akun layanan SQL Server dan atur untuk mengizinkan delegasi. Langkah ini tidak hanya memungkinkan delegasi Kerberos, tetapi juga delegasi S4U2proxy untuk transisi protokol pada akun. Dua cmdlet terakhir menerapkan otoritas delegasi ke sumber daya tertentu di domain, SPN untuk instans SQL Server.
Get-ADUser -Identity linuxservice | Set-ADAccountControl -TrustedToAuthForDelegation $True Set-ADUser -Identity linuxservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433')} Set-ADUser -Identity linuxservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test:1433')}Dapatkan akun layanan Server Laporan Power BI dan atur untuk mengizinkan delegasi. Langkah ini tidak hanya memungkinkan delegasi Kerberos, tetapi juga delegasi S4U2proxy untuk transisi protokol pada akun. Dua cmdlet terakhir menerapkan otoritas delegasi ke sumber daya tertentu di domain, SPN untuk server SQL Server dan PBIRS.
Get-ADUser -Identity pbirsservice | Set-ADAccountControl -TrustedToAuthForDelegation $True Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433')} Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('MSSQLSvc/rhel8test:1433')} Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('HTTP/Win22.CORPNET.CONTOSO.COM')} Set-ADUser -Identity pbirsservice -Add @{'msDS-AllowedToDelegateTo'=@('HTTP/Win22')}
Server Laporan Power BI (PBIRS)
Instal PBIRS dalam mode konfigurasi saja .
Segera setelah menginstal PBIRS, Anda harus mengonfigurasinya untuk mendukung autentikasi Kerberos. PBIRS secara default hanya mendukung autentikasi NTLM. Selama instalasi, perbarui salah satu file konfigurasi PBIRS, baik di UI maupun melalui baris perintah, sebelum menyelesaikan konfigurasi PBIRS. Jika Anda menggunakan instalasi PBIRS yang sudah ada, lakukan pengeditan dan restart layanan PBIRS agar perubahan berlaku. File konfigurasi adalah rsreportserver.config. Itu ada di jalur tempat PBIRS terpasang. Misalnya, pada penginstalan default PBIRS, file berada di lokasi berikut:
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer
Gunakan editor teks apa pun untuk mengedit file XML ini. Salin file sebelum Anda mengeditnya. Setelah Anda membuka file, cari AuthenticationTypes tag dalam dokumen XML, dan tambahkan RSWindowsNegotiate atribut dan RSWindowsKerberos di depan RSWindowsNTLM atribut. Contohnya:
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsKerberos/>
<RSWindowsNTLM/>
</AuthenticationTypes>
Anda harus menyelesaikan langkah ini karena SQL Server on Linux hanya mendukung autentikasi SQL dan Kerberos.
Note
Anda hanya perlu menyertakan RSWindowsKerberos atribut, tetapi RSWindowsNegotiate ini berguna jika Anda ingin menstandarisasi file konfigurasi PBIRS di berbagai server yang mendukung campuran instance SQL Server Windows dan Linux.
Konfigurasi antarmuka pengguna PBIRS
Setelah layanan PBIRS dimulai ulang setelah pengeditan file konfigurasi selesai, Anda dapat melanjutkan dengan opsi konfigurasi PBIRS yang tersisa seperti mengatur akun layanan berbasis domain dan menyambungkan ke SQL Server jarak jauh pada instans Linux.
Akun layanan PBIRS akan muncul dalam instans SQL Server dengan izin yang sesuai. Anda dapat memeriksa izin di SQL Server Management Studio (SSMS). Di Object Explorer, navigasikan ke Keamanan >, klik kanan pada akun, dan pilih CORPNET\pbirsservice. Izin terlihat di halaman Pemetaan Pengguna.
Terakhir, tambahkan sebagai reportuser login di SQL Server untuk tujuan pengujian. Dalam kasus ini, Anda memilih pendekatan sederhana dan menambahkan pengguna ke peran database tetap db_datareader dalam dua database pengguna: AdventureWorks dan AdventureWorksDW.
Setelah laporan disebarkan
Jika Anda perlu menyiapkan langganan laporan setelah laporan disebarkan, ini adalah praktik yang baik untuk mengonfigurasi kredensial yang disematkan di sumber data PBIRS. Semua opsi kredensial berfungsi dengan baik, kecuali untuk penggunaan kredensial yang disematkan yang dikonfigurasi dengan meniru pengguna yang melihat laporan. Langkah ini gagal saat menggunakan kredensial Windows, karena keterbatasan dalam implementasi SQL Server di Linux yang membuat peniruan lebih sulit.