Implementace dynamického maskování dat ve službě Synapse Data Warehouse
Platí pro:✅ Koncový bod sql Analytics a sklad v Microsoft Fabric
Dynamické maskování dat je špičková technologie ochrany dat, která organizacím pomáhá chránit citlivé informace v rámci svých databází. Umožňuje definovat pravidla maskování pro konkrétní sloupce a zajistit, aby původní data viděli jenom autorizovaní uživatelé a zároveň je skryli pro ostatní. Dynamické maskování dat poskytuje další vrstvu zabezpečení tím, že dynamicky mění data prezentovaná uživatelům na základě jejich přístupových oprávnění.
Další informace najdete v tématu Dynamické maskování dat v datovém skladu infrastruktury.
Požadavky
Než začnete, ujistěte se, že máte následující:
- Pracovní prostor Microsoft Fabric s aktivní kapacitou nebo zkušební kapacitou
- Sklad.
- Dynamické maskování dat funguje na koncovém bodu analýzy SQL. K existujícím sloupcům můžete přidat masky,
ALTER TABLE ... ALTER COLUMN
jak je znázorněno dále v tomto článku. - V tomto cvičení se používá sklad.
- Dynamické maskování dat funguje na koncovém bodu analýzy SQL. K existujícím sloupcům můžete přidat masky,
- Chcete-li spravovat uživatele s právy správce, člena nebo přispěvatele v pracovním prostoru nebo zvýšenými oprávněními pro sklad.
- V tomto kurzu se jedná o účet správce.
- Pokud chcete testovat, uživatel bez oprávnění správce, člena nebo přispěvatele v pracovním prostoru a bez zvýšených oprávnění pro sklad.
- V tomto kurzu se jedná o testovacího uživatele.
1. Připojit
- Otevřete pracovní prostor Fabric a přejděte do skladu, u kterého chcete použít dynamické maskování dat.
- Přihlaste se pomocí účtu se zvýšenými oprávněními ve skladu, buď roli správce, člena nebo přispěvatele v pracovním prostoru, nebo pomocí oprávnění řízení ve skladu.
2. Konfigurace dynamického maskování dat
Přihlaste se k portálu Fabric pomocí účtu správce.
V pracovním prostoru Prostředky infrastruktury přejděte do svého skladu.
Vyberte možnost Nový dotaz SQL a v části Prázdné vyberte Nový dotaz SQL.
Ve skriptu SQL definujte pravidla dynamického maskování dat pomocí
MASKED WITH FUNCTION
klauzule. Pří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
- Sloupec
FirstName
zobrazuje pouze první a poslední dva znaky řetězce uprostřed-
. - Sloupec
LastName
zobrazujeXXXX
. - Sloupec
SSN
zobrazujeXXX-XX-
poslední čtyři znaky řetězce.
- Sloupec
Vyberte tlačítko Spustit a spusťte skript.
Potvrďte spuštění skriptu.
Skript použije zadaná pravidla dynamického maskování dat na určené sloupce v tabulce.
3. Testování dynamického maskování dat
Po použití pravidel dynamického maskování dat můžete maskování otestovat dotazováním tabulky s testovacím uživatelem, který nemá oprávnění správce, člena nebo přispěvatele v pracovním prostoru nebo zvýšená oprávnění pro sklad.
- Přihlaste se k nástroji, jako je Azure Data Studio nebo SQL Server Management Studio jako testovací uživatel, například TestUser@contoso.com.
- Jako testovací uživatel spusťte dotaz na tabulku. Maskovaná data se zobrazí podle vámi definovaných pravidel.
SELECT * FROM dbo.EmployeeData;
- Pomocí účtu správce udělte
UNMASK
oprávnění testovacímu uživateli.GRANT UNMASK ON dbo.EmployeeData TO [TestUser@contoso.com];
- Jako testovací uživatel ověřte, že se uživatel přihlásil, jak TestUser@contoso.com může zobrazit nemaskovaná data.
SELECT * FROM dbo.EmployeeData;
- U účtu správce odvolejte
UNMASK
oprávnění od testovacího uživatele.REVOKE UNMASK ON dbo.EmployeeData TO [TestUser];
- Ověřte, že testovací uživatel nemůže zobrazit nemaskovaná data, pouze maskovaná data.
SELECT * FROM dbo.EmployeeData;
- Pomocí účtu správce můžete udělit a odvolat
UNMASK
oprávnění k roli.GRANT UNMASK ON dbo.EmployeeData TO [TestRole]; REVOKE UNMASK ON dbo.EmployeeData TO [TestRole];
4. Správa a úprava pravidel dynamického maskování dat
Pokud chcete spravovat nebo upravovat existující pravidla dynamického maskování dat, vytvořte nový skript SQL.
Masku můžete přidat do existujícího sloupce pomocí
MASKED WITH FUNCTION
klauzule:ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] ADD MASKED WITH (FUNCTION = 'email()'); GO
ALTER TABLE dbo.EmployeeData ALTER COLUMN [email] DROP MASKED;
5. Vyčištění
- Vyčištění této testovací tabulky:
DROP TABLE dbo.EmployeeData;
Související obsah
- Dynamické maskování dat v datových skladech prostředků infrastruktury
- Role pracovního prostoru v datových skladech v prostředcích infrastruktury
- Zabezpečení na úrovni sloupců v datových skladech Fabric
- Zabezpečení na úrovni řádků v datových skladech Fabric
- Zabezpečení datových skladů v Microsoft Fabric