Så här implementerar du dynamisk datamaskering i Fabric Data Warehouse
Gäller för:✅ SQL-analysslutpunkt och lager i Microsoft Fabric
Dynamisk datamaskering är en avancerad dataskyddsteknik som hjälper organisationer att skydda känslig information i sina databaser. Det gör att du kan definiera maskeringsregler för specifika kolumner, vilket säkerställer att endast behöriga användare ser de ursprungliga data samtidigt som de döljer dem för andra. Dynamisk datamaskering ger ytterligare ett säkerhetslager genom att dynamiskt ändra de data som presenteras för användarna baserat på deras åtkomstbehörigheter.
Mer information finns i Dynamisk datamaskering i Fabric-datalager.
Förutsättningar
Kontrollera att du har följande innan du börjar:
- En Microsoft Fabric-arbetsyta med en aktiv kapacitet eller utvärderingskapacitet.
- Ett lager.
- Dynamisk datamaskering fungerar på SQL-analysslutpunkten. Du kan lägga till masker i befintliga kolumner med hjälp av
ALTER TABLE ... ALTER COLUMN
det som visas senare i den här artikeln. - I den här övningen används ett lager.
- Dynamisk datamaskering fungerar på SQL-analysslutpunkten. Du kan lägga till masker i befintliga kolumner med hjälp av
- För att administrera, en användare med behörigheten Administratör, Medlem eller Deltagare på arbetsytan eller utökade behörigheter i informationslagret.
- I den här självstudien kommer "administratörskontot".
- För att testa en användare utan behörigheten Administratör, Medlem eller Deltagare på arbetsytan och utan utökade behörigheter på lagret.
- I den här självstudien ska "testanvändaren".
1. Anslut
- Öppna arbetsytan Infrastruktur och navigera till det lager som du vill använda dynamisk datamaskering på.
- Logga in med ett konto med förhöjd åtkomst på lagret, antingen administratörs-/medlems-/deltagarrollen på arbetsytan eller Kontrollbehörigheter på lagret.
2. Konfigurera dynamisk datamaskering
Logga in på Infrastruktur-portalen med ditt administratörskonto.
I arbetsytan Infrastruktur navigerar du till ditt lager.
Välj alternativet Ny SQL-fråga och under Tom väljer du Ny SQL-fråga.
I SQL-skriptet definierar du regler för dynamisk datamaskering med hjälp av
MASKED WITH FUNCTION
-satsen. Till exempel: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
- Kolumnen
FirstName
visar endast de första och sista två tecknen i strängen, med-
i mitten. - Kolumnen
LastName
visarXXXX
. - Kolumnen
SSN
visasXXX-XX-
följt av de sista fyra tecknen i strängen.
- Kolumnen
Välj knappen Kör för att köra skriptet.
Bekräfta körningen av skriptet.
Skriptet tillämpar de angivna reglerna för dynamisk datamaskering på de avsedda kolumnerna i tabellen.
3. Testa dynamisk datamaskering
När reglerna för dynamisk datamaskering har tillämpats kan du testa maskeringen genom att fråga tabellen med en testanvändare som inte har behörigheten Administratör, Medlem eller Deltagare på arbetsytan eller utökade behörigheter på informationslagret.
- Logga in på ett verktyg som Azure Data Studio eller SQL Server Management Studio som testanvändare, till exempel TestUser@contoso.com.
- Som testanvändare kör du en fråga mot tabellen. Maskerade data visas enligt de regler som du har definierat.
SELECT * FROM dbo.EmployeeData;
- Med ditt administratörskonto beviljar du behörigheten
UNMASK
från testanvändaren.GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
- Som testanvändare kontrollerar du att en användare som är inloggad som TestUser@contoso.com kan se omaskerade data.
SELECT * FROM dbo.EmployeeData;
- Med ditt administratörskonto återkallar du behörigheten
UNMASK
från testanvändaren.REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
- Kontrollera att testanvändaren inte kan se omaskerade data, endast maskerade data.
SELECT * FROM dbo.EmployeeData;
- Med ditt administratörskonto kan du bevilja och återkalla behörigheten
UNMASK
till en rollGRANT UNMASK ON dbo.EmployeeData TO [TestRole]; REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
4. Hantera och ändra regler för dynamisk datamaskering
Om du vill hantera eller ändra befintliga regler för dynamisk datamaskning skapar du ett nytt SQL-skript.
Du kan lägga till en mask i en befintlig kolumn med hjälp av
MASKED WITH FUNCTION
-satsen:ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()'); GO
ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] DROP MASKED;
5. Rensning
- Så här rensar du den här testtabellen:
DROP TABLE dbo.EmployeeData;