Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:✅ Microsoft Fabric'te SQL analiz uç noktası ve Ambarı
Dinamik veri maskeleme, hassas verilerin açığa çıkarma özelliğini ayrıcalıksız kullanıcılarla maskeleyerek sınırlayan bir veri koruma özelliğidir. Uygulamanızda güvenliğin tasarımını ve kodlamasını basitleştirir.
Dinamik veri maskeleme, hassas verilerin yetkisiz görüntülenmesini önlemeye yardımcı olur. Yöneticiler, uygulama katmanı üzerinde en az etkiyle ne kadar hassas verilerin ortaya çıkarılacağını belirtir. Sorgu sonuç kümelerindeki hassas verileri gizlemek için, belirlenen veritabanı alanlarında dinamik veri maskeleme yapılandırabilirsiniz. Veritabanındaki veriler değiştirilmediğinden, sorgu sonuçlarına maskeleme kuralları uygulandığından mevcut uygulamalar değişiklik yapmadan çalışmaya devam edebilir. Birçok uygulama, var olan sorguları değiştirmeden hassas verileri maskeleyebilir.
Dinamik veri maskeleme şu özellikleri sağlar:
- Merkezi veri maskeleme ilkesi doğrudan veritabanındaki hassas alanlar üzerinde çalışır.
- Hassas verilere erişmek için ayrıcalıklı kullanıcılar veya roller belirlenebilir.
- Aralarından seçim yapabileceğiniz maskeleme seçenekleriniz vardır: tam maskeleme ve kısmi maskeleme işlevleri ve sayısal veriler için rastgele bir maske.
- Basit Transact-SQL komutları maskeleri tanımlar ve yönetir.
Dinamik veri maskeleme, veritabanı kullanıcılarının doğrudan veritabanına bağlanmasını ve hassas verilerin parçalarını kullanıma sunan kapsamlı sorgular çalıştırmasını engellemez. Veritabanındaki hassas verileri korumak için sütun düzeyinde güvenlik ve satır düzeyi güvenlik gibi diğer Fabric güvenlik özellikleriyle birlikte dinamik veri maskeleme kullanın.
Dinamik veri maskeleme işlevleri
Tablodaki bir sütundaki verileri karartmak için bir maskeleme kuralı tanımlayın. Dört maske türü mevcuttur.
| İşlev | Açıklama | Örnekler |
|---|---|---|
| Varsayılan | Belirlenen alanların veri türlerine göre tam maskeleme. Dize veri türleri için, alanın boyutu 4 karakterden azsa XXXX (veya daha az) kullanın (char, nchar, varchar, nvarchar, text, ntext).Sayısal veri türleri için sıfır değeri kullanın (bigint, bit, ondalık, int, para, sayısal, smallint, smallmoney, tinyint, float, real). Tarih ve saat veri türleri için 1900-01-01 00:00:00.0000000 kullanın (date, datetime2, datetime, datetimeoffset, smalldatetime, time).İkili veri türleri için ASCII değeri 0'ın tek bir baytını (ikili, varbinary, görüntü) kullanın. |
Örnek sütun tanımı söz dizimi: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULLDeğişiklik söz dizimi örneği: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()') |
| E-posta | E-posta adresinin ilk harfini ve ".com" sabit sonekini e-posta adresi biçiminde kullanıma sunan maskeleme yöntemi.
aXXX@XXXX.com. |
Örnek tanım söz dizimi: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULLDeğişiklik söz dizimi örneği: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()') |
| Rasgele | Belirtilen aralıktaki rastgele bir değerle özgün değeri maskeleme amacıyla herhangi bir sayısal türde kullanılan rastgele bir maskeleme işlevi. | Örnek tanım söz dizimi: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])')Değişiklik söz dizimi örneği: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)') |
| Özel Dize | İlk ve son harfleri görünür bırakan ve ortasına özel bir dolgu dizesi ekleyen maskeleme yöntemi. prefix,[padding],suffixÖzgün değer maskenin tamamını tamamlayamayacak kadar kısaysa, ön ekin veya son ekin bir bölümü gösterilmez. |
Örnek tanım söz dizimi: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULLDeğişiklik söz dizimi örneği: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')Bu, 555.123.1234 gibi bir telefon numarasını 5XXXXXXX biçimine dönüştürür. Ek örnek: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)') Bu, 555.123.1234 gibi bir telefon numarasını 555.1XXXXXXX'e dönüştürür. |
Daha fazla örnek için bkz: dinamik veri maskelemenin Fabric Data Warehouse'ta nasıl uygulanacağı.
Dinamik veri maskeleme izinleri
Fabric Data Warehouse’da, çalışma alanında Yönetici, Üye veya Katılımcı rollerinin üyesi olmayan ya da Veri Ambarı üzerinde yükseltilmiş izinlere sahip olmayan kullanıcılar, maskelenmiş sütunları sorguladıklarında maskelenmiş verileri görür.
Aşağıdaki tabloda her dinamik veri maskeleme işlemi için gereken izinler listeleniyor:
| Operation | Gerekli izin |
|---|---|
| Maskelenmiş sütunları olan bir tablo oluşturma |
CREATE TABLE ve ALTER şemada |
| Bir sütuna maske ekleyin, değiştirin veya kaldırın |
ALTER ANY MASK ve ALTER tabloda |
| Maskelenmiş verileri görüntüleme |
SELECT masanın üzerinde |
| Maskelenmemiş verileri görüntüleme |
UNMASK sütunda veya CONTROL veritabanında |
Bir güvenlik görevlisine ALTER ANY MASK verin. Bir kullanıcının maskelenmiş sütunlardan maskelenmemiş verileri alabilmesi için kullanıcıya UNMASK verin.
Veritabanındaki CONTROL izni, hem ALTER ANY MASK hem de UNMASK izinlerini içerir; bu nedenle CONTROL iznine sahip kullanıcılar maskelenmemiş verileri görüntüleyebilir. Yönetici kullanıcılar veya Admin, Member ya da Contributor gibi roller, tasarım gereği veritabanı üzerinde CONTROL iznine sahiptir ve varsayılan olarak maskelenmemiş verileri görüntüleyebilir. Depo üzerindeki yükseltilmiş izinler, CONTROL iznini içerir.
Güvenlik hususu: çıkarım veya kaba kuvvet teknikleri kullanarak maskelemeyi atlatma
Dinamik veri maskeleme, uygulamanın kullandığı önceden tanımlanmış bir dizi sorguda veri açığa çıkarma özelliğini sınırlayarak uygulama geliştirmeyi basitleştirir. Dinamik veri maskeleme, verilere doğrudan erişirken hassas verilerin yanlışlıkla açığa çıkmasını önlemeye de yardımcı olsa da, sorgu izinlerine sahip ayrıcalıksız kullanıcılar gerçek verileri çıkarsamak için teknikleri kullanabilir.
Örneğin, ambarda sorgu çalıştırma izni olan bir kullanıcı maskelenmiş verileri çıkarsamak için değerleri tahmin edebilir.
[Employee].[Salary] sütununda bir maske tanımladığınızı varsayın. Kullanıcı doğrudan veritabanına bağlanır ve değerleri tahmin etmeye başlar ve sonunda tablodaki [Salary] değeri çıkartırEmployees.
Employees tablosuna karşı bir aralık sorgusu çalıştırırlar:
SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;
Sorgu şunu döndürür:
| Kimlik | Veri Akışı Adı | Maaş |
|---|---|---|
| 62543 | Jane Doe | 0 |
| 91245 | John Smith | 0 |
Salary sütunu maskelenmiş olsa da (değerler 0 olarak görüntülense de), WHERE ifadesi her iki çalışanın da maaşının 99.999 ABD doları ile 100.001 ABD doları arasında olduğunu doğrular. Ambar veya SQL analiz uç noktasına sorgu erişimi olan kullanıcılardan gelen hassas verilerin güvenliğini tamamen sağlamak için dinamik veri maskeleme özelliğini tek başına kullanmayın. Dinamik veri maskeleme, yanlışlıkla hassas verilerin açığa çıkmasını önlemek için uygundur, ancak temel alınan verileri çıkarsamak için kötü amaçlı amaçlara karşı koruma sağlamaz.
SQL ayrıntılı izinleriyle nesne düzeyinde güvenliği düzgün bir şekilde yönetin ve her zaman en düşük ayrıcalık ilkesini izleyin.
İlgili içerik
- Fabric'te veri ambarı çalışma alanı rolleri
- Fabric veri ambarlamada sütun düzeyinde güvenlik
- Fabric veri ambarlamasında satır düzeyi güvenlik
- Microsoft Fabric'te veri ambarı güvenliği