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:
- Et Microsoft Fabric-arbejdsområde med en aktiv kapacitet eller en prøveversion.
- Et lager.
- 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. - I denne øvelse bruges et lager.
- Dynamisk datamaskering fungerer på SQL Analytics-slutpunktet. Du kan føje masker til eksisterende kolonner ved hjælp af
- Hvis du vil administrere, skal du have en bruger med administrator-, medlems- eller bidragyderrettigheder til arbejdsområdet eller administratorrettigheder på lageret.
- I dette selvstudium er det "administratorkontoen".
- Hvis du vil teste det, skal du bruge en bruger uden administrator-, medlems- eller bidragyderrettigheder til arbejdsområdet og uden administratorrettigheder til lageret.
- I dette selvstudium er "testbrugeren".
1. Opret forbindelse
- Åbn arbejdsområdet Fabric, og naviger til det lager, du vil anvende dynamisk datamaskering på.
- 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
Log på Fabric-portalen med din administratorkonto.
I arbejdsområdet Fabric skal du navigere til dit lager.
Vælg indstillingen Ny SQL-forespørgsel, og vælg Ny SQL-forespørgsel under Tom.
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
viserXXXX
. - Kolonnen
SSN
visesXXX-XX-
efterfulgt af de sidste fire tegn i strengen.
- Kolonnen
Vælg knappen Kør for at udføre scriptet.
Bekræft udførelsen af scriptet.
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.
- Log på et værktøj som Azure Data Studio eller SQL Server Management Studio som testbruger, f.eks TestUser@contoso.com. .
- 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;
- Med din administratorkonto skal du give
UNMASK
tilladelse fra testbrugeren.GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
- 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;
- Med din administratorkonto skal du tilbagekalde
UNMASK
tilladelsen fra testbrugeren.REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
- Kontrollér, at testbrugeren ikke kan se ikke-maskerede data, kun de maskerede data.
SELECT * FROM dbo.EmployeeData;
- Med din administratorkonto kan du tildele og tilbagekalde
UNMASK
tilladelsen til en rolleGRANT 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.
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
- Sådan rydder du op i denne testtabel:
DROP TABLE dbo.EmployeeData;