Keamanan tingkat baris (RLS) dengan Power BI
Keamanan tingkat baris (RLS) dengan Power BI dapat digunakan untuk membatasi akses data bagi pengguna tertentu. Filter membatasi akses data di tingkat baris, dan Anda dapat menentukan filter dalam peran. Di layanan Power BI, pengguna dengan akses ke ruang kerja memiliki akses ke model semantik di ruang kerja tersebut. RLS hanya membatasi akses data untuk pengguna dengan izin Penampil . Ini tidak berlaku untuk Admin, Anggota, atau Kontributor.
Anda dapat mengonfigurasi RLS untuk model data yang diimpor ke Power BI dengan Power BI. Anda juga dapat mengonfigurasi RLS pada model semantik yang menggunakan DirectQuery, seperti SQL Server. Untuk koneksi kehidupan Analysis Services atau Azure Analysis Services, Anda mengonfigurasi keamanan tingkat baris dalam model, bukan di Power BI. Opsi keamanan tidak muncul untuk model semantik koneksi langsung.
Menentukan peran dan aturan dalam Power BI Desktop
Anda dapat menentukan peran dan aturan dalam Power BI Desktop. Dengan editor ini, Anda dapat beralih antara menggunakan antarmuka drop-down default dan antarmuka DAX. 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 Baru untuk membuat peran baru.
Di bawah Peran, berikan nama untuk peran tersebut dan pilih masukkan.
Catatan
Anda tidak dapat menentukan peran dengan koma, misalnya
London,ParisRole
.Di bawah Pilih tabel, pilih tabel yang ingin Anda terapkan filter keamanan tingkat baris.
Di bawah Filter data, gunakan editor default untuk menentukan peran Anda. Ekspresi yang dibuat mengembalikan nilai benar atau salah.
Catatan
Tidak semua filter keamanan tingkat baris yang didukung di Power BI dapat ditentukan menggunakan editor default. Batasan mencakup ekspresi yang saat ini hanya dapat ditentukan menggunakan DAX termasuk aturan dinamis seperti username() atau userprincipalname(). Untuk menentukan peran menggunakan filter ini beralih untuk menggunakan editor DAX.
Secara opsional pilih Beralih ke editor DAX untuk beralih menggunakan editor DAX untuk menentukan peran Anda. Ekspresi DAX mengembalikan nilai true atau false. Misalnya:
[Entity ID] = “Value”
. Editor DAX lengkap dengan pelengkapan otomatis untuk rumus (intellisense). Anda dapat memilih tanda centang di atas kotak ekspresi untuk memvalidasi ekspresi dan tombol X di atas kotak ekspresi untuk mengembalikan perubahan.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. Selain itu, 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).
Anda dapat beralih kembali ke editor default dengan memilih Beralih ke editor default. Semua perubahan yang dilakukan di salah satu antarmuka editor bertahan saat beralih antarmuka jika memungkinkan. Saat menentukan peran menggunakan editor DAX yang tidak dapat ditentukan di editor default, jika Anda mencoba beralih ke editor default, Anda akan diminta dengan peringatan bahwa beralih editor dapat mengakibatkan beberapa informasi hilang. Untuk menyimpan informasi ini, pilih Batal dan lanjutkan hanya mengedit peran ini di editor DAX.
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.
Secara default, pemfilteran keamanan tingkat baris menggunakan filter arah tunggal, apakah hubungan diatur ke arah tunggal atau dua arah. Anda dapat mengaktifkan pemfilteran silang dua arah secara manual dengan keamanan tingkat baris dengan memilih hubungan dan mencentang kotak centang Terapkan filter keamanan di kedua arah. Perhatikan bahwa jika tabel mengambil bagian dalam beberapa hubungan dua arah, Anda hanya dapat memilih opsi ini untuk salah satu hubungan tersebut. Pilih opsi ini saat Anda juga telah menerapkan keamanan tingkat baris dinamis di tingkat server, di mana keamanan tingkat baris didasarkan pada nama pengguna atau ID masuk.
Untuk informasi selengkapnya, lihat artikel teknis Pemfilteran silang Dua Arah menggunakan DirectQuery di Power BI dan artikel mengamankan Model Semantik BI Tabular.
Mengelola keamanan pada model Anda
Untuk mengelola keamanan pada model semantik Anda, buka ruang kerja tempat Anda menyimpan model semantik di Fabric dan lakukan langkah-langkah berikut:
Di Fabric, pilih menu Opsi lainnya untuk model semantik. Menu ini muncul saat Anda mengarahkan mouse ke nama model semantik.
Pilih Keamanan.
Keamanan membawa Anda ke halaman Keamanan Tingkat Peran tempat Anda menambahkan anggota ke peran yang Anda buat. Kontributor (dan peran ruang kerja yang lebih tinggi) akan melihat Keamanan dan dapat menetapkan pengguna ke peran.
Bekerja dengan anggota
Menambahkan Anggota
Di layanan Power BI, Anda dapat menambahkan anggota ke peran dengan mengetikkan alamat email atau nama pengguna atau grup keamanan. Anda tidak dapat menambahkan Grup yang dibuat di Power BI. Anda bisa menambahkan anggota di luar organisasi Anda.
Anda bisa menggunakan grup berikut untuk menyiapkan keamanan tingkat baris.
- Grup Distribusi
- Grup email aktif
- Microsoft Entra Security Group
Perhatikan bahwa grup Microsoft 365 tidak didukung dan tidak dapat ditambahkan ke peran apa pun.
Anda juga dapat melihat berapa banyak anggota yang menjadi bagian dari peran berdasarkan angka dalam tanda kurung di samping nama peran, atau di samping Anggota.
Hapus anggota
Anda dapat menghapus anggota dengan memilih X di samping namanya.
Memvalidasi peran dalam layanan Power BI
Anda dapat memvalidasi bahwa peran yang Anda tentukan berfungsi dengan benar dalam layanan Power BI dengan menguji peran.
- Pilih Opsi lainnya (...) di samping peran.
- Pilih Uji sebagai peran.
Anda dialihkan ke laporan yang diterbitkan dari Power BI Desktop dengan model semantik ini, jika ada. Dasbor tidak tersedia untuk pengujian menggunakan opsi Uji sebagai peran .
Di header halaman, peran yang diterapkan ditampilkan. Uji peran lain, kombinasi peran, atau orang tertentu dengan memilih Sekarang menampilkan sebagai. Di sini Anda melihat detail izin penting yang berkaitan dengan individu atau peran yang sedang diuji. Untuk informasi selengkapnya tentang cara izin berinteraksi dengan RLS, lihat Pengalaman pengguna RLS.
Uji laporan lain yang tersambung ke model semantik dengan memilih Menampilkan di header halaman. Anda hanya dapat menguji laporan yang terletak di ruang kerja yang sama dengan model semantik Anda.
Untuk kembali ke tampilan normal, pilih Kembali ke Keamanan Tingkat Baris.
Catatan
Fitur Uji sebagai peran tidak berfungsi untuk model DirectQuery dengan Single Sign-On (SSO) diaktifkan. Selain itu, tidak semua aspek laporan dapat divalidasi dalam fitur Uji sebagai peran termasuk visualisasi Tanya Jawab Umum, visualisasi Wawasan cepat, dan Copilot.
Menggunakan fungsi username() atau userprincipalname() DAX
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, model tersebut akan digunakan dalam layanan Power BI.
Dalam Power BI Desktop, username() akan mengembalikan pengguna dalam format DOMAIN\User dan userprincipalname() akan mengembalikan pengguna dalam format user@contoso.com.
Dalam layanan Power BI, nama pengguna() dan userprincipalname() keduanya akan mengembalikan Nama Prinsipal Pengguna (UPN) pengguna. Ini terlihat mirip dengan alamat email.
Menggunakan RLS dengan ruang kerja di Power BI
Jika Anda menerbitkan laporan Power BI Desktop ke ruang kerja di layanan Power BI, peran RLS diterapkan ke anggota yang ditetapkan ke peran Penampil di ruang kerja. Bahkan jika Penonton diberi izin Build ke model semantik, RLS masih berlaku. Misalnya, jika Penampil dengan izin Build menggunakan Analisis di Excel, tampilan datanya dibatasi oleh RLS. Anggota ruang kerja yang ditetapkan Admin, Anggota, atau Kontributor memiliki izin edit untuk model semantik dan, oleh karena itu, RLS tidak berlaku untuk mereka. Jika Anda ingin RLS berlaku untuk orang-orang di ruang kerja, Anda hanya dapat menetapkan peran Penampil kepada mereka. Baca selengkapnya tentang peran di ruang kerja.
Pertimbangan dan batasan
Anda dapat melihat batasan saat ini untuk keamanan tingkat baris pada model cloud di sini:
- Jika sebelumnya Anda menentukan peran dan aturan dalam layanan Power BI, Anda harus membuatnya kembali di Power BI Desktop.
- Anda hanya dapat menentukan RLS pada model semantik yang dibuat dengan Power BI Desktop. Jika Anda ingin mengaktifkan RLS untuk model semantik yang dibuat dengan Excel, Anda harus mengonversi file Anda menjadi file Power BI Desktop (PBIX) terlebih dahulu. Pelajari selengkapnya.
- Perwakilan layanan tidak dapat ditambahkan ke peran RLS. Dengan demikian, RLS tidak diterapkan untuk aplikasi menggunakan perwakilan layanan sebagai identitas efektif akhir.
- Hanya koneksi Impor dan DirectQuery yang didukung. Koneksi langsung ke Analysis Services ditangani dalam model lokal.
- Fitur Uji sebagai peran/Tampilan sebagai peran tidak berfungsi untuk model DirectQuery dengan akses menyeluruh (SSO) diaktifkan.
- Fitur Uji sebagai peran/tampilan sebagai peran hanya menampilkan laporan dari ruang kerja model semantik.
- Fitur Uji sebagai peran/Tampilan sebagai peran tidak berfungsi untuk laporan yang dipaginasi.
Perlu diingat bahwa jika laporan Power BI mereferensikan baris dengan RLS yang dikonfigurasi, maka pesan yang sama ditampilkan seperti untuk bidang yang dihapus atau tidak ada. Bagi pengguna ini, sepertinya laporan rusak.
FAQ
Pertanyaan: Bagaimana jika sebelumnya saya telah membuat peran dan aturan untuk himpunan data di layanan Power BI? Apakah mereka masih bekerja jika saya tidak melakukan apa-apa?
Jawaban: Tidak, visual tidak akan dirender dengan benar. Anda harus membuat ulang peran dan aturan dalam Power BI Desktop lalu menerbitkan ke layanan Power BI.
Pertanyaan: Bisakah saya membuat peran ini untuk sumber data Analysis Services?
Jawaban: Ya, jika Anda mengimpor data ke Power BI Desktop. Jika Anda menggunakan koneksi langsung, Anda tidak dapat mengonfigurasi RLS dalam layanan Power BI. Anda menentukan RLS dalam model Analysis Services lokal.
Pertanyaan: Bisakah saya menggunakan RLS untuk membatasi kolom atau pengukuran yang dapat diakses oleh pengguna saya?
Jawaban: Tidak, jika pengguna memiliki akses ke baris data tertentu, mereka bisa melihat semua kolom data untuk baris tersebut. Untuk membatasi akses ke metadata kolom dan kolom, pertimbangkan untuk menggunakan keamanan tingkat objek.
Pertanyaan: Apakah RLS memungkinkan saya menyembunyikan data terperinci tetapi memberikan akses ke data yang dirangkum dalam visual?
Jawaban: Tidak, Anda mengamankan baris data individual, tetapi pengguna selalu dapat melihat detail atau data yang dirangkum.
Pertanyaan: Sumber data saya sudah memiliki peran keamanan yang ditentukan (misalnya peran SQL Server atau peran SAP BW). Apa hubungan antara peran ini dan RLS?
Jawaban: Jawabannya tergantung pada apakah Anda mengimpor data atau menggunakan DirectQuery. Jika Anda mengimpor data ke himpunan data Power BI, peran keamanan di sumber data Anda tidak digunakan. Dalam hal ini, Anda harus menentukan RLS untuk menerapkan aturan keamanan bagi pengguna yang tersambung di Power BI. Jika Anda menggunakan DirectQuery, peran keamanan di sumber data Anda akan digunakan. Saat pengguna membuka laporan, Power BI mengirim kueri ke sumber data yang mendasar, yang menerapkan aturan keamanan ke data berdasarkan kredensial pengguna.
Pertanyaan: Bisakah pengguna memiliki lebih dari satu peran?
Jawaban: Pengguna dapat termasuk dalam beberapa peran, dan perannya bersifat aditif. Misalnya, jika pengguna termasuk dalam peran "Penjualan" dan "Pemasaran", mereka dapat melihat data untuk kedua peran ini.
Konten terkait
- Membatasi akses data dengan keamanan tingkat baris (RLS) untuk Power BI Desktop
- Panduan keamanan tingkat baris (RLS) di Power BI Desktop
- Perencanaan implementasi Power BI: Melaporkan perencanaan keamanan konsumen
- RLS untuk skenario Tersemat untuk ISV
Pertanyaan? Coba tanyakan Saran Komunitas Power BI? Sumbang ide untuk meningkatkan Power BI