Slik implementerer du dynamisk datamaskering i Fabric Data Warehouse
Gjelder for:✅ SQL Analytics-endepunkt og Warehouse i Microsoft Fabric
Dynamisk datamaskering er en banebrytende databeskyttelsesteknologi som hjelper organisasjoner med å beskytte sensitiv informasjon i databasene sine. Den lar deg definere maskeringsregler for bestemte kolonner, slik at bare autoriserte brukere ser de opprinnelige dataene mens de skjuler dem for andre. Dynamisk datamaskering gir et ekstra sikkerhetslag ved å dynamisk endre dataene som presenteres for brukere, basert på tilgangstillatelsene deres.
Hvis du vil ha mer informasjon, kan du se Dynamisk datamaskering i datalager for stoff.
Forutsetning
Før du begynner, må du kontrollere at du har følgende:
- Et Microsoft Fabric-arbeidsområde med en aktiv kapasitet eller prøveversjonskapasitet.
- Et lager.
- Dynamisk datamaskering fungerer på SQL Analytics-endepunktet. Du kan legge til masker i eksisterende kolonner ved hjelp av
ALTER TABLE ... ALTER COLUMN
som vist senere i denne artikkelen. - Denne øvelsen bruker et lager.
- Dynamisk datamaskering fungerer på SQL Analytics-endepunktet. Du kan legge til masker i eksisterende kolonner ved hjelp av
- For å administrere, en bruker med administrator-, medlems- eller bidragsyterrettigheter på arbeidsområdet, eller utvidede tillatelser på lageret.
- I denne opplæringen er administratorkontoen.
- For å teste, en bruker uten administrator-, medlems- eller bidragsyterrettigheter på arbeidsområdet, og uten utvidede tillatelser på lageret.
- I denne opplæringen er testbrukeren.
1. Koble til
- Åpne Fabric-arbeidsområdet, og gå til lageret du vil bruke dynamisk datamaskering på.
- Logg på med en konto med forhøyet tilgang på lageret, enten administrator/medlem/bidragsyterrolle på arbeidsområdet eller kontrolltillatelser på lageret.
2. Konfigurere dynamisk datamaskering
Logg på Fabric-portalen med administratorkontoen.
Gå til lageret i Fabric-arbeidsområdet.
Velg alternativet Ny SQL-spørring, og velg Ny SQL-spørring under Tom.
Definer dynamiske datamaskeringsregler ved hjelp av setningsdelen i SQL-skriptet
MASKED WITH FUNCTION
. Eksempel: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 bare de første og siste to tegnene i strengen, med-
i midten. - Kolonnen
LastName
viserXXXX
. - Kolonnen
SSN
viserXXX-XX-
etterfulgt av de fire siste tegnene i strengen.
- Kolonnen
Velg Kjør-knappen for å kjøre skriptet.
Bekreft kjøringen av skriptet.
Skriptet bruker de angitte reglene for dynamisk datamaskering på de angitte kolonnene i tabellen.
3. Test dynamisk datamaskering
Når reglene for dynamisk datamaskering er brukt, kan du teste maskeringen ved å spørre tabellen med en testbruker som ikke har administrator-, medlems- eller bidragsyterrettigheter på arbeidsområdet, eller utvidede tillatelser på lageret.
- Logg deg på et verktøy som for eksempel TestUser@contoso.comAzure Data Studio eller SQL Server Management Studio som testbruker.
- Som testbruker kjører du en spørring mot tabellen. De maskerte dataene vises i henhold til reglene du definerte.
SELECT * FROM dbo.EmployeeData;
- Med administratorkontoen
UNMASK
kan du gi tillatelsen fra testbrukeren.GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
- Som testbruker må du kontrollere at en bruker som er logget på, kan TestUser@contoso.com se umaskerte data.
SELECT * FROM dbo.EmployeeData;
- Opphev tillatelsen fra testbrukeren med administratorkontoen
UNMASK
.REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
- Kontroller at testbrukeren ikke kan se umaskerte data, bare de maskerte dataene.
SELECT * FROM dbo.EmployeeData;
- Med administratorkontoen kan du gi og tilbakekalle tillatelsen
UNMASK
til en rolleGRANT UNMASK ON dbo.EmployeeData TO [TestRole]; REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
4. Behandle og endre dynamiske datamaskeringsregler
Hvis du vil administrere eller endre eksisterende dynamiske datamaskeringsregler, oppretter du et nytt SQL-skript.
Du kan legge til en maske i en eksisterende kolonne ved hjelp av setningsdelen
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. Opprydding
- Slik rydder du opp i denne testtabellen:
DROP TABLE dbo.EmployeeData;