Keamanan tingkat baris (RLS) di Power BI Report Server
Menyiapkan keamanan tingkat baris (RLS) dengan Power BI Report Server dapat membatasi akses data untuk pengguna tertentu. Filter membatasi akses data di tingkat baris, dan Anda dapat menentukan filter dalam peran. Jika Anda menggunakan izin default di Power BI Report Server, setiap pengguna dengan izin Penerbit atau Pengelola Konten untuk laporan Power BI dapat menetapkan anggota ke peran untuk laporan tersebut.
Anda dapat mengonfigurasi RLS untuk model data yang diimpor ke Power BI dengan Power BI Desktop. Anda juga dapat mengonfigurasi RLS pada laporan yang menggunakan DirectQuery, seperti SQL Server. Perlu diingat bahwa RLS tidak dihargai jika koneksi DirectQuery Anda menggunakan autentikasi terintegrasi untuk pembaca laporan. Untuk koneksi langsung Analysis Services, Anda mengonfigurasi keamanan tingkat baris pada model lokal. Opsi keamanan tidak akan muncul untuk himpunan data koneksi langsung.
Menentukan peran dan aturan dalam Power BI Desktop
Anda dapat menentukan peran dan aturan dalam Power BI Desktop. Saat menerbitkan ke Power BI, Anda juga menerbitkan definisi peran.
Untuk menentukan peran keamanan:
Impor data ke dalam laporan Power BI Desktop Anda, atau konfigurasikan koneksi DirectQuery.
Catatan
Anda tidak dapat menentukan peran dalam Power BI Desktop untuk koneksi langsung Analysis Services. Anda perlu melakukannya dalam model Analysis Services.
Dari tab Pemodelan, pilih Kelola Peran.
Dari jendela Kelola peran, pilih Buat.
Di bawah Peran, berikan nama untuk peran tersebut.
Catatan
Anda tidak dapat menentukan peran dengan koma, misalnya
London,ParisRole
.Di bawah Tabel, pilih tabel yang ingin Anda terapkan aturan DAX (Ekspresi Analisis Data).
Dalam kotak Ekspresi DAX filter tabel, masukkan ekspresi DAX. Ekspresi ini mengembalikan nilai benar atau salah. Misalnya:
[Entity ID] = “Value”
.Catatan
Anda dapat menggunakan nama pengguna() dalam ekspresi ini. Ketahuilah bahwa username() memiliki format DOMAIN\username dalam Power BI Desktop. Dalam layanan Power BI dan Power BI Report Server, itu dalam format Nama Prinsipal Pengguna (UPN) pengguna. Atau, Anda dapat menggunakan userprincipalname(), yang selalu mengembalikan pengguna dalam format nama prinsipal pengguna mereka, username@contoso.com.
Setelah Anda membuat ekspresi DAX, pilih tanda centang di atas kotak ekspresi untuk memvalidasi ekspresi.
Catatan
Dalam kotak ekspresi ini, gunakan koma untuk memisahkan argumen fungsi DAX meskipun Anda menggunakan lokal yang biasanya menggunakan pemisah titik koma (misalnya Prancis atau Jerman).
Pilih Simpan.
Anda tidak dapat menetapkan pengguna ke peran dalam Power BI Desktop. Anda menetapkan mereka di layanan Power BI. Anda dapat mengaktifkan keamanan dinamis dalam Power BI Desktop dengan menggunakan fungsi DAX username() atau userprincipalname() dan memiliki hubungan yang tepat yang dikonfigurasi.
Pemfilteran silang dua arah
Secara default, pemfilteran keamanan tingkat baris menggunakan filter arah tunggal, baik hubungan diatur ke arah tunggal atau dua arah. Anda dapat mengaktifkan filter silang dua arah secara manual dengan keamanan tingkat baris.
Pilih hubungan dan centang kotak Terapkan filter keamanan di kedua arah.
Centang kotak ini saat menerapkan keamanan tingkat baris dinamis berdasarkan nama pengguna atau ID masuk.
Untuk informasi selengkapnya, lihat Pemfilteran silang dua arah menggunakan DirectQuery di Power BI Desktop dan artikel teknis Mengamankan Model Semantik Tabular BI.
Memvalidasi peran dalam Power BI Desktop
Setelah membuat peran, uji hasil peran dalam Power BI Desktop.
Dari tab Pemodelan, pilih Tampilkan sebagai.
Jendela Tampilkan sebagai peran muncul, tempat Anda melihat peran yang telah Anda buat.
Pilih peran yang Anda buat. Lalu pilih OK untuk menerapkan peran tersebut.
Laporan ini merender data yang relevan untuk peran tersebut.
Anda juga dapat memilih Pengguna lain dan menyediakan pengguna tertentu.
Yang terbaik adalah menyediakan Nama Prinsipal Pengguna (UPN) karena itulah yang digunakan layanan Power BI dan Server Laporan Power BI.
Dalam Power BI Desktop, Pengguna lain menampilkan hasil yang berbeda hanya jika Anda menggunakan keamanan dinamis berdasarkan ekspresi DAX Anda. Dalam hal ini, Anda perlu menyertakan nama pengguna serta peran.
Pilih OK.
Laporan dirender berdasarkan filter RLS yang memungkinkan pengguna untuk melihat.
Catatan
Fitur Tampilkan sebagai peran tidak berfungsi untuk model DirectQuery dengan Akses Menyeluruh (SSO) diaktifkan.
Menambahkan anggota ke peran
Setelah menyimpan laporan di Power BI Report Server, Anda mengelola keamanan dan menambahkan atau menghapus anggota di server. Hanya pengguna dengan izin Penerbit atau Pengelola Konten untuk laporan yang memiliki opsi keamanan tingkat baris yang tersedia dan tidak berwarna abu-abu.
Jika laporan tidak memiliki peran yang dibutuhkan, Anda perlu membukanya di Power BI Desktop, menambahkan atau memodifikasi peran, lalu menyimpannya kembali ke Power BI Report Server.
Di Power BI Desktop, simpan laporan ke Power BI Report Server. Anda perlu menggunakan versi Power BI Desktop untuk Power BI Report Server.
Di Power BI Report Service, pilih elipsis (...) di samping laporan.
Pilih Kelola>Keamanan tingkat baris.
Pada halaman Keamanan tingkat baris, Anda menambahkan anggota ke peran yang Anda buat di Power BI Desktop.
Untuk menambahkan anggota, pilih Tambahkan Anggota.
Masukkan pengguna atau grup dalam kotak teks dalam format Nama Pengguna (DOMAIN\pengguna) dan pilih peran yang ingin Anda tetapkan kepada mereka. Anggota harus berada dalam organisasi Anda.
Bergantung pada cara Anda mengonfigurasi Active Directory, memasukkan Nama Prinsipal Pengguna di sini juga berfungsi. Dalam hal ini, Server Laporan memperlihatkan nama pengguna yang sesuai dalam daftar.
Klik OK untuk menerapkan.
Untuk menghapus anggota, centang kotak di samping nama mereka dan pilih Hapus. Anda dapat menghapus beberapa anggota pada satu waktu.
username() dan userprincipalname()
Anda dapat memanfaatkan fungsi DAX username() atau userprincipalname() dalam himpunan data Anda. Anda dapat menggunakannya dalam ekspresi di Power BI Desktop. Saat Anda menerbitkan model, Power BI Report Server menggunakannya.
Dalam Power BI Desktop, username() akan mengembalikan pengguna dalam format DOMAIN\User dan userprincipalname() akan mengembalikan pengguna dalam format user@contoso.com.
Dalam Power BI Report Server, username() dan userprincipalname() mengembalikan Nama Prinsipal Pengguna (UPN) pengguna, yang mirip dengan alamat email.
Jika Anda menggunakan autentikasi kustom di Power BI Report Server, autentikasi tersebut mengembalikan format nama pengguna yang telah Anda siapkan untuk pengguna.
Pertimbangan dan batasan
Berikut adalah batasan saat ini untuk keamanan tingkat baris pada model Power BI.
Pengguna yang memiliki laporan menggunakan fungsi DAX username() akan melihat perilaku baru sekarang di mana Nama Prinsipal Pengguna (UPN) dikembalikan KECUALI saat menggunakan DirectQuery dengan keamanan terintegrasi. Karena RLS tidak dihargai dalam skenario tersebut, perilaku dalam skenario tersebut tidak berubah.
Anda hanya dapat menentukan RLS pada himpunan data yang dibuat dengan Power BI Desktop. Untuk mengaktifkan RLS untuk himpunan data yang dibuat dengan Excel, Anda harus mengonversi file Anda menjadi file Power BI Desktop (PBIX) terlebih dahulu. Pelajari selengkapnya tentang mengonversi file Excel.
Hanya koneksi Ekstrak, Transformasi, Muat (ETL) dan DirectQuery menggunakan informasi masuk tersimpan yang didukung. Koneksi langsung ke Analysis Services dan koneksi DirectQuery menggunakan autentikasi terintegrasi ditangani di sumber data yang mendasar.
Jika Anda menggunakan keamanan terintegrasi dengan DirectQuery, pengguna Anda mungkin melihat:
- RLS dinonaktifkan dan semua data dikembalikan.
- Pengguna tidak dapat memperbarui penetapan peran mereka, dan mendapatkan kesalahan di halaman Kelola RLS.
- Untuk fungsi nama pengguna DAX, Anda terus menerima nama pengguna sebagai DOMAIN\USER.
Penulis laporan tidak memiliki akses untuk melihat data laporan di Power BI Report Server hingga mereka menetapkan peran yang sesuai setelah mengunggah laporan.
Penetapan peran melalui keanggotaan grup hanya didukung ketika Power BI Report Server dikonfigurasi untuk dijalankan dengan autentikasi NTLM atau Kerberos. Server yang berjalan dengan Autentikasi kustom atau Windows Basic memerlukan pengguna yang secara eksplisit ditetapkan ke peran.
FAQ
Bisakah saya membuat peran ini untuk sumber data Analysis Services?
Anda dapat melakukannya jika mengimpor data ke Power BI Desktop. Jika Anda menggunakan koneksi langsung, Anda tidak dapat mengonfigurasi RLS dalam layanan Power BI. Hal ini ditentukan dalam model lokal Analysis Services.
Bisakah saya menggunakan RLS untuk membatasi kolom atau pengukuran yang dapat diakses oleh pengguna saya?
Tidak. Jika pengguna memiliki akses ke baris data tertentu, mereka bisa melihat semua kolom data untuk baris tersebut.
Apakah RLS memungkinkan saya menyembunyikan data terperinci tetapi memberikan akses ke data yang dirangkum dalam visual?
Tidak, Anda mengamankan baris data individual tetapi pengguna selalu dapat melihat detail atau data yang dirangkum.
Bisakah saya menambahkan peran baru di Power BI Desktop jika saya sudah memiliki peran dan anggota yang sudah ada yang ditetapkan?
Ya, jika Anda sudah memiliki peran yang ditentukan dan anggota yang ditetapkan di Power BI Report Server, Anda dapat membuat peran tambahan dan menerbitkan ulang laporan Anda tanpa berpengaruh pada tugas Anda saat ini.
Konten terkait
Ada pertanyaan lagi? Coba tanyakan kepada Komunitas Power BI