Share via


Come implementare la maschera dati dinamica in Synapse Data Warehouse

Si applica a: Endpoint di analisi SQL e Warehouse in Microsoft Fabric

La maschera dati dinamica è 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. La maschera dati dinamica offre un ulteriore livello di sicurezza modificando dinamicamente i dati presentati agli utenti, in base alle autorizzazioni di accesso.

Per altre informazioni, vedere Maschera dati dinamica in Fabric data warehousing.

Prerequisiti

Prima di iniziare, assicurarsi di disporre dei seguenti elementi:

  1. Un'area di lavoro di Microsoft Fabric con capacità attiva o capacità di valutazione.
  2. Un magazzino.
    1. La maschera dati dinamica 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 Amministrazione istrator, membro o collaboratore nell'area di lavoro o autorizzazioni elevate per il warehouse.
    1. In questa esercitazione, l'"account amministratore".
  4. Per testare, un utente senza diritti di Amministrazione istrator, membro o collaboratore per l'area di lavoro e senza autorizzazioni elevate per il warehouse.
    1. In questa esercitazione, l'utente di test.

1. Connettersi

  1. Aprire l'area di lavoro Infrastruttura e passare al warehouse a cui applicare la maschera dati dinamica.
  2. Accedere usando un account con accesso con privilegi elevati nel warehouse, Amministrazione/ruolo Membro/Collaboratore nell'area di lavoro o Autorizzazioni di controllo nel magazzino.

2. Configurare la maschera dati dinamica

  1. Accedere al portale di Fabric con l'account amministratore.

  2. Nell'area di lavoro Infrastruttura passare all'endpoint di analisi di Warehouse e SQL per Lakehouse.

  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 maschera dati dinamiche specificate alle colonne designate nella tabella.

3. Testare la maschera dati dinamica

Dopo aver applicato le regole di maschera dati dinamica, è possibile testare la maschera eseguendo una query sulla tabella con un utente di test che non dispone dei diritti di Amministrazione istrator, Membro o Collaboratore per l'area di lavoro o autorizzazioni elevate per il warehouse.

  1. Accedere a uno strumento come Azure Data Studio o SQL Server Management Studio come utente di test, ad esempio TestUser@contoso.com.
  2. Come utente di test, eseguire 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 abbia eseguito l'accesso come TestUser@contoso.com può visualizzare i dati non mascherati.
    SELECT * FROM dbo.EmployeeData;
    
  5. Con l'account amministratore revocare l'autorizzazione UNMASK all'utente di test.
    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 maschera dati dinamiche

Per gestire o modificare le regole di maschera dati dinamiche 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;