Mengonfigurasi database katalog Server Laporan Power BI untuk SQL Server di Linux
Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru - Linux SQL Server Reporting Services (2019 dan 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 komputer
Komputer | Sistem operasi | Detail |
---|---|---|
Pengontrol domain Windows | Windows Server 2019 atau Windows Server 2022 | |
Melaporkan pengembangan dan penyebaran (WIN19 ) |
Windows Server 2019, menjalankan Visual Studio 2019 | - Melaporkan pengembangan dan penyebaran - Layanan berbagi file untuk berfungsi sebagai repositori untuk permintaan yang didorong atau output laporan 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 CU terbaru |
Mengonfigurasi akun
Nama akun | Detail |
---|---|
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 |
Server terpisah dan akun terpisah digunakan dalam skenario contoh ini untuk memastikan bahwa delegasi Kerberos berfungsi dengan baik (yaitu, skenario double-hop sedang ditangani).
Konfigurasi SQL Server di Linux
Sebelum melanjutkan konfigurasi (atau konfigurasi ulang) PBIRS untuk menggunakan SQL Server di Linux sebagai backend untuk menghosting database katalog Server Laporan, pastikan bahwa SQL Server pada instans Linux telah bergabung ke domain.
Anda dapat menginstal dan mengonfigurasi adutil, dan bergabung dengan domain, mengikuti instruksi dalam Tutorial: Gunakan adutil untuk mengonfigurasi autentikasi Direktori Aktif dengan SQL Server di Linux.
Catatan
Untuk informasi tentang paket tertentu di RHEL 8, lihat Koneksi sistem RHEL langsung ke AD menggunakan SSSD.
Nama perwakilan layanan SQL Server (SPN)
Sebelum menginstal dan mengonfigurasi PBIRS, Anda harus mengonfigurasi SPN yang diperlukan pada CORPNET
domain. Pengguna dengan hak istimewa Admin Domain dapat digunakan dalam kasus ini, tetapi setiap pengguna dengan izin yang cukup untuk membuat SPN sudah cukup. Setelah pembuatan SPN, akun perlu dikonfigurasi untuk menggunakan delegasi yang dibatasi Kerberos.
Berikut adalah SPN minimum yang diperlukan untuk skenario ini:
Dengan menggunakan perintah Administratif, buat SPN untuk SQL Server di akun layanan Linux. Instans ini menggunakan port default 1433:
setspn -S MSSQLSvc/rhel8test:1433 CORPNET\linuxservice setspn -S MSSQLSvc/rhel8test.CORPNET.CONTOSO.COM:1433 CORPNET\linuxservice
Dua 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 untuk meneruskan tiket Kerberos, saat beroperasi dalam implementasi delegasi yang dibatasi, kami mengonfigurasi delegasi menggunakan ekstensi Microsoft ke standar MIT Kerberos, seperti yang ditentukan dalam RFC 4120, dan menggunakan Layanan untuk Pengguna ke Proksi (S4U2proxy). Mekanisme ini memungkinkan layanan PBIRS dan layanan SQL Server untuk mendapatkan tiket layanan ke layanan lain yang ditentukan atas nama pengguna.
Misalnya, ketika reportuser
mengautentikasi dengan antarmuka web server PBIRS untuk melihat laporan, laporan dijalankan dan harus mengakses data dari sumber data seperti tabel SQL Server. Layanan SQL Server harus mendapatkan reportuser
tiket layanan Kerberos, yang diberikan selama proses autentikasi ke server PBIRS. Ekstensi S4U2proxy menyediakan transisi protokol yang diperlukan untuk meneruskan kredensial yang diperlukan tanpa harus meneruskan TGT pengguna (tiket pemberian tiket) atau kunci sesi pengguna.
Untuk mencapai hal ini, akun layanan PBIRS (pbirsservice
dalam contoh ini) dan akun layanan SQL Server (linuxservice
dalam contoh ini) perlu diberikan Trusted To Authenticate untuk Delegasi tepat di domain. Ada beberapa cara untuk memberikan hak ini (yaitu, ADSI Edit, UI Komputer dan Pengguna, dll.). Kami menggunakan perintah PowerShell yang ditingkatkan dalam contoh ini:
Dapatkan akun layanan SQL Server dan atur untuk mengizinkan delegasi. Langkah ini tidak hanya memungkinkan delegasi Kerberos, tetapi 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 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)
PBIRS harus diinstal dalam mode konfigurasi saja .
Segera setelah menginstal PBIRS, Anda harus mengonfigurasinya untuk mendukung autentikasi Kerberos. PBIRS secara default hanya mendukung autentikasi NTLM. Selama proses penginstalan, Anda perlu memperbarui salah satu file konfigurasi PBIRS sebelum menyelesaikan proses konfigurasi PBIRS, baik di UI, atau melalui baris perintah. Jika Anda menggunakan penginstalan PBIRS yang ada, Anda masih perlu melakukan pengeditan, dan layanan PBIRS harus dimulai ulang agar berlaku. File konfigurasi adalah rsreportserver.config
. Ini berada di jalur tempat PBIRS diinstal. Misalnya, pada penginstalan default PBIRS, file berada di lokasi berikut:
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\ReportServer
File XML ini dapat diedit di editor teks apa pun. Ingatlah untuk membuat salinan file sebelum mengedit. 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>
Langkah ini diperlukan, karena SQL Server di Linux hanya mendukung autentikasi SQL dan Kerberos.
Catatan
Kita hanya perlu menyertakan RSWindowsKerberos
atribut, tetapi menggunakan RSWindowsNegotiate
sangat membantu jika menstandarkan file konfigurasi PBIRS di seluruh armada server yang mendukung campuran instans Windows dan Linux SQL Server yang diinginkan.
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 Masuk Keamanan>, klik kanan pada CORPNET\pbirsservice
akun, dan pilih Properti. Izin terlihat di halaman Pemetaan Pengguna.
Terakhir, kita dapat menambahkan reportuser
sebagai login di SQL Server untuk tujuan pengujian. Dalam hal ini, kami mengambil tombol mudah dan menambahkan pengguna ke peran db_datareader dalam dua database pengguna: AdventureWorks
dan AdventureWorksDW
.
Setelah laporan disebarkan
Jika Anda perlu menyiapkan langganan laporan setelah laporan disebarkan, 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 opsi laporan . Langkah ini gagal saat menggunakan kredensial Windows, karena keterbatasan dalam implementasi SQL Server di Linux yang membuat peniruan lebih sulit.
Konten terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk