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. Saat menerbitkan ke Power BI, Anda juga menerbitkan definisi peran.

Untuk menentukan peran keamanan:

  1. 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.

  2. Dari tab Pemodelan, pilih Kelola Peran.

    Cuplikan layar tab Pemodelan, menyoroti Kelola peran.

  3. Dari jendela Kelola peran, pilih Buat.

    Cuplikan layar jendela Kelola peran, menyoroti Buat.

  4. Di bawah Peran, berikan nama untuk peran tersebut.

    Catatan

    Anda tidak dapat menentukan peran dengan koma, misalnya London,ParisRole.

  5. Di bawah Tabel, pilih tabel yang ingin Anda terapkan aturan DAX (Ekspresi Analisis Data).

  6. Dalam kotak Ekspresi DAX filter tabel, masukkan ekspresi DAX. Ekspresi ini mengembalikan nilai benar atau salah. Misalnya: [Entity ID] = “Value”.

    Cuplikan layar jendela Kelola peran, menyoroti contoh ekspresi DAX.

    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.

  7. Setelah Anda membuat ekspresi DAX, pilih tanda centang di atas kotak ekspresi untuk memvalidasi ekspresi.

    Cuplikan layar jendela ekspresi DAX filter Tabel, menyoroti tanda centang.

    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).

  8. 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.

Cuplikan layar terapkan Filter Keamanan.

Menentukan peran dan aturan di Power BI menggunakan editor keamanan tingkat baris yang disempurnakan (Pratinjau)

Anda dapat dengan cepat dan mudah menentukan peran dan filter keamanan tingkat baris dalam Power BI menggunakan editor keamanan tingkat baris yang disempurnakan. 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 menggunakan editor keamanan tingkat baris yang ditingkatkan:

  1. Di Power BI Desktop, aktifkan pratinjau dengan masuk ke Opsi File > dan fitur Pratinjau Opsi > Pengaturan > dan aktifkan "Editor keamanan tingkat baris yang disempurnakan". Atau Anda dapat menggunakan editor ini di Layanan dengan mengedit model data Anda di layanan Power BI.

  2. Impor data ke model semantik Power BI Anda, atau konfigurasikan koneksi DirectQuery.

  3. Dari pita, pilih Kelola peran.

    Cuplikan layar tombol Kelola peran di pita Desktop.

  4. Dari jendela Kelola peran , pilih Baru untuk membuat peran baru.

    Cuplikan layar pembuatan peran baru di editor keamanan tingkat baris yang ditingkatkan.

  5. Di bawah Peran, berikan nama untuk peran tersebut dan pilih masukkan.

    Cuplikan layar mengganti nama peran di editor keamanan tingkat baris yang ditingkatkan.

  6. Di bawah Pilih tabel, pilih tabel yang ingin Anda terapkan filter keamanan tingkat barisnya.

  7. Di bawah Filter data, gunakan editor default untuk menentukan peran Anda. Ekspresi yang dibuat mengembalikan nilai benar atau salah.

    Cuplikan layar contoh penggunaan editor default di editor keamanan tingkat baris yang ditingkatkan.

    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.

  8. Secara opsional pilih Beralih ke editor DAX untuk beralih menggunakan editor DAX untuk menentukan peran Anda. 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.

    Cuplikan layar contoh penggunaan editor dax di editor keamanan tingkat baris yang disempurnakan.

    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.

    Cuplikan layar dialog contoh kesalahan saat beralih dari DAX ke editor default di editor keamanan tingkat baris yang disempurnakan.

  9. Pilih Simpan

Memvalidasi peran dalam Power BI Desktop

Setelah membuat peran, uji hasil peran dalam Power BI Desktop.

  1. Dari tab Pemodelan, pilih Tampilkan sebagai.

    Cuplikan layar tab Pemodelan, menyoroti Tampilan sebagai.

    Jendela Tampilkan sebagai peran muncul, tempat Anda melihat peran yang telah Anda buat.

    Cuplikan layar jendela Tampilkan sebagai peran dengan Tidak Ada dipilih.

  2. Pilih peran yang Anda buat. Lalu pilih OK untuk menerapkan peran tersebut.

    Laporan ini merender data yang relevan untuk peran tersebut.

  3. Anda juga dapat memilih Pengguna lain dan menyediakan pengguna tertentu.

    Cuplikan layar jendela Tampilkan sebagai peran dengan contoh pengguna yang dimasukkan.

    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.

  4. 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.

Mengelola keamanan pada model Anda

Untuk mengelola keamanan pada model semantik Anda, buka ruang kerja tempat Anda menyimpan model semantik di layanan Power BI dan lakukan langkah-langkah berikut:

  1. Di layanan Power BI, pilih menu Opsi lainnya untuk model semantik. Menu ini muncul saat Anda mengarahkan mouse ke nama model semantik, apakah Anda memilihnya dari menu navigasi atau halaman ruang kerja.

    Cuplikan layar memperlihatkan menu opsi lainnya di ruang kerja.

    Cuplikan layar memperlihatkan menu opsi lainnya di menu navigasi.

  2. Pilih Keamanan.

    Cuplikan layar memperlihatkan menu opsi lainnya dengan Keamanan dipilih.

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.

Namun, perhatikan bahwa grup Microsoft 365 tidak didukung dan tidak dapat ditambahkan ke peran apa pun.

Cuplikan layar memperlihatkan cara menambahkan anggota.

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.

Cuplikan layar memperlihatkan anggota dalam peran.

Hapus anggota

Anda dapat menghapus anggota dengan memilih X di samping namanya.

Cuplikan layar memperlihatkan cara menghapus anggota.

Memvalidasi peran dalam layanan Power BI

Anda dapat memvalidasi bahwa peran yang Anda tentukan berfungsi dengan benar dalam layanan Power BI dengan menguji peran.

  1. Pilih Opsi lainnya (...) di samping peran.
  2. Pilih Uji sebagai peran.

Cuplikan layar uji sebagai opsi 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.

Cuplikan layar Sekarang menampilkan sebagai dropdown untuk orang tertentu.

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.

Cuplikan layar Menampilkan untuk memilih laporan lain yang akan diuji.

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.

Pertanyaan? Coba tanyakan Saran Komunitas Power BI? Sumbang ide untuk meningkatkan Power BI