Cara: Mengaktifkan keamanan tingkat baris di Power BI pada Power Pages
Sama seperti Power Pages adalah alat pilihan untuk dengan cepat memperluas penyebaran Microsoft Dataverse Anda ke publik dalam bentuk situs web, Power BI adalah alat bantu pilihan untuk menyajikan visualisasi berdasarkan data yang elegan. Keindahan Power Platform terletak pada kemampuannya untuk mencampur keduanya dengan lancar. Di masa lalu, untuk menyajikan laporan Power BI di halaman web, administrator harus mempublikasikan laporan ke web dan menanamkannya ke dalam iFrame. Meskipun seseorang menerapkan izin Halaman untuk mengunci halaman dengan laporan, jika seseorang memiliki tautan yang digunakan untuk menanam laporan, siapa pun akan tetap dapat mengakses laporan di luar situs web.
Tujuan mempublikasikan ke web adalah untuk memungkinkan setiap individu di web menggunakan data dan bahkan membuat ulang laporan.
Peringatan
Ketika Anda menggunakan Publikasikan ke web siapa pun di internet dapat melihat laporan atau visual yang dipublikasikan. Melihat tidak memerlukan otentikasi. Ini mencakup tampilan data tingkat rincian yang dikumpulkan laporan Anda. Sebelum mempublikasikan laporan, pastikan Anda dapat membagikan data dan visualisasi secara publik. Jangan publikasikan informasi rahasia atau eksklusif. Jika ragu, periksa kebijakan organisasi Anda sebelum dipublikasikan.
Dengan Power BI embedded, seseorang dapat secara kontekstual menyediakan komponen Power BI kepada pengguna, meneruskan filter otomatis menggunakan parameter filter, dan mengaktifkan kemampuan keamanan tingkat baris untuk memungkinkan organisasi menemukan data yang benar-benar aman bagi pengguna dan hanya menampilkan yang perlu dilihat.
Catatan
Keamanan tingkat baris hanya didukung untuk Power BI embedded.
Prasyarat
- Penyewa dengan lingkungan Microsoft Dataverse dan situs web Power Pages yang disebarkan.
- Halaman web untuk menyematkan Power BI laporan atau dasbor.
- Data bisnis relevan yang tersimpan di Dataverse.
- Power BI Desktop.
- Kapasitas untuk menerbitkan Power BI konten yang disematkan.
- Hak admin global penyewa.
- Admin global penyewa dengan peran Admin di ruang kerja layanan Power BI.
- Organisasi, bukan ruang kerja Power BI pribadi.
- Pendaftaran/otentikasi diaktifkan di situs web.
Skenario
Anda bekerja untuk studio fitness grup dan menggunakan Dataverse untuk melacak kelas fitness grup dan kehadiran mereka. Instruktur fitness grup tidak berada di penyewa Anda, karena masing-masing dianggap sebagai kontraktor. Situs web Anda akan digunakan oleh instruktur fitness grup tersebut untuk masuk dan melihat riwayat kelas yang mereka ajar, jadwal mendatang, dan tingkat peserta. Mereka hanya boleh melihat kelas yang mereka sendiri telah lakukan, dan bukan semua orang.
Instruktur ditunjukkan dengan rekaman Kontak di Dataverse. Saat mengakses situs web Power Pages, mereka melakukannya sebagai rekaman Kontak mereka. Data yang perlu mereka lihat di situs web berasal dari tabel Kelas kustom kami. Tabel Kelas memiliki relasi N*:1 dengan kontak karena formulir kelas memiliki bidang pencarian bernama Instruktur, yang adalah untuk tabel kontak.
Untuk mendapatkan keamanan tingkat baris agar Power Pages berfungsi bagi pengguna (Kontak), hubungan langsung antara Kontak harus ada, dan tabel yang Anda laporkan. Di bawah ini adalah model data contoh dari skenario ini:
Konfigurasikan laporan atau dasbor Power BI
Buka laporan Power BI atau dasbor di Power BI Desktop.
Kita harus mengubah relasi antara Kontak dan tabel kami (Kelas dalam skenario ini) untuk menggunakan pemfilteran dua arah. Untuk melakukannya, pilih tab Model di paling kiri.
Pilih baris yang menautkan tabel kontak Anda ke tabel yang berisi data laporan Anda dalam kasus sampel, adalah vbd_class setelah kami melaporkan kelas.
Di jendela Edit relasi, ada dua daftar pilihan. Di bagian atas, pilih tabel yang Anda laporkan (vbd_class) dan pilih kolom yang memiliki pengidentifikasi unik rekaman.
Dalam daftar pilihan bawah, pilih tabel kontak, lalu pilih kolom Kontak.
Kardinalitas menunjukkan Banyak ke satu (*:1). Ubah arah filter silang ke Keduanya.
Pilih OK.
Saat kita menerapkan RLS (Keamanan Tingkat Baris), kita harus membuat peran. Pilih Kelola peran di pita Beranda atas.
Dalam Peran, pilih Buat. Beri nama peran. Skenario sampel menggunakan pagesuser.
Pilih kontak dari kolom Tabel.
Isi kotak teks di sisi kanan dengan ekspresi DAX:
[User Name] = username()
Catatan
Bidang
[Username]
berada di tabel kontak dan bukan nama pengguna yang sebenarnya. Ini mereferensikan tabel adx_externalidentity yang digunakan oleh Power Pages. Ini memiliki GUID yang dikirim ke Power BI dalam fungsi username().Pilih Simpan lalu simpan file Anda.
Pilih Publikasikan dari pita Beranda.
Pilih ruang kerja organisasi yang mana Anda adalah pemiliknya dan akan digunakan oleh integrasi Power Pages. Klik Pilih.
Konfigurasikan integrasi Power BI
Lihat Konfigurasi integrasi Power BI untuk mengaktifkan situs web untuk integrasi Power BI.
Sematkan laporan Power BI
Navigasikan ke Power Pages. Temukan situs web Power Pages yang akan Anda masukkan laporannya, lalu pilih Edit untuk membuka studio desain Power Pages.
Dari ruang kerja Halaman, pilih halaman web tempat ingin Anda tanamkan laporannya.
Tambahkan bagian ke badan halaman web.
Pilih ikon Power BI bila diminta untuk memilih komponen yang akan Anda tambahkan di dalam bagian tersebut.
Bila komponen mengisi bagian tersebut, pilih di sudut kiri atas; Edit Power BI.
Pilih jenis akses. Pilihannya adalah:
Sematkan untuk pelanggan Anda: Memungkinkan Anda berbagi dengan Power BI pengguna eksternal tanpa Power BI lisensi atau Microsoft Entra identitas.
Sematkan untuk organisasi Anda: Ini menggunakan Microsoft Entra autentikasi untuk membagikan laporannya Power BI sehingga pengguna internal dapat melihatnya.
Terbitkan ke web - Memungkinkan siapa saja di internet mengakses laporan dan data.
Perhatian
Pastikan informasi ini bukan rahasia!
Informasi tambahan: Publikasikan ke web
Pilih Sematkan untuk pelanggan Anda.
Pilih ruang kerja yang berisi laporan atau dasbor, tentukan jenis sebagai Laporan atau Dasbor, lalu pilih laporan atau dasbor dari dropdown terakhir. Jika ini adalah laporan, Anda harus menentukan halaman yang disematkan.
Untuk melihat kode yang menyematkan laporan atau dasbor, pilih Edit kode dari sudut kanan atas studio.
Bila diminta, pilih Buka Visual Studio Code. Di kiri, dalam PowerPages (Ruang Kerja) nama situs web Power Pages memiliki drop-down ke halaman web. Di bagian tersebut Anda akan melihat file .css, file .js, dan salinan HTML. Pastikan Anda berada di file salinan HTML.
Pilih CTRL + F dan cari
{%
agar kami dapat dengan cepat mengidentifikasi kode yang berisi referensi ke dasbor Power BI atau laporan kami.{%
menunjukkan pembukaan tag, yang menciptakan logika untuk bahasa Liquid. Liquid adalah jembatan kita antara Dataverse dan apa yang berinteraksi dengan pengguna di situs web. Bila kita menggunakan editor studio untuk menanam komponen, bagian dari kode Liquid secara otomatis dibuat di kode sumber halaman web. Informasi lebih lanjut tentang tag Liquid Power BI dapat ditemukan di sini: Tag Liquid Dataverse dan Tambah laporan Power BI.Baris lengkap kode likuid yang Anda lihat akan mirip:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
Tutup tab Visual Studio Code for the Web.
Di studio desain Power Pages, pilih komponen Power BI yang disematkan dan pilih Edit Power BI.
Gulir ke bawah untuk mengalihkan Terapkan peran ke true/ya.
Di kotak teks Peran, ketik nama peran yang Anda buat di Power BI Desktop.
Untuk melihat perubahan yang dilakukan pada kode yang menyematkan laporan atau dasbor, pilih bangun Edit kode dari sudut kanan atas studio.
Baris lengkap kode likuid yang Anda lihat kini akan mirip:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
Tutup tab Visual Studio Code untuk kembali ke studio desain.
Pratinjau laporan atau dasbor yang dihasilkan dari layar browser dengan memilih Sinkronisasi di sudut kanan atas, lalu memilih Pratinjau > Desktop.
Untuk menguji laporan, dengan tidak ada pengguna yang masuk, Anda dapat melihat bahwa RLS telah diterapkan, karena tidak ada rekaman yang dikembalikan dengan menelusuri ke situs web Power Pages:
Ada data dasar dalam laporan ini, karena bila Anda melihat ini dari Power BI Desktop tanpa RLS diterapkan, Anda dapat melihat bahwa ada beberapa rekaman secara keseluruhan, namun terkait dengan rekaman kontak.
Untuk menguji lebih lanjut ini, jika kita masuk ke situs web dengan pengguna yang memiliki kontak terkait yang memiliki data terkait, Anda hanya dapat melihat rekaman yang terkait dengan pengguna yang masuk di halaman web:
RINGKASAN
Anda telah menanamkan laporan Power BI atau dasbor yang menggunakan keamanan tingkat baris ke situs web Power Pages Anda!
Panel filter tampak secara default. Menyembunyikan panel filter memerlukan JavaScript. Langkah-langkah melakukannya didokumentasikan di sini: Tambahkan laporan Power BI atau dasbor ke halaman web di portal.