Zdieľať cez


Implementácia dynamického maskovania údajov v sklade údajov služby Fabric

Vzťahuje sa na:✅ koncový bod analýzy SQL a sklad v službe Microsoft Fabric

Dynamické maskovanie údajov je špičková technológia na ochranu údajov, ktorá pomáha organizáciám chrániť citlivé informácie v rámci databáz. Umožňuje definovať pravidlá pre maskovanie konkrétnych stĺpcov, čím sa zabezpečí, že pôvodné údaje sa zobrazia len oprávneným používateľom, pričom ich zakryjete pre ostatných. Dynamické maskovanie údajov poskytuje ďalšiu vrstvu zabezpečenia tým, že dynamicky mení údaje prezentované používateľom na základe ich povolení na prístup.

Ďalšie informácie nájdete v téme Dynamické maskovanie údajov v sklade údajov služby Fabric.

Požiadavky

Skôr než začnete, uistite sa, že máte nasledovné:

  1. Pracovný priestor služby Microsoft Fabric s aktívnou kapacitou alebo skúšobnou kapacitou.
  2. Sklad.
    1. Dynamické maskovanie údajov funguje v koncovom bode analýzy SQL. Masky môžete pridať do existujúcich stĺpcov pomocou, ALTER TABLE ... ALTER COLUMN ako je to popísané ďalej v tomto článku.
    2. V tomto cvičení sa používa sklad.
  3. Na spravovanie sa používateľovi s právami správcu, člena alebo prispievateľa v pracovnom priestore alebo so zvýšenými povoleniami v sklade.
    1. V tomto kurze sa bude nachádzať konto správcu.
  4. Ak chcete otestovať, používateľ bez práv správcu, člena alebo prispievateľa v pracovnom priestore a bez zvýšených povolení v sklade.
    1. V tomto kurze "testovať používateľa".

1. Pripojenie

  1. Otvorte pracovný priestor služby Fabric a prejdite do skladu, v ktorý chcete použiť dynamické maskovanie údajov.
  2. Prihláste sa pomocou konta so zvýšeným prístupom v sklade– buď rolu správcu/člena/prispievateľa v pracovnom priestore, alebo povolenia na ovládanie v sklade.

2. Konfigurácia dynamického maskovania údajov

  1. Prihláste sa do portálu služby Fabric pomocou konta správcu.

  2. V pracovnom priestore služby Fabric prejdite do svojho skladu.

  3. Vyberte možnosť Nový dotaz SQL a potom v časti Prázdne vyberte položku Nový dotaz SQL.

  4. V skripte SQL definujte pravidlá dynamického maskovania údajov pomocou klauzuly MASKED WITH FUNCTION . Napríklad:

    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
    
    • Stĺpec FirstName zobrazuje iba prvý a posledný dva znaky reťazca - v strede.
    • V stĺpci sa LastName zobrazuje XXXXhodnota .
    • Stĺpec SSN zobrazuje, XXX-XX- za ktorými nasledujú posledné štyri znaky reťazca.
  5. Skript spustíte výberom tlačidla Spustiť.

  6. Potvrďte vykonanie skriptu.

  7. Skript použije zadané pravidlá pre maskovanie dynamických údajov na určené stĺpce v tabuľke.

3. Testovanie dynamického maskovania údajov

Keď sa použijú pravidlá pre dynamické maskovanie údajov, môžete maskovanie otestovať tak, že dotazujete tabuľku pomocou testovacieho používateľa, ktorý nemá práva správcu, člena alebo prispievateľa v pracovnom priestore alebo zvýšené povolenia v sklade.

  1. Prihláste sa do nástroja, ako je napríklad Azure Data Studio alebo SQL Server Management Studio, ako používateľ testu, napríklad TestUser@contoso.com.
  2. Ako testovací používateľ spustite dotaz na tabuľku. Maskované údaje sa zobrazujú podľa pravidiel, ktoré ste definovali.
    SELECT * FROM dbo.EmployeeData;
    
  3. Pomocou konta správcu UNMASK udeľte povolenie testovaciemu používateľovi.
    GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
    
  4. Ako testovací používateľ overte, či sa používateľ prihlásil tak, ako TestUser@contoso.com sa zobrazujú nezokryné údaje.
    SELECT * FROM dbo.EmployeeData;
    
  5. Pomocou konta správcu UNMASK odoberiete povolenie testovaciemu používateľovi.
    REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
    
  6. Overte, či sa testovaciemu používateľovi nezobrazujú nezoradené údaje, len maskované údaje.
    SELECT * FROM dbo.EmployeeData;
    
  7. Pomocou konta správcu UNMASK môžete udeliť a zrušiť povolenie na rolu
    GRANT UNMASK ON dbo.EmployeeData TO [TestRole];
    REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
    

4. Spravovanie a úprava pravidiel dynamického maskovania údajov

Ak chcete spravovať alebo upravovať existujúce pravidlá dynamického maskovania údajov, vytvorte nový skript SQL.

  1. Do existujúceho stĺpca môžete pridať masku pomocou klauzuly 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. Čistenie

  1. Vyčistíte túto testovaciu tabuľku:
    DROP TABLE dbo.EmployeeData;