Membatasi akses ke objek model Power BI

Selesai

Sebagai pembuat model data, Anda dapat mempertimbangkan untuk membatasi akses pengguna ke objek model Power BI. Keamanan tingkat objek (OLS) dapat membatasi akses ke tabel dan kolom tertentu, serta metadatanya. Biasanya, Anda menerapkan OLS untuk mengamankan objek yang menyimpan data sensitif, seperti data pribadi karyawan.

Saat Power BI memberlakukan OLS, OLS tidak hanya membatasi akses ke tabel dan kolom, tetapi juga dapat mengamankan metadata. Saat Anda mengamankan metadata, tidak dimungkinkan untuk mengambil informasi tentang tabel dan kolom aman dengan menggunakan Tampilan Manajemen Dinamis (DMV).

Penting

Model tabel dapat menyembunyikan tabel dan kolom (dan objek lainnya) dengan menggunakan perspektif. Perspektif mendefinisikan subset objek model yang dapat dilihat untuk membantu memberikan fokus khusus bagi penulis laporan. Perspektif dimaksudkan untuk mengurangi kompleksitas model, membantu penulis laporan menemukan sumber daya yang menarik. Namun, perspektif bukanlah fitur keamanan karena tidak mengamankan objek. Pengguna masih bisa mengkueri tabel atau kolom meskipun tidak terlihat oleh mereka.

Pertimbangkan contoh di Adventure Works. Organisasi ini memiliki tabel dimensi gudang data bernama DimEmployee. Tabel mencakup kolom yang menyimpan nama karyawan, telepon, alamat email, dan gaji. Sementara konsumen laporan umum dapat melihat nama karyawan dan detail kontak, mereka tidak boleh melihat nilai gaji. Hanya staf Sumber Daya Manusia senior yang diizinkan untuk melihat nilai gaji. Jadi, pembuat model data menggunakan OLS untuk memberikan akses ke kolom gaji hanya untuk staf Sumber Daya Manusia tertentu.

Cuplikan layar memperlihatkan tampilan diagram model tabel Karyawan, yang mencakup kolom Gaji terbatas.

OLS adalah fitur yang diwarisi dari Azure Analysis Services (AAS) dan SQL Server Analysis Services (SSAS). Fitur ini tersedia di Power BI Premium untuk memberikan kompatibilitas mundur untuk model yang dimigrasikan ke Power BI. Karena alasan ini, tidak mungkin untuk menyiapkan OLS sepenuhnya di Power BI Desktop.

Menyiapkan OLS

Untuk menyiapkan OLS, Anda mulai dengan membuat peran. Anda dapat membuat peran di Power BI Desktop dengan cara yang sama seperti yang Anda lakukan saat menyiapkan RLS. Selanjutnya, Anda perlu menambahkan aturan OLS ke peran. Kemampuan ini tidak didukung oleh Power BI Desktop, jadi Anda harus mengambil pendekatan yang berbeda.

Anda menambahkan aturan OLS ke model Power BI Desktop dengan menggunakan titik akhir XML untuk Analisis (XMLA). Titik akhir XMLA tersedia dengan Power BI Premium, dan menyediakan akses ke mesin Analysis Services di layanan Power BI. Titik akhir baca/tulis mendukung manajemen himpunan data, manajemen siklus hidup aplikasi, pembuat model data tingkat lanjut, dan banyak lagi. Anda dapat menggunakan API yang mendukung titik akhir XMLA untuk pembuatan skrip, seperti Tabular Model Scripting Language (TMSL) atau modul PowerShell SqlServer. Atau Anda dapat menggunakan alat klien, seperti SSMS. Ada juga opsi alat pihak ketiga, seperti Editor Tabular, yang merupakan alat sumber terbuka untuk membuat, mempertahankan, dan mengelola model.

Secara default, semua tabel dan kolom model tidak dibatasi. Anda dapat mengaturnya ke Tidak ada atau Baca. Jika diatur ke Tidak ada, pengguna yang terkait dengan peran tersebut tidak dapat mengakses objek. Jika diatur ke Baca, pengguna yang terkait dengan peran tersebut dapat mengakses objek. Saat Anda membatasi kolom tertentu, pastikan tabel tidak diatur ke Tidak ada.

Setelah menambahkan aturan OLS, Anda dapat menerbitkan model ke layanan Power BI. Gunakan proses yang sama untuk RLS guna memetakan akun dan kelompok keamanan ke peran.

Pertimbangan

Dalam laporan Power BI, saat pengguna tidak memiliki izin untuk mengakses tabel atau kolom, mereka akan menerima pesan kesalahan. Pesan akan memberi tahu mereka bahwa objek tersebut tidak ada.

Cuplikan layar menunjukkan pesan kesalahan Power B I Desktop saat visual laporan mencoba mengkueri kolom terbatas.

Pertimbangkan baik-baik apakah OLS adalah solusi yang tepat untuk proyek Anda. Saat pengguna membuka laporan Power BI yang mengkueri objek terbatas (untuk mereka), pesan kesalahan bisa membingungkan dan akan menghasilkan pengalaman negatif. Pengguna akan beranggapan bahwa laporan tersebut rusak. Pendekatan yang lebih baik mungkin dengan membuat serangkaian model atau laporan terpisah untuk kebutuhan konsumen yang berbeda.

Batasan

Ada batasan yang harus diperhatikan saat menerapkan OLS.

Anda tidak dapat mencampur RLS dan OLS dalam peran yang sama. Jika Anda perlu menerapkan RLS dan OLS dalam model yang sama, buat peran terpisah yang didedikasikan untuk setiap jenis. Selain itu, Anda tidak dapat mengatur keamanan tingkat tabel jika merusak rantai hubungan. Misalnya, jika ada hubungan antara tabel A dan B, dan B dan C, Anda tidak dapat mengamankan tabel B. Jika tabel B diamankan, kueri pada tabel A tidak dapat mengalihkan hubungan antara tabel A dan B, dan B dan C. Dalam hal ini, Anda dapat mengatur hubungan terpisah antara tabel A dan C.

Diagram memperlihatkan contoh hubungan yang dijelaskan dalam paragraf sebelumnya.

Namun, model hubungan yang mereferensikan kolom aman akan berfungsi, asalkan tabel kolom tidak diamankan.

Terakhir, meskipun tidak mungkin untuk mengamankan ukuran, ukuran yang mereferensikan objek yang diamankan secara otomatis dibatasi.

Untuk informasi selengkapnya, lihat Keamanan tingkat objek.