Bagikan melalui


Cara menerapkan masking data dinamis di Fabric Data Warehouse

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

Masking data dinamis adalah teknologi perlindungan data mutakhir yang membantu organisasi melindungi informasi sensitif dalam database mereka. Ini memungkinkan Anda untuk menentukan aturan masking untuk kolom tertentu, memastikan bahwa hanya pengguna yang berwenang yang melihat data asli sambil menyembunyikannya untuk orang lain. Masking data dinamis menyediakan lapisan keamanan tambahan dengan mengubah data yang disajikan secara dinamis kepada pengguna, berdasarkan izin akses mereka.

Untuk informasi selengkapnya, lihat Masking data dinamis di pergudangan data Fabric.

Prasyarat

Sebelum memulai, pastikan Anda memiliki hal berikut:

  1. Ruang kerja Microsoft Fabric dengan kapasitas aktif atau kapasitas uji coba.
  2. Sebuah Gudang.
    1. Masking data dinamis berfungsi pada titik akhir analitik SQL. Anda dapat menambahkan masker ke kolom yang sudah ada menggunakan ALTER TABLE ... ALTER COLUMN seperti yang ditunjukkan nanti di artikel ini.
    2. Latihan ini menggunakan Gudang.
  3. Untuk mengelola, pengguna dengan hak Administrator, Anggota, atau Kontributor di ruang kerja, atau izin yang ditinggikan di Gudang.
    1. Dalam tutorial ini, "akun admin".
  4. Untuk menguji, pengguna tanpa hak Administrator, Anggota, atau Kontributor di ruang kerja, dan tanpa izin yang ditinggikan di Gudang.
    1. Dalam tutorial ini, "uji pengguna".

1. Koneksi

  1. Buka ruang kerja Fabric dan navigasikan ke Gudang tempat Anda ingin menerapkan masking data dinamis.
  2. Masuk menggunakan akun dengan akses yang ditingkatkan di Gudang, baik peran Admin/Anggota/Kontributor di ruang kerja atau Izin Kontrol di Gudang.

2. Mengonfigurasi masking data dinamis

  1. Masuk ke portal Fabric dengan akun admin Anda.

  2. Di ruang kerja Fabric, navigasikan ke Gudang Anda.

  3. Pilih opsi Kueri SQL Baru, dan di bawah Kosong, pilih Kueri SQL baru.

  4. Dalam skrip SQL Anda, tentukan aturan masking data dinamis menggunakan MASKED WITH FUNCTION klausul . Contohnya:

    CREATE TABLE dbo.EmployeeData (
        EmployeeID INT
        ,FirstName VARCHAR(50) MASKED WITH (FUNCTION = 'partial(1,"-",2)') NULL
        ,LastName VARCHAR(50) MASKED WITH (FUNCTION = 'default()') NULL
        ,SSN CHAR(11) MASKED WITH (FUNCTION = 'partial(0,"XXX-XX-",4)') NULL
        ,email VARCHAR(256) NULL
        );
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (1, 'TestFirstName', 'TestLastName', '123-45-6789','email@youremail.com');
    GO
    INSERT INTO dbo.EmployeeData
        VALUES (2, 'First_Name', 'Last_Name', '000-00-0000','email2@youremail2.com');
    GO
    
    • Kolom FirstName hanya memperlihatkan dua karakter pertama dan terakhir dari string, dengan - di tengah.
    • Kolom LastName memperlihatkan XXXX.
    • Kolom SSN menunjukkan XXX-XX- diikuti oleh empat karakter terakhir string.
  5. Pilih tombol Jalankan untuk menjalankan skrip.

  6. Konfirmasikan eksekusi skrip.

  7. Skrip akan menerapkan aturan masking data dinamis yang ditentukan ke kolom yang ditunjuk dalam tabel Anda.

3. Uji masking data dinamis

Setelah aturan masking data dinamis diterapkan, Anda dapat menguji masking dengan mengkueri tabel dengan pengguna uji yang tidak memiliki hak Administrator, Anggota, atau Kontributor di ruang kerja, atau izin yang ditinggikan di Gudang.

  1. Masuk ke alat seperti Azure Data Studio atau SQL Server Management Studio sebagai pengguna uji, misalnya TestUser@contoso.com.
  2. Sebagai pengguna uji, jalankan kueri terhadap tabel. Data bertopeng ditampilkan sesuai dengan aturan yang Anda tentukan.
    SELECT * FROM dbo.EmployeeData;
    
  3. Dengan akun admin Anda, berikan UNMASK izin dari pengguna uji.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Sebagai pengguna uji, verifikasi bahwa pengguna masuk seperti TestUser@contoso.com yang dapat melihat data yang tidak dimasak.
    SELECT * FROM dbo.EmployeeData;
    
  5. Dengan akun admin Anda, cabut UNMASK izin dari pengguna uji.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Verifikasi bahwa pengguna uji tidak dapat melihat data yang tidak dimasak, hanya data yang ditutupi.
    SELECT * FROM dbo.EmployeeData;
    
  7. Dengan akun admin, Anda dapat memberikan dan mencabut UNMASK izin ke peran
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Mengelola dan memodifikasi aturan masking data dinamis

Untuk mengelola atau mengubah aturan masking data dinamis yang ada, buat skrip SQL baru.

  1. Anda dapat menambahkan masker ke kolom yang sudah ada, menggunakan MASKED WITH FUNCTION klausa:

    ALTER TABLE dbo.EmployeeData
    ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()');
    GO
    
    ALTER TABLE dbo.EmployeeData 
    ALTER COLUMN [email] DROP MASKED;
    

5. Pembersihan

  1. Untuk membersihkan tabel pengujian ini:
    DROP TABLE dbo.EmployeeData;