Bagikan melalui


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:

  1. Menyiapkan lingkungan untuk memfilter laporan
  2. Memfilter data di tingkat laporan atau kueri
  3. 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

  1. Di jendela Properti Model semantik, dari panel kiri, pilih Filter.

    Cuplikan layar filter Pembuat Laporan Power BI.

  2. Dari menu drop-down Ekspresi, pilih parameter yang ingin Anda gunakan untuk memfilter data.

    Cuplikan layar memperlihatkan nilai Warna yang dipilih dari menu Ekspresi.

  3. Pilih tombol Fungsi nilai.

    Nilai Pembangun Laporan Power BI

  4. Di jendela Ekspresi, dari daftar Kategori, pilih Bidang Bawaan.

    Cuplikan layar memperlihatkan jendela Ekspresi dengan Bidang Bawaan dipilih sebagai Kategori dan ExecutionTime dipilih sebagai Item.

  5. Dari daftar Item , pilih UserID dan pilih OK.

    UserID Pembangun Laporan Power BI

  6. Di jendela Properti model Semantik, verifikasi bahwa ekspresi adalah parameter yang Anda pilih = UserID, dan pilih OK.

    Properti model semantik Power BI Report Builder

Menggunakan kueri

  1. Di jendela Properti Model semantik, dari panel navigasi kiri, pilih Parameter, dan pilih Tambahkan.

    Parameter Power BI Report Builder

  2. Di bidang Nama Parameter masukkan @UserID, dan di Nilai Parameter tambahkan [&UserID].

    Nama parameter Power BI Report Builder

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

    Pengeditan kueri Power BI Report Builder

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

Membuat token sematan