Delen via


Dynamische gegevensmaskering implementeren in Fabric Data Warehouse

Van toepassing op:✅ SQL Analytics-eindpunt en -magazijn in Microsoft Fabric

Dynamische gegevensmaskering is een geavanceerde technologie voor gegevensbeveiliging waarmee organisaties gevoelige informatie in hun databases kunnen beveiligen. Hiermee kunt u maskeringsregels definiëren voor specifieke kolommen, zodat alleen geautoriseerde gebruikers de oorspronkelijke gegevens zien terwijl ze voor anderen worden verborgen. Dynamische gegevensmaskering biedt een extra beveiligingslaag door de gegevens die aan gebruikers worden gepresenteerd dynamisch te wijzigen op basis van hun toegangsmachtigingen.

Zie Dynamische gegevensmaskering in Fabric-datawarehousing voor meer informatie.

Vereisten

Voordat u begint, controleert u of u het volgende hebt:

  1. Een Microsoft Fabric-werkruimte met een actieve capaciteit of proefcapaciteit.
  2. Een magazijn.
    1. Dynamische gegevensmaskering werkt op een SQL Analytics-eindpunt. U kunt maskers toevoegen aan bestaande kolommen, zoals ALTER TABLE ... ALTER COLUMN verderop in dit artikel wordt gedemonstreerd.
    2. In deze oefening wordt een magazijn gebruikt.
  3. Een gebruiker met de rechten Beheerder, Lid of Inzender voor de werkruimte of verhoogde machtigingen voor het magazijn beheren.
    1. In deze zelfstudie wordt het 'beheerdersaccount' gebruikt.
  4. Een gebruiker zonder beheerders-, lid- of inzenderrechten voor de werkruimte en zonder verhoogde machtigingen voor het magazijn om te testen.
    1. In deze zelfstudie is de testgebruiker.

1. Verbinding maken

  1. Open de werkruimte Fabric en navigeer naar het magazijn waarop u dynamische gegevensmaskering wilt toepassen.
  2. Meld u aan met een account met verhoogde toegang in het magazijn, de rol Beheerder/Lid/Inzender in de werkruimte of beheermachtigingen voor het magazijn.

2. Dynamische gegevensmaskering configureren

  1. Meld u aan bij de Fabric-portal met uw beheerdersaccount.

  2. Navigeer in de werkruimte Fabric naar uw magazijn.

  3. Selecteer de optie Nieuwe SQL-query en selecteer onder Leeg de nieuwe SQL-query.

  4. Definieer in uw SQL-script dynamische regels voor gegevensmaskering met behulp van de MASKED WITH FUNCTION component. Voorbeeld:

    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
    
    • In FirstName de kolom worden alleen de eerste en laatste twee tekens van de tekenreeks weergegeven, met - in het midden.
    • In de LastName kolom wordt XXXXweergegeven.
    • De SSN kolom wordt XXX-XX- gevolgd door de laatste vier tekens van de tekenreeks.
  5. Selecteer de knop Uitvoeren om het script uit te voeren.

  6. Bevestig de uitvoering van het script.

  7. Het script past de opgegeven regels voor dynamische gegevensmaskering toe op de aangewezen kolommen in uw tabel.

3. Dynamische gegevensmaskering testen

Zodra de regels voor dynamische gegevensmaskering zijn toegepast, kunt u de maskering testen door een query uit te voeren op de tabel met een testgebruiker die niet beschikt over de beheerders-, lid- of inzenderrechten voor de werkruimte of verhoogde machtigingen voor het magazijn.

  1. Meld u als testgebruiker TestUser@contoso.comaan bij een hulpprogramma zoals Azure Data Studio of SQL Server Management Studio.
  2. Als testgebruiker voert u een query uit op de tabel. De gemaskeerde gegevens worden weergegeven volgens de regels die u hebt gedefinieerd.
    SELECT * FROM dbo.EmployeeData;
    
  3. Met uw beheerdersaccount verleent u de UNMASK machtiging van de testgebruiker.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Als testgebruiker controleert u of een gebruiker zich heeft aangemeld, zoals TestUser@contoso.com niet-gemaskeerde gegevens kan zien.
    SELECT * FROM dbo.EmployeeData;
    
  5. Met uw beheerdersaccount trekt u de UNMASK machtiging van de testgebruiker in.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Controleer of de testgebruiker geen ontmaskerde gegevens kan zien, alleen de gemaskeerde gegevens.
    SELECT * FROM dbo.EmployeeData;
    
  7. Met uw beheerdersaccount kunt u de UNMASK machtiging voor een rol verlenen en intrekken
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Dynamische regels voor gegevensmaskering beheren en wijzigen

Als u bestaande regels voor dynamische gegevensmaskering wilt beheren of wijzigen, maakt u een nieuw SQL-script.

  1. U kunt een masker toevoegen aan een bestaande kolom met behulp van de MASKED WITH FUNCTION component:

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

5. Opschonen

  1. Deze testtabel opschonen:
    DROP TABLE dbo.EmployeeData;