Condividi tramite


Come implementare il mascheramento dinamico dei dati nel Fabric Data Warehouse

Applica a:✅ endpoint di analisi SQL e magazzino dati 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 Mascheratura dinamica dei dati nel data warehouse di Fabric.

Prerequisiti

Prima di iniziare, verificare di disporre di quanto segue:

  1. Un'area di lavoro Microsoft Fabric con capacità attiva o capacità di prova.
  2. Un warehouse.
    1. 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.
    2. Questo esercizio usa un warehouse.
  3. Per amministrare, un utente con diritti di amministratore, membro o collaboratore nello spazio di lavoro o autorizzazioni elevate nel magazzino.
    1. In questa esercitazione, "account amministratore".
  4. Per testare, un utente senza diritti di Amministratore, Membro o Collaboratore per lo spazio di lavoro e senza permessi elevati sul Warehouse.
    1. In questa esercitazione, "utente di test".

1. Connettersi

  1. Aprire l'area di lavoro Fabric e passare al warehouse a cui applicare Dynamic Data Masking.
  2. 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 (mascheramento dinamico dei dati)

  1. Accedere al portale di Fabric con il proprio account amministratore.

  2. Nell'area di lavoro Fabric, vai al tuo Warehouse.

  3. Selezionare l'opzione Nuova query SQL e in Vuoto selezionare Nuova query SQL.

  4. Nello script SQL definire regole di maschera dati dinamiche usando la MASKED WITH FUNCTION clausola . 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 FirstName colonna mostra solo i primi e gli ultimi due caratteri della stringa, con - al centro.
    • La LastName colonna mostra XXXX.
    • La SSN colonna mostra XXX-XX- seguita dagli ultimi quattro caratteri della stringa.
  5. Selezionare il pulsante Esegui per eseguire lo script.

  6. Confermare l'esecuzione dello script.

  7. Lo script applicherà le regole di Dynamic Data Masking specificate alle colonne designate nella tabella.

3. Testare la mascheratura dinamica dei dati.

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.

  1. Accedere a uno strumento come SQL Server Management Studio (SSMS) o l'estensione MSSQL per Visual Studio Code come utente di test, ad esempio TestUser@contoso.com.
  2. Come utente di test, esegui una query sulla tabella. I dati mascherati vengono visualizzati in base alle regole definite.
    SELECT * FROM dbo.EmployeeData;
    
  3. Con l'account amministratore, concedere l'autorizzazione UNMASK all'utente di test.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Come utente di test, verificare che un utente connesso come TestUser@contoso.com possa visualizzare i dati non mascherati.
    SELECT * FROM dbo.EmployeeData;
    
  5. Con l'account dell'amministratore, revoca l'autorizzazione UNMASK all'utente di prova.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Verificare che l'utente di test non possa visualizzare i dati non mascherati, ma solo i dati mascherati.
    SELECT * FROM dbo.EmployeeData;
    
  7. Con l'account amministratore, è possibile concedere e revocare l'autorizzazione UNMASK a un ruolo
    GRANT 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.

  1. È possibile aggiungere una maschera a una colonna esistente usando la MASKED WITH FUNCTION clausola :

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

5. Pulizia

  1. Per pulire questa tabella di test:
    DROP TABLE dbo.EmployeeData;