Bagikan melalui


Menerapkan keamanan tingkat baris di pergudangan data Microsoft Fabric

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

Keamanan tingkat baris (RLS) di titik akhir analitik Fabric Warehouse dan SQL memungkinkan Anda mengontrol akses ke baris dalam tabel database berdasarkan peran dan predikat pengguna. Untuk informasi selengkapnya, lihat Keamanan tingkat baris di pergudangan data Fabric.

Panduan ini akan memandu Anda melalui langkah-langkah untuk menerapkan keamanan tingkat baris di Microsoft Fabric Warehouse atau titik akhir analitik SQL.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal berikut:

  1. Ruang kerja Fabric dengan kapasitas aktif atau kapasitas uji coba.
  2. Titik akhir analitik Fabric Warehouse atau SQL di Lakehouse.
  3. Hak Administrator, Anggota, atau Kontributor pada ruang kerja, atau izin yang ditinggikan pada titik akhir analitik Gudang atau SQL.

1. Koneksi

  1. Masuk menggunakan akun dengan akses yang ditingkatkan di titik akhir analitik Gudang atau SQL. (Peran Admin/Anggota/Kontributor di ruang kerja atau Izin Kontrol pada titik akhir analitik Gudang atau SQL).
  2. Buka ruang kerja Fabric dan navigasikan ke titik akhir analitik Gudang atau SQL tempat Anda ingin menerapkan keamanan tingkat baris.

2. Tentukan kebijakan keamanan

  1. Tentukan peran dan predikat yang ingin Anda gunakan untuk mengontrol akses ke data. Peran menentukan siapa yang dapat mengakses data, dan predikat menentukan kriteria untuk akses.

  2. Buat predikat keamanan. Predikat keamanan adalah kondisi yang menentukan baris mana yang dapat diakses pengguna. Anda dapat membuat predikat keamanan sebagai fungsi bernilai tabel sebaris.

    -- Creating schema for Security
    CREATE SCHEMA Security;
    GO
    
    -- Creating a function for the SalesRep evaluation
    CREATE FUNCTION Security.tvf_securitypredicate(@UserName AS varchar(50))
        RETURNS TABLE
    WITH SCHEMABINDING
    AS
        RETURN SELECT 1 AS tvf_securitypredicate_result
    WHERE @UserName = USER_NAME()
    OR USER_NAME() = 'BatchProcess@contoso.com';
    GO
    
    -- Using the function to create a Security Policy
    CREATE SECURITY POLICY YourSecurityPolicy
    ADD FILTER PREDICATE Security.tvf_securitypredicate(UserName_column)
    ON sampleschema.sampletable
    WITH (STATE = ON);
    GO 
    
  3. Ganti YourSecurityPolicy dengan nama kebijakan Anda, tvf_securitypredicate dengan nama fungsi predikat Anda, sampleschema dengan nama skema Anda dan sampletable dengan nama tabel target Anda.

  4. Latihan ini mengasumsikan ada kolom dalam tabel data Anda, UserName_column, yang berisi nama pengguna yang relevan, yang diisi oleh fungsi sistem USER_NAME(). Ganti UserName_column dengan kolom dalam tabel Anda yang berisi nama pengguna.

  5. Ganti WHERE @UserName = USER_NAME(); dengan klausa yang cocok dengan WHERE filter keamanan berbasis predikat yang diinginkan. Misalnya, ini memfilter data tempat kolom, dipetakan UserName ke @UserName parameter, cocok dengan hasil fungsi sistem USER_NAME().

    • Secara opsional, pernyataan WHERE juga menyertakan pengecualian untuk nama pengguna identitas terkelola yang menangani pergerakan data, misalnya, BatchProcess@contoso.com.
  6. Ulangi langkah-langkah ini untuk membuat kebijakan keamanan untuk tabel lain jika diperlukan.

3. Menguji keamanan tingkat baris

  1. Masuk ke Fabric sebagai pengguna yang merupakan anggota peran dengan kebijakan keamanan terkait. Gunakan kueri berikut untuk memverifikasi nilai yang harus dicocokkan dalam tabel.

    SELECT USER_NAME() 
    
  2. Kueri tabel database untuk memverifikasi bahwa keamanan tingkat baris berfungsi seperti yang diharapkan. Pengguna hanya akan melihat data yang memenuhi predikat keamanan yang ditentukan dalam peran mereka. Contohnya:

    SELECT * FROM sampleschema.sampletable
    
  3. Hasil yang difilter serupa untuk pengguna akan difilter dengan aplikasi lain yang menggunakan autentikasi Microsoft Entra untuk akses database. Untuk informasi selengkapnya, lihat Autentikasi Microsoft Entra sebagai alternatif untuk autentikasi SQL di Microsoft Fabric.

4. Pantau dan pertahankan keamanan tingkat baris

Pantau dan perbarui kebijakan keamanan tingkat baris Anda secara teratur seiring berkembangnya persyaratan keamanan Anda. Lacak penetapan peran dan pastikan pengguna memiliki akses yang sesuai.