Del via


Sådan implementerer du dynamisk datamaskering i Fabric Data Warehouse

Gælder for:✅ SQL-analyseendpoint og Warehouse i Microsoft Fabric

Dynamisk datamaskering er en banebrydende databeskyttelsesteknologi, der hjælper organisationer med at beskytte følsomme oplysninger i deres databaser. Det giver dig mulighed for at definere maskeringsregler for bestemte kolonner, så det kun er godkendte brugere, der kan se de oprindelige data, og samtidig skjule dem for andre. Dynamisk datamaskering giver et ekstra sikkerhedslag ved dynamisk at ændre de data, der præsenteres for brugerne, baseret på deres adgangstilladelser.

For mere information, se Dynamisk datamaskering i Fabric data warehousing.

Forudsætninger

Før du begynder, skal du sørge for, at du har følgende:

  1. Et Microsoft Fabric-arbejdsområde med aktiv kapacitet eller prøvekapacitet.
  2. Et lager.
    1. Dynamisk datamaskering fungerer på SQL Analytics-slutpunktet. Du kan tilføje masker til eksisterende kolonner ved at bruge ALTER TABLE ... ALTER COLUMN som vist senere i denne artikel.
    2. I denne øvelse bruges et lager.
  3. Hvis du vil administrere, skal du have en bruger med administrator-, medlems- eller bidragyderrettigheder til arbejdsområdet eller administratorrettigheder på lageret.
    1. I dette selvstudium er det "administratorkontoen".
  4. Hvis du vil teste det, skal du bruge en bruger uden administrator-, medlems- eller bidragyderrettigheder til arbejdsområdet og uden administratorrettigheder til lageret.
    1. I dette selvstudium er "testbrugeren".

1. Opret forbindelse

  1. Åbn arbejdsområdet Fabric, og naviger til det lager, du vil anvende dynamisk datamaskering på.
  2. Log på med en konto med administratoradgang på lageret, enten rollen Administrator/Medlem/Bidragyder i arbejdsområdet eller Kontroltilladelser på lageret.

2. Konfigurer dynamisk datamaskering

  1. Log på Fabric-portalen med din administratorkonto.

  2. I arbejdsområdet Fabric skal du navigere til dit lager.

  3. Vælg muligheden Ny SQL-forespørgsel, og vælg Ny SQL-forespørgsel under Blank.

  4. I dit SQL-script definerer du dynamiske datamaskeringsregler ved hjælp af klausulen MASKED WITH FUNCTION . Eksempler:

    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
    
    • Kolonnen FirstName viser kun de to første og sidste tegn i strengen, med - i midten.
    • Kolonnen LastName viser XXXX.
    • Kolonnen SSN viser XXX-XX- efterfulgt af de sidste fire tegn i strengen.
  5. Vælg Kør-knappen for at udføre scriptet.

  6. Bekræft udførelsen af scriptet.

  7. Scriptet anvender de angivne regler for dynamisk datamaskering på de angivne kolonner i tabellen.

3. Test dynamisk datamaskering

Når reglerne for dynamisk datamaskering er anvendt, kan du teste maskeringen ved at forespørge tabellen med en testbruger, der ikke har administrator-, medlem- eller bidragyderrettigheder til arbejdsområdet eller administratorrettigheder på lageret.

  1. Log ind på et værktøj som SQL Server Management Studio (SSMS) eller MSSQL-udvidelsen for Visual Studio Code som testbruger, for eksempel TestUser@contoso.com.
  2. Som testbruger skal du køre en forespørgsel mod tabellen. De maskerede data vises i henhold til de regler, du har defineret.
    SELECT * FROM dbo.EmployeeData;
    
  3. Med din admin-konto skal du give tilladelsen UNMASK fra testbrugeren.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Som testbruger skal du bekræfte, at brugeren har logget ind, da TestUser@contoso.com de kan se umaskerede data.
    SELECT * FROM dbo.EmployeeData;
    
  5. Med din admin-konto kan du tilbagekalde tilladelsen UNMASK fra testbrugeren.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Kontrollér, at testbrugeren ikke kan se ikke-maskerede data, kun de maskerede data.
    SELECT * FROM dbo.EmployeeData;
    
  7. Med din admin-konto kan du give og tilbagekalde tilladelsen UNMASK til en rolle
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Administrer og rediger regler for dynamisk datamaskering

Hvis du vil administrere eller redigere eksisterende regler for dynamisk datamaskering, skal du oprette et nyt SQL-script.

  1. Du kan tilføje en maske til en eksisterende kolonne ved hjælp af klausulen 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. Oprydning

  1. Sådan rydder du op i denne testtabel:
    DROP TABLE dbo.EmployeeData;