Come implementare la maschera dati dinamica in Fabric Data Warehouse
Si applica a:✅ endpoint di Analisi SQL e Warehouse in Microsoft Fabric
Dynamic Data Masking è una tecnologia di protezione dei dati all'avanguardia che consente alle organizzazioni di proteggere le informazioni riservate all'interno dei database. Consente di definire regole di maschera per colonne specifiche, assicurandosi che solo gli utenti autorizzati visualizzino i dati originali nascondendoli per altri utenti. Dynamic Data Masking offre un ulteriore livello di sicurezza modificando dinamicamente i dati presentati agli utenti, in base alle autorizzazioni di accesso.
Per altre informazioni, vedere Dynamic Data Masking nel data warehousing di Fabric.
Prerequisiti
Prima di iniziare, verificare di disporre di quanto segue:
- Un'area di lavoro di Microsoft Fabric con capacità attiva o capacità di valutazione.
- Un warehouse.
- Dynamic Data Masking funziona nell'endpoint di analisi SQL. È possibile aggiungere maschere alle colonne esistenti usando
ALTER TABLE ... ALTER COLUMN
come illustrato più avanti in questo articolo. - Questo esercizio usa un warehouse.
- Dynamic Data Masking funziona nell'endpoint di analisi SQL. È possibile aggiungere maschere alle colonne esistenti usando
- Per amministrare, un utente con diritti di amministratore, membro o collaboratore nell'area di lavoro o autorizzazioni elevate nel warehouse.
- In questa esercitazione, "account amministratore".
- Per testare, un utente senza diritti di amministratore, membro o collaboratore per l'area di lavoro e senza autorizzazioni elevate per il warehouse.
- In questa esercitazione, "utente di test".
1. Connettersi
- Aprire l'area di lavoro Fabric e passare al warehouse a cui applicare Dynamic Data Masking.
- Accedere usando un account con accesso con privilegi elevati nel warehouse, ruolo Amministratore/Membro/Collaboratore nell'area di lavoro o Autorizzazioni di controllo nel warehouse.
2. Configurare Dynamic Data Masking
Accedere al portale di Fabric con il proprio account amministratore.
Nell'area di lavoro Infrastruttura passare al magazzino.
Selezionare l'opzione Nuova query SQL e in Vuoto selezionare Nuova query SQL.
Nello script SQL definire regole di maschera dati dinamiche usando la clausola
MASKED WITH FUNCTION
. Ad esempio: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
- La colonna
FirstName
mostra solo i primi e gli ultimi due caratteri della stringa, con-
al centro. - La colonna
LastName
mostraXXXX
. - La colonna
SSN
mostraXXX-XX-
seguita dagli ultimi quattro caratteri della stringa.
- La colonna
Selezionare il pulsante Esegui per eseguire lo script.
Confermare tipo di esecuzione dello script.
Lo script applicherà le regole di Dynamic Data Masking specificate alle colonne designate nella tabella.
3. Provare Dynamic Data Masking.
Dopo aver applicato le regole di Dynamic Data Masking, è possibile testare la maschera eseguendo una query sulla tabella con un utente di test che non dispone dei diritti di amministratore, membro o collaboratore per l'area di lavoro o autorizzazioni elevate per il warehouse.
- Accedere a uno strumento come Azure Data Studio o SQL Server Management Studio come utente di test, ad esempio TestUser@contoso.com.
- Come utente di test, eseguire una query sulla tabella. I dati mascherati vengono visualizzati in base alle regole definite.
SELECT * FROM dbo.EmployeeData;
- Con l'account amministratore concedere l'autorizzazione
UNMASK
all'utente di test.GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
- Come utente di test, verificare che l’utente con l'accesso come TestUser@contoso.com possa visualizzare i dati non mascherati.
SELECT * FROM dbo.EmployeeData;
- Con l'account amministratore revocare l'autorizzazione
UNMASK
all'utente di test.REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
- Verificare che l'utente di test non possa visualizzare i dati non mascherati, ma solo i dati mascherati.
SELECT * FROM dbo.EmployeeData;
- Con l'account amministratore, è possibile concedere e revocare l'autorizzazione
UNMASK
a un ruoloGRANT UNMASK ON dbo.EmployeeData TO [TestRole]; REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
4. Gestire e modificare le regole di Dynamic Data Masking
Per gestire o modificare le regole di Dynamic Data Masking esistenti, creare un nuovo script SQL.
È possibile aggiungere una maschera a una colonna esistente usando la clausola
MASKED WITH FUNCTION
:ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()'); GO
ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] DROP MASKED;
5. Pulizia
- Per pulire questa tabella di test:
DROP TABLE dbo.EmployeeData;