Bagikan melalui


Keamanan tingkat kolom di pergudangan data Fabric

Berlaku untuk:✅ Titik akhir analitik SQL dan Gudang di Microsoft Fabric

Keamanan tingkat-kolom menyederhanakan desain dan pengkodean keamanan dalam aplikasi Anda, memungkinkan Anda membatasi akses kolom untuk melindungi data sensitif. Misalnya, memastikan bahwa pengguna tertentu hanya dapat mengakses kolom tertentu dari tabel yang terkait dengan departemen mereka.

Keamanan tingkat kolom di tingkat data

Logika pembatasan akses terletak di tingkat database, bukan di tingkat aplikasi tunggal. Database menerapkan pembatasan akses setiap kali akses data dicoba, dari aplikasi atau platform pelaporan apa pun termasuk Power BI. Pembatasan ini membuat keamanan Anda lebih andal dan kuat dengan mengurangi luas permukaan sistem keamanan Anda secara keseluruhan.

Keamanan tingkat kolom hanya berlaku untuk kueri pada titik akhir analitik Gudang atau SQL di Fabric. Kueri Power BI pada gudang dalam mode Direct Lake akan kembali ke mode Direct Query untuk mematuhi keamanan tingkat kolom.

Membatasi akses ke kolom tertentu untuk pengguna tertentu

Selain itu, keamanan tingkat kolom lebih sederhana dan daripada merancang tampilan tambahan untuk memfilter kolom untuk memberlakukan pembatasan akses pada pengguna.

Terapkan keamanan tingkat kolom dengan pernyataan GRANT T-SQL. Untuk kesederhanaan manajemen, menetapkan izin ke peran lebih disukai untuk menggunakan individu.

Keamanan tingkat kolom diterapkan ke gudang bersama atau lakehouse yang diakses melalui titik akhir analitik SQL, karena sumber data yang mendasar belum berubah.

Hanya autentikasi Microsoft Entra yang didukung. Untuk informasi selengkapnya, lihat Autentikasi Microsoft Entra sebagai alternatif untuk autentikasi SQL di Microsoft Fabric.

Contoh

Contoh ini akan membuat tabel dan akan membatasi kolom yang charlie@contoso.com bisa dilihat dalam customers tabel.

CREATE TABLE dbo.Customers
  (CustomerID int,
   FirstName varchar(100) NULL,
   CreditCard char(16) NOT NULL,
   LastName varchar(100) NOT NULL,
   Phone varchar(12) NULL,
   Email varchar(100) NULL);

Kami akan mengizinkan Charlie untuk hanya mengakses kolom yang terkait dengan pelanggan, tetapi bukan kolom sensitif CreditCard :

GRANT SELECT ON Customers(CustomerID, FirstName, LastName, Phone, Email) TO [Charlie@contoso.com];

Kueri yang dijalankan sebagai charlie@contoso.com akan gagal jika menyertakan CreditCard kolom:

SELECT * FROM Customers;
Msg 230, Level 14, State 1, Line 12
The SELECT permission was denied on the column 'CreditCard' of the object 'Customers', database 'ContosoSales', schema 'dbo'.

Langkah selanjutnya