Del via


Sådan implementerer du dynamisk datamaskering i Fabric Data Warehouse

Gælder for:✅ SQL Analytics-slutpunkt 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.

Du kan få flere oplysninger under Dynamisk datamaskering i Fabric-datawarehousing.

Forudsætninger

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

  1. Et Microsoft Fabric-arbejdsområde med en aktiv kapacitet eller en prøveversion.
  2. Et lager.
    1. Dynamisk datamaskering fungerer på SQL Analytics-slutpunktet. Du kan føje masker til eksisterende kolonner ved hjælp af 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 indstillingen Ny SQL-forespørgsel, og vælg Ny SQL-forespørgsel under Tom.

  4. I SQL-scriptet skal du definere regler for dynamisk datamaskering ved hjælp af delsætningen 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 første og sidste to tegn i strengen med - i midten.
    • Kolonnen LastName viser XXXX.
    • Kolonnen SSN vises XXX-XX- efterfulgt af de sidste fire tegn i strengen.
  5. Vælg knappen Kør 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 på et værktøj som Azure Data Studio eller SQL Server Management Studio som testbruger, f.eks 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 administratorkonto skal du give UNMASK tilladelse fra testbrugeren.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Som testbruger skal du bekræfte, at en bruger er logget på som TestUser@contoso.com kan se ikke-maskerede data.
    SELECT * FROM dbo.EmployeeData;
    
  5. Med din administratorkonto skal du tilbagekalde UNMASK tilladelsen 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 administratorkonto kan du tildele og tilbagekalde UNMASK tilladelsen 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 føje en maske til en eksisterende kolonne ved hjælp af delsætningen 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;