Keamanan tingkat objek

Berlaku untuk: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Keamanan model data dimulai dengan menerapkan peran dan filter tingkat baris secara efektif untuk menentukan izin pengguna pada objek dan data model data. Untuk model tabular 1400 dan yang lebih tinggi, Anda juga dapat menentukan keamanan tingkat objek (OLS), yang mencakup keamanan tingkat tabel dan keamanan tingkat kolom di objek Peran. Saat dikonfigurasi, data tabel dan kolom diamankan, bersama dengan metadata untuk membantu mencegah pengguna jahat menemukan bahwa objek semacam itu ada.

OLS dapat dikonfigurasi dengan menggunakan Editor Tabular sumber terbuka, Bahasa Skrip Model Tabular (TMSL), atau Model Objek Tabular (TOM).

Keamanan tingkat tabel

Dengan keamanan tingkat tabel, Anda tidak hanya dapat membatasi akses ke data tabel, tetapi juga metadata nama tabel yang sensitif. Atur properti metadataPermission dari kelas tablePermissions di objek Peran ke tidak ada.

Dalam contoh ini, properti metadataPermission dari kelas tablePermissions untuk tabel Produk diatur ke tidak ada:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Product",
        "metadataPermission": "none"
      }
    ]
  }

Keamanan tingkat kolom

Mirip dengan keamanan tingkat tabel, dengan keamanan tingkat kolom, Anda tidak hanya dapat membatasi akses ke data kolom, tetapi juga metadata nama kolom yang sensitif. Atur properti metadataPermission dari kelas columnPermissions di objek Peran ke tidak ada.

Dalam contoh ini, properti metadataPermission dari kelas columnPermissions untuk kolom Base Rate dalam tabel Karyawan diatur ke tidak ada:

"roles": [
  {
    "name": "Users",
    "description": "All allowed users to query the model",
    "modelPermission": "read",
    "tablePermissions": [
      {
        "name": "Employee",
        "columnPermissions": [
          {
            "name": "Base Rate",
            "metadataPermission": "none"
          }
        ]
      }
    ]
  }

Batasan

  • Keamanan tingkat tabel tidak dapat diatur untuk model jika memutus rantai hubungan. Kesalahan dihasilkan pada waktu desain. 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 transit hubungan antara tabel A dan B, dan B dan C. Dalam hal ini, hubungan terpisah dapat dikonfigurasi antara tabel A dan C.

    Keamanan tingkat tabel

  • Keamanan tingkat baris dan keamanan tingkat objek tidak dapat digabungkan dari peran yang berbeda karena dapat memperkenalkan akses yang tidak diinginkan ke data aman. Kesalahan dihasilkan pada waktu kueri untuk pengguna yang merupakan anggota kombinasi peran tersebut.

  • Perhitungan dinamis (pengukuran, KPI, DetailRows) secara otomatis dibatasi jika mereferensikan tabel atau kolom aman. Meskipun tidak ada mekanisme untuk secara eksplisit mengamankan ukuran, dimungkinkan untuk secara implisit mengamankan pengukuran dengan memperbarui ekspresi untuk merujuk ke tabel atau kolom aman.

  • Hubungan yang mereferensikan pekerjaan kolom aman asalkan tabel tempat kolom berada tidak diamankan.

Power BI

Visualisasi yang mereferensikan objek model semantik dengan OLS dikonfigurasi menampilkan pesan yang sama seperti untuk objek yang dihapus atau tidak ada.

Pesan OLS dalam visualisasi Power BI

Batasan

Model dengan OLS yang dikonfigurasi untuk satu atau beberapa objek tabel atau kolom tidak didukung dengan fitur Power BI ini:

  • Q&Visualisasi
  • Visualisasi wawasan cepat
  • visualisasi Naratif cerdas
  • Galeri Tipe Data Excel

Lihat juga

Peran
Objek Peran (TMSL)
Tabular Model Scripting Language (TMSL)
Model Objek Tabular (TOM).