Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:✅ Titik akhir analitik SQL dan Gudang di Microsoft Fabric
Masking data dinamis adalah fitur perlindungan data yang membatasi paparan data sensitif dengan menutupinya kepada pengguna yang tidak memiliki hak istimewa. Ini menyederhanakan desain dan pengodean keamanan dalam aplikasi Anda.
Masking data dinamis membantu mencegah tampilan data sensitif yang tidak sah. Administrator menentukan berapa banyak data sensitif yang akan diungkapkan, dengan efek minimal pada lapisan aplikasi. Anda dapat mengonfigurasi masking data dinamis pada bidang database yang ditunjuk untuk menyembunyikan data sensitif dalam kumpulan hasil kueri. Data dalam database tidak diubah, sehingga aplikasi yang ada dapat terus berfungsi tanpa modifikasi karena aturan masking diterapkan ke hasil kueri. Banyak aplikasi dapat menutupi data sensitif tanpa memodifikasi kueri yang ada.
Masking data dinamis menyediakan kemampuan ini:
- Kebijakan masking data pusat bertindak langsung pada bidang sensitif dalam database.
- Pengguna atau peran istimewa dapat ditunjuk untuk mengakses data sensitif.
- Anda memiliki opsi masking untuk dipilih: masking penuh dan fungsi masking parsial, dan masker acak untuk data numerik.
- Perintah Transact-SQL sederhana menentukan dan mengelola masker.
Masking data dinamis tidak mencegah pengguna database terhubung langsung ke database dan menjalankan kueri lengkap yang mengekspos potongan data sensitif. Gunakan masking data dinamis bersama dengan fitur keamanan Fabric lainnya seperti keamanan tingkat kolom dan keamanan tingkat baris untuk melindungi data sensitif dalam database.
Fungsi penyamaran data dinamis
Tentukan aturan masking pada kolom dalam tabel untuk mengaburkan data di kolom tersebut. Tersedia empat jenis masker.
| Fungsi | Deskripsi | Contoh |
|---|---|---|
| Bawaan | Masking penuh sesuai dengan jenis data bidang yang ditunjuk. Untuk jenis data string, gunakan XXXX (atau kurang) jika ukuran bidang kurang dari 4 karakter (karakter, nchar, varchar, nvarchar, teks, ntext).Untuk jenis data numerik, gunakan nilai nol (bigint, bit, desimal, int, uang, numerik, smallint, smallmoney, tinyint, float, real). Untuk jenis data tanggal dan waktu, gunakan 1900-01-01 00:00:00.0000000 (tanggal, tanggalwaktu2, tanggalwaktu, datetimeoffset, smalldatetime, waktu).Untuk jenis data biner, gunakan satu byte nilai ASCII 0 (biner, varbinary, image). |
Contoh sintaks definisi kolom: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULLContoh sintaksis perubahan: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()') |
Metode masking yang mengekspos huruf pertama alamat email dan akhiran konstan ".com", dalam bentuk alamat email.
aXXX@XXXX.com. |
Contoh sintaks definisi: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULLContoh sintaksis perubahan: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()') |
|
| Acak | Fungsi masking acak untuk digunakan pada jenis numerik apa pun untuk menutupi nilai asli dengan nilai acak dalam rentang tertentu. | Contoh sintaks definisi: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])')Contoh sintaksis perubahan: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)') |
| String Kustom | Metode masking yang mengekspos huruf pertama dan terakhir dan menambahkan string padding kustom di tengah. prefix,[padding],suffixJika nilai asli terlalu pendek untuk memenuhi seluruh mask, sebagian awalan atau akhiran tidak ditampilkan. |
Contoh sintaks definisi: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULLContoh sintaksis perubahan: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')Ini mengubah nomor telepon seperti 555.123.1234 menjadi 5XXXXXXX. Contoh tambahan: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)') Ini mengubah nomor telepon seperti 555.123.1234 menjadi 555.1XXXXXXX. |
Untuk contoh selengkapnya, lihat Cara menerapkan masking data dinamis di Fabric Data Warehouse.
Izin akses untuk penyamaran data dinamis
Di Fabric Data Warehouse, pengguna akan melihat data yang dimask saat mereka membuat kueri pada kolom yang dimask jika mereka bukan anggota peran Administrator, Member, atau Contributor di ruang kerja, atau tidak memiliki izin tingkat lanjut pada Warehouse.
Tabel berikut mencantumkan izin yang diperlukan untuk setiap operasi masking data dinamis:
| Operation | Izin yang diperlukan |
|---|---|
| Buat tabel yang memiliki kolom yang dimask |
CREATE TABLE dan ALTER pada skema |
| Menambahkan, mengganti, atau menghapus masker pada kolom |
ALTER ANY MASK dan ALTER di atas meja |
| Menampilkan data yang diselubungi |
SELECT di atas meja |
| Menampilkan data yang tidak dimasak |
UNMASK pada kolom atau CONTROL pada database |
Berikan ALTER ANY MASK kepada petugas keamanan. Berikan UNMASK kepada pengguna agar pengguna tersebut dapat mengambil data tanpa masker dari kolom termasker.
Izin CONTROL pada database mencakup ALTER ANY MASK dan UNMASK, sehingga pengguna yang memiliki CONTROL dapat melihat data yang tidak dimask. Pengguna atau peran administratif seperti Admin, Anggota, atau Kontributor memiliki CONTROL izin pada database berdasarkan desain dan dapat melihat data yang tidak dimasak secara default. Izin tingkat lanjut pada Gudang mencakup izin CONTROL.
Pertimbangan keamanan: menembus penyamaran dengan menggunakan teknik inferensi atau brute force
Masking data dinamis menyederhanakan pengembangan aplikasi dengan membatasi paparan data dalam serangkaian kueri yang telah ditentukan sebelumnya yang digunakan aplikasi. Meskipun masking data dinamis juga dapat membantu mencegah paparan data sensitif yang tidak disengaja saat mengakses data secara langsung, pengguna yang tidak memiliki hak istimewa dengan izin kueri dapat menggunakan teknik untuk menyimpulkan data aktual.
Misalnya, pengguna yang memiliki izin untuk menjalankan kueri di gudang dapat menebak nilai untuk menyimpulkan data yang ditutupi. Asumsikan bahwa Anda menentukan masker pada [Employee].[Salary] kolom. Pengguna terhubung langsung ke database dan mulai menebak nilai, akhirnya menyimpulkan [Salary] nilai dalam Employees tabel. Mereka menjalankan sebuah kueri rentang terhadap tabel Employees:
SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;
Kueri mengembalikan:
| ID | Nama | Gaji |
|---|---|---|
| 62543 | Jane Doe | 0 |
| 91245 | Yohanes Smith | 0 |
Meskipun Salary kolom ditutupi (nilai ditampilkan sebagai 0), WHERE klausa mengonfirmasi bahwa kedua karyawan memiliki gaji antara $ 99.999 dan $ 100.001. Jangan gunakan penyamaran data dinamis saja untuk sepenuhnya melindungi data sensitif dari pengguna yang memiliki akses untuk membuat kueri ke Warehouse atau titik akhir analitik SQL. Masking data dinamis sesuai untuk mencegah paparan data sensitif yang tidak disengaja, tetapi tidak melindungi dari niat jahat untuk menyimpulkan data yang mendasar.
Kelola keamanan tingkat objek dengan benar dengan izin terperinci SQL, dan selalu ikuti prinsip hak istimewa paling sedikit.
Konten terkait
- Peran ruang kerja dalam pergudangan data Fabric
- Keamanan tingkat kolom di pergudangan data Fabric
- Keamanan tingkat baris di pergudangan data Fabric
- Keamanan untuk pergudangan data di Microsoft Fabric