Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:✅ endpoint di analisi SQL e Warehouse in Microsoft Fabric
La maschera dati dinamica è una funzionalità di protezione dei dati che limita l'esposizione dei dati sensibili mascherandola agli utenti senza privilegi. Semplifica la progettazione e la codifica della sicurezza nell'applicazione.
La maschera dati dinamica consente di impedire la visualizzazione non autorizzata dei dati sensibili. Gli amministratori specificano la quantità di dati sensibili da rivelare, con un effetto minimo sul livello dell'applicazione. È possibile configurare la maschera dati dinamica nei campi di database designati per nascondere i dati sensibili nei set di risultati delle query. I dati nel database non vengono modificati, quindi le applicazioni esistenti possono continuare a funzionare senza modifiche perché le regole di maschera vengono applicate ai risultati della query. Molte applicazioni sono in grado di mascherare i dati sensibili senza modificare le query esistenti.
La maschera dati dinamica offre queste funzionalità:
- I criteri di mascheramento dei dati centrali operano direttamente sui campi sensibili del database.
- Gli utenti o i ruoli con privilegi possono essere designati per accedere ai dati sensibili.
- Sono disponibili opzioni di maschera da scegliere: maschera completa e funzioni di maschera parziale e maschera casuale per i dati numerici.
- Semplici comandi Transact-SQL definiscono e gestiscono le maschere.
La maschera dati dinamica non impedisce agli utenti del database di connettersi direttamente al database ed eseguire query complete che espongono parti dei dati sensibili. Usare la maschera dati dinamica insieme ad altre funzionalità di sicurezza Fabric come la sicurezza a livello di colonna e la sicurezza a livello di riga per proteggere i dati sensibili nel database.
Funzioni di maschera dati dinamica
Definire una regola di maschera su una colonna di una tabella per offuscare i dati in tale colonna. Sono disponibili quattro tipi di maschere.
| Funzione | Descrizione | Esempi |
|---|---|---|
| Predefinito | Maschera completa in base al tipo di dati dei campi designati. Per i tipi di dati stringa, usare XXXX (o meno) se le dimensioni del campo sono inferiori a 4 caratteri (char, nchar, varchar, nvarchar, text, ntext).Per il tipo di dati numerici, usare il valore zero (bigint, bit, decimal, int, money, numeric, smallint, smallmoney, tinyint, float, real). Per i tipi di dati di data/ora, usare 1900-01-01 00:00:00.0000000 (date, datetime2, datetime, datetimeoffset, smalldatetime, time).Per i tipi di dati binati, usare un singolo byte di valore 0 ASCII (binary, varbinary, image). |
Esempio di sintassi di definizione della colonna: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULLEsempio di sintassi di alter: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()') |
Metodo di maschera che espone la prima lettera di un indirizzo di posta elettronica e il suffisso costante ".com", sotto forma di un indirizzo di posta elettronica.
aXXX@XXXX.com. |
Esempio di sintassi di definizione: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULLEsempio della sintassi di alter: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()') |
|
| Casuale | Una funzione di maschera casuale per l'uso in qualsiasi tipo numerico al fine di mascherare il valore originale con un valore casuale in un intervallo specificato. | Esempio di sintassi di definizione: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])')Esempio di sintassi di modifica: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)') |
| Stringa personalizzata | Metodo di maschera che espone la prima e l'ultima lettera e aggiunge al centro una stringa di riempimento personalizzata. prefix,[padding],suffixSe il valore originale è troppo breve per completare l'intera maschera, la parte del prefisso o del suffisso non viene esposta. |
Esempio di sintassi di definizione: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULLEsempio di sintassi di alter: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)')Questo trasforma un numero di telefono come 555.123.1234 in 5XXXXXXX. Esempio aggiuntivo: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)') Questo trasforma un numero di telefono come 555.123.1234 in 555.1XXXXXXX. |
Per altri esempi, vedere Come implementare la maschera dati dinamica in Fabric Data Warehouse.
Autorizzazioni per la maschera dati dinamica
In Fabric Data Warehouse gli utenti visualizzano i dati mascherati quando eseguono query sulle colonne mascherate se non sono membri dei ruoli Amministratore, Membro o Collaboratore nell'area di lavoro o non dispongono di autorizzazioni elevate per il warehouse.
Nella tabella seguente sono elencate le autorizzazioni necessarie per ogni operazione di maschera dati dinamica:
| Operation | Autorizzazione necessaria |
|---|---|
| Creare una tabella con colonne mascherate |
CREATE TABLE e ALTER nello schema |
| Aggiungere, sostituire o rimuovere una maschera in una colonna |
ALTER ANY MASK e ALTER sulla tabella |
| Visualizzare i dati mascherati |
SELECT sul tavolo |
| Visualizzare i dati non mascherati |
UNMASK nella colonna o CONTROL nel database |
Concedi ALTER ANY MASK a un responsabile della sicurezza. Concedi UNMASK a un utente per consentirgli di recuperare dati non mascherati da colonne mascherate.
L'autorizzazione CONTROL nel database include sia ALTER ANY MASK che UNMASK, quindi gli utenti che dispongono di CONTROL possono visualizzare i dati non mascherati. Gli utenti amministratori o i ruoli, ad esempio Amministratore, Membro o Collaboratore, dispongono CONTROL dell'autorizzazione per il database in base alla progettazione e possono visualizzare i dati non mascherati per impostazione predefinita. Le autorizzazioni elevate per il magazzino includono l'autorizzazione CONTROL.
Considerazioni sulla sicurezza: ignorare la maschera usando tecniche di inferenza o di forza bruta
La maschera dati dinamica semplifica lo sviluppo di applicazioni limitando l'esposizione dei dati in un set di query predefinite usate dall'applicazione. Anche se la maschera dati dinamica può anche contribuire a evitare l'esposizione accidentale dei dati sensibili durante l'accesso diretto ai dati, gli utenti senza privilegi con autorizzazioni di query possono usare tecniche per dedurre i dati effettivi.
Ad esempio, un utente che dispone dell'autorizzazione per eseguire query nel warehouse può indovinare i valori per dedurre i dati mascherati. Si supponga di definire una maschera nella [Employee].[Salary] colonna. L'utente si connette direttamente al database e inizia a indovinare i valori, deducendo infine il [Salary] valore nella Employees tabella. Eseguono una query di range sulla tabella Employees:
SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;
L'interrogazione restituisce:
| ID | Nome | Salario |
|---|---|---|
| 62543 | Jane Doe | 0 |
| 91245 | John Smith | 0 |
Anche se la Salary colonna è mascherata (i valori visualizzati come 0), la WHERE clausola conferma che entrambi i dipendenti hanno uno stipendio compreso tra $99.999 e $100.001. Non usare il mascheramento dinamico dei dati da solo per mettere completamente al sicuro i dati sensibili dagli utenti con accesso tramite query al Warehouse o all'endpoint di analisi SQL. La maschera dati dinamica è appropriata per impedire l'esposizione accidentale dei dati sensibili, ma non protegge da finalità dannose per dedurre i dati sottostanti.
Gestire correttamente la sicurezza a livello di oggetto con autorizzazioni granulari SQL e seguire sempre il principio dei privilegi minimi.
Contenuto correlato
- Ruoli dell'area di lavoro nel data warehousing di Fabric
- Sicurezza a livello di colonna in Fabric data warehousing
- Sicurezza a livello di riga nel data warehousing di Fabric
- Sicurezza per l'archiviazione dati in Microsoft Fabric