Aracılığıyla paylaş


Doku Veri Ambarı'nda dinamik veri maskelemeyi uygulama

Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı

Dinamik veri maskeleme, kuruluşların veritabanlarındaki hassas bilgileri korumalarına yardımcı olan son teknolojilerdendir. Belirli sütunlar için maskeleme kuralları tanımlamanıza olanak sağlayarak özgün verileri yalnızca yetkili kullanıcıların görmesini ve diğer kullanıcılar için gizlemesini sağlar. Dinamik veri maskeleme, kullanıcılara sunulan verileri erişim izinlerine göre dinamik olarak değiştirerek ek bir güvenlik katmanı sağlar.

Daha fazla bilgi için bkz . Doku veri ambarında dinamik veri maskeleme.

Önkoşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  1. Etkin kapasite veya deneme kapasitesine sahip bir Microsoft Fabric çalışma alanı.
  2. Bir Ambar.
    1. Dinamik veri maskeleme, SQL analiz uç noktasında çalışır. Bu makalenin devamında gösterildiği gibi kullanarak ALTER TABLE ... ALTER COLUMN mevcut sütunlara maske ekleyebilirsiniz.
    2. Bu alıştırmada Bir Ambar kullanılır.
  3. Yönetmek için, çalışma alanında Yönetici, Üye veya Katkıda Bulunan haklarına veya Ambar üzerinde yükseltilmiş izinlere sahip bir kullanıcı.
    1. Bu öğreticide ,"yönetici hesabı".
  4. Test etmek için, çalışma alanında Yönetici, Üye veya Katkıda Bulunan hakları olmayan ve Ambar üzerinde yükseltilmiş izinleri olmayan bir kullanıcı.
    1. Bu öğreticide , "test kullanıcısı".

1. Bağlan

  1. Doku çalışma alanını açın ve dinamik veri maskelemesini uygulamak istediğiniz Ambar'a gidin.
  2. Çalışma alanında Yönetici/Üye/Katkıda Bulunan rolü veya Ambardaki Denetim İzinleri olmak üzere, Ambar'da yükseltilmiş erişime sahip bir hesap kullanarak oturum açın.

2. Dinamik veri maskeleyi yapılandırma

  1. Doku portalında yönetici hesabınızla oturum açın.

  2. Doku çalışma alanında Ambarınıza gidin.

  3. Yeni SQL sorgusu seçeneğini belirleyin ve Boş'un altında Yeni SQL sorgusu'na tıklayın.

  4. SQL betiğinizde yan tümcesini MASKED WITH FUNCTION kullanarak dinamik veri maskeleme kuralları tanımlayın. Örneğin:

    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
    
    • Sütunda FirstName dizenin yalnızca ilk ve son iki karakteri - gösterilir ve ortada yer alır.
    • LastName sütununda gösterilirXXXX.
    • Sütunun SSN ardından dizenin son dört karakteri gösterilir XXX-XX- .
  5. Betiği yürütmek için Çalıştır düğmesini seçin.

  6. Betiğin yürütülmesini onaylayın.

  7. Betik, tablonuzda belirlenen sütunlara belirtilen dinamik veri maskeleme kurallarını uygular.

3. Dinamik veri maskeleme testi

Dinamik veri maskeleme kuralları uygulandıktan sonra, çalışma alanında Yönetici, Üye veya Katkıda Bulunan haklarına veya Ambar üzerinde yükseltilmiş izinlere sahip olmayan bir test kullanıcısıyla tabloyu sorgulayarak maskelemesi test edebilirsiniz.

  1. Azure Data Studio veya SQL Server Management Studio gibi bir araçta test kullanıcısı olarak oturum açın, örneğin TestUser@contoso.com.
  2. Test kullanıcısı olarak tabloda bir sorgu çalıştırın. Maskelenen veriler, tanımladığınız kurallara göre görüntülenir.
    SELECT * FROM dbo.EmployeeData;
    
  3. Yönetici hesabınızla test kullanıcısından izin verin UNMASK .
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Test kullanıcısı olarak, bir kullanıcının maskelenmemiş verileri görebildiği şekilde TestUser@contoso.com oturum açtığını doğrulayın.
    SELECT * FROM dbo.EmployeeData;
    
  5. Yönetici hesabınızla test kullanıcısının UNMASK iznini iptal edin.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Test kullanıcısının maskelenmemiş verileri, yalnızca maskelenmiş verileri göremediğini doğrulayın.
    SELECT * FROM dbo.EmployeeData;
    
  7. Yönetici hesabınızla, bir rol için izin verebilir ve iptal UNMASK edebilirsiniz
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Dinamik veri maskeleme kurallarını yönetme ve değiştirme

Mevcut dinamik veri maskeleme kurallarını yönetmek veya değiştirmek için yeni bir SQL betiği oluşturun.

  1. Şu yan tümcesini kullanarak mevcut bir sütuna MASKED WITH FUNCTION maske ekleyebilirsiniz:

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

5. Temizleme

  1. Bu test tablosunu temizlemek için:
    DROP TABLE dbo.EmployeeData;