Menerapkan keamanan tingkat baris dalam laporan berhalaman yang disematkan
BERLAKU UNTUK: Aplikasi memiliki data Milik pengguna
Artikel ini menjelaskan cara menyematkan laporan berhalaman yang menggunakan RLS (keamanan tingkat baris) ke dalam aplikasi Anda memiliki aplikasi data.
Catatan
Artikel ini hanya relevan untuk pelanggan data pemilik aplikasi.
Untuk menggunakan RLS untuk laporan berhalaman Anda:
- Menyiapkan lingkungan untuk memfilter laporan
- Memfilter data di tingkat laporan atau kueri
- Meneruskan parameter yang dikonfigurasi menggunakan token sematan
Prasyarat
Artikel ini mengasumsikan bahwa Anda tahu cara menyematkan laporan halaman Power BI. Ini menjelaskan cara menghasilkan token sematan sehingga laporan hanya menunjukkan apa yang dapat diakses pengguna.
Laporan yang dipaginasi dibuat menggunakan mesin SQL Server Reporting Services, dan bukan mesin Power BI (Analysis Services), sehingga pemfilteran RLS disiapkan di Power BI Report Builder.
Menyiapkan lingkungan
Untuk menerapkan keamanan tingkat baris ke laporan yang Power BI dipaginasi, gunakan userID bidang bawaan untuk menetapkan parameter. Parameter ini digunakan untuk memfilter atau mengkueri data Anda.
Kemudian, teruskan UserID ke Embed Token - Generate Token API untuk mendapatkan token semat.
Menggunakan UserID sebagai filter pada tingkat laporan atau kueri
Anda dapat menggunakan UserId sebagai filter atau dalam kueri ke sumber data.
Memfilter data
Di jendela Properti Model semantik, dari panel kiri, pilih Filter.
Dari menu drop-down Ekspresi, pilih parameter yang ingin Anda gunakan untuk memfilter data.
Pilih tombol Fungsi nilai.
Di jendela Ekspresi, dari daftar Kategori, pilih Bidang Bawaan.
Dari daftar Item , pilih UserID dan pilih OK.
Di jendela Properti model Semantik, verifikasi bahwa ekspresi adalah parameter yang Anda pilih = UserID, dan pilih OK.
Menggunakan kueri
Di jendela Properti Model semantik, dari panel navigasi kiri, pilih Parameter, dan pilih Tambahkan.
Di bidang Nama Parameter masukkan @UserID, dan di Nilai Parameter tambahkan [&UserID].
Dari panel kiri, pilih Kueri, di Kueri tambahkan parameter UserID sebagai bagian dari kueri Anda, dan pilih OK.
Catatan
Pada cuplikan layar di bawah, parameter warna digunakan sebagai contoh (WHERE FinalTable.Color = @UserID). Jika diperlukan, Anda dapat membuat kueri yang lebih kompleks.
Membuat token sematan
Saat Anda menyematkan laporan berhalaman untuk pelanggan, gunakan API GenerateTokenInGroup Laporan untuk mendapatkan token sematan. Token ini juga dapat digunakan untuk memfilter beberapa data dari laporan berhalaman.
Anda hanya dapat membuat token menggunakan perwakilan layanan. Anda tidak dapat menghasilkan token sebagai pengguna master. Perwakilan layanan harus memiliki setidaknya izin anggota ke ruang kerja di layanan Power BI. (Jika perwakilan layanan adalah kontributor atau penampil, perwakilan layanan tidak dapat menghasilkan token).
Untuk menghasilkan token, tetapkan username
bidang dengan informasi yang ingin Anda tampilkan. Misalnya, dalam laporan penomoran halaman yang memiliki parameter warna, jika Anda memasukkan warna hijau di bidang , token yang disematkan username
membatasi data yang disematkan hanya untuk data yang memiliki warna hijau sebagai nilainya di kolom warna.
{
"reports": [
{
"id": "8d57615e-cfed-4d60-bd21-7dc05727193c"
}
],
"identities": [
{
"username": "green",
"reports": [
"8d57615e-cfed-4d60-bd21-7dc05727193c"
]
}
]
}
Catatan
Jika Anda membuat token sematan tanpa menentukan ID pengguna, ID objek dari perwakilan layanan akan digunakan.
Pertimbangan dan batasan
- Pengguna master tidak didukung dengan laporan paginated untuk disematkan untuk pelanggan Anda. Pengguna master didukung untuk disematkan untuk organisasi Anda.
- Perwakilan layanan harus memiliki izin ruang kerja setidaknya anggota atau (bukan penampil atau kontributor).