Dinamikus adatmaszkolás a Fabric-adattárházakban
A következőkre vonatkozik:✅ SQL Analytics-végpont és Warehouse a Microsoft Fabricben
A dinamikus adatmaszkolás korlátozza az érzékeny adatok expozícióját azáltal, hogy elrejti azokat a nem privilegizált felhasználók számára. A segítségével nagy mértékben leegyszerűsíthető az alkalmazás védelmének megtervezése és kódolása.
A dinamikus adatmaszkolás segít megelőzni a bizalmas adatok jogosulatlan megtekintését azáltal, hogy lehetővé teszi a rendszergazdák számára, hogy megadják, mennyi bizalmas adatot fedjenek fel, minimális hatással az alkalmazásrétegre. A dinamikus adatmaszkolás konfigurálható a kijelölt adatbázismezőkben, hogy bizalmas adatokat rejtsen el az eredményhalmazokban. Dinamikus adatmaszkolás esetén az adatbázis adatai nem változnak, így meglévő alkalmazásokkal is használhatók, mivel maszkolási szabályok vonatkoznak a lekérdezési eredményekre. Számos alkalmazás elfedheti a bizalmas adatokat a meglévő lekérdezések módosítása nélkül.
- A központi adatmaszkolási szabályzat közvetlenül az adatbázis bizalmas mezőire hat.
- Jelölje ki a bizalmas adatokhoz hozzáféréssel rendelkező kiemelt felhasználókat vagy szerepköröket.
- A dinamikus adatmaszkolás teljes maszkolást és részleges maszkolást, numerikus adatok véletlenszerű maszkolását tartalmazza.
- Az egyszerű Transact-SQL-parancsok maszkokat definiálnak és kezelnek.
A dinamikus adatmaszkolás célja a bizalmas adatok expozíciójának korlátozása, megakadályozva, hogy azok a felhasználók, akik nem férhetnek hozzá az adatokhoz, ne tekinthessék meg őket. A dinamikus adatmaszkolás nem célja annak megakadályozása, hogy az adatbázis felhasználói közvetlenül csatlakozzanak az adatbázishoz, és olyan kimerítő lekérdezéseket futtasson, amelyek elérhetővé teszik a bizalmas adatok egy részét.
A dinamikus adatmaszkolás kiegészíti a Háló egyéb biztonsági funkcióit, például az oszlopszintű biztonságot és a sorszintű biztonságot. Erősen ajánlott ezeket az adatvédelmi funkciókat együtt használni az adatbázisban lévő bizalmas adatok védelme érdekében.
Dinamikus adatmaszk definiálása
A maszkoló szabály definiálható egy tábla egyik oszlopán az oszlopban lévő adatok elrejtéséhez. Négyféle maszk érhető el.
Függvény | Leírás | Példák |
---|---|---|
Alapértelmezett | Teljes maszkolás a kijelölt mezők adattípusainak megfelelően. Sztring típusú adattípusok esetén használja XXXX (vagy kevesebb) ha a mező mérete kevesebb, mint 4 karakter (karakter, nchar, varchar, nvarchar, szöveg, ntext).Numerikus adattípusokhoz használjon nulla értéket (bigint, bit, decimális, int, pénz, numerikus, smallint, smallmoney, tinyint, float, real). A dátum- és időadattípusokhoz használja 1900-01-01 00:00:00.0000000 a következőt: (dátum, datetime2, datetime, datetimeoffset, smalldatetime, time).Bináris adattípusok esetén használja a 0 ASCII-érték egyetlen bájtját (bináris, varbináris, kép). |
Példa oszlopdefiníció szintaxisa: Phone# varchar(12) MASKED WITH (FUNCTION = 'default()') NULL Példa az alter szintaxisra: ALTER COLUMN Gender ADD MASKED WITH (FUNCTION = 'default()') |
Maszkolásos módszer, amely egy e-mail-cím első betűjét és a ".com" állandó utótagot teszi elérhetővé e-mail-cím formájában. aXXX@XXXX.com . |
Példadefiníció szintaxisa: Email varchar(100) MASKED WITH (FUNCTION = 'email()') NULL Példa az alter szintaxisra: ALTER COLUMN Email ADD MASKED WITH (FUNCTION = 'email()') |
|
Véletlenszerű | Egy véletlenszerű maszkoló függvény, amely bármilyen numerikus típuson használható az eredeti érték egy megadott tartományon belüli véletlenszerű értékkel való maszkolásához. | Példadefiníció szintaxisa: Account_Number bigint MASKED WITH (FUNCTION = 'random([start range], [end range])') Példa az alter szintaxisra: ALTER COLUMN [Month] ADD MASKED WITH (FUNCTION = 'random(1, 12)') |
Egyéni sztring | Maszkolásos módszer, amely az első és az utolsó betűt teszi elérhetővé, és középen hozzáad egy egyéni kitöltési sztringet. prefix,[padding],suffix Ha az eredeti érték túl rövid a teljes maszk befejezéséhez, az előtag vagy utótag egy része nem lesz közzétéve. |
Példadefiníció szintaxisa: FirstName varchar(100) MASKED WITH (FUNCTION = 'partial(prefix,[padding],suffix)') NULL Példa az alter szintaxisra: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(1,"XXXXXXX",0)') Így egy telefonszámot a 555.123.1234 következőképpen alakít át 5XXXXXXX : . További példa: ALTER COLUMN [Phone Number] ADD MASKED WITH (FUNCTION = 'partial(5,"XXXXXXX",0)') Így egy telefonszámot a 555.123.1234 következőképpen alakít át 555.1XXXXXXX : . |
További példákért lásd : Dinamikus adatmaszkolás implementálása a Fabric Data Warehouse-ban.
Engedélyek
A munkaterületen rendszergazdai, tagi vagy közreműködői jogosultsággal nem rendelkező és a Warehouse-ra vonatkozó emelt szintű engedélyekkel nem rendelkező felhasználók maszkolt adatokat fognak látni.
Nincs szükség külön engedélyre a dinamikus adatmaszkot tartalmazó táblák létrehozásához, csak a standard CREATE TABLE
és ALTER
a sémaengedélyek alapján.
Egy oszlop maszkjának hozzáadásához, cseréjéhez vagy eltávolításához engedélyre ALTER ANY MASK
és ALTER
engedélyre van szükség a táblában. Célszerű megadni ALTER ANY MASK
egy biztonsági tisztnek.
A SELECT
jogosultsággal rendelkező felhasználók megtekinthetik a táblázat adatait. A maszkoltként definiált oszlopok maszkolt adatokat fognak megjeleníteni. Adjon engedélyt egy UNMASK
felhasználónak, hogy engedélyezze számukra a maszkolatlan adatok lekérését azokból az oszlopokból, amelyekhez maszkolás van definiálva.
Az CONTROL
adatbázis engedélye tartalmazza azokat az ALTER ANY MASK
engedélyeket is UNMASK
, amelyek lehetővé teszik a felhasználó számára a maszkolt adatok megtekintését. A felügyeleti felhasználók vagy szerepkörök, például a rendszergazda, a tag vagy a közreműködő rendelkezik CONTROL engedéllyel az adatbázison a tervezés alapján, és alapértelmezés szerint megtekinthetik a maszkolt adatokat. A Warehouse emelt szintű engedélyei közé tartozik CONTROL
az engedély.
Biztonsági szempontok: a maszkolás megkerülése következtetési vagy találgatásos technikákkal
A dinamikus adatmaszkolás úgy lett kialakítva, hogy egyszerűsítse az alkalmazásfejlesztést azáltal, hogy korlátozza az adatexpozíciót az alkalmazás által használt előre definiált lekérdezések halmazában. Bár a dinamikus adatmaszkolás hasznos lehet arra is, hogy megakadályozza a bizalmas adatok véletlen expozícióját az adatok közvetlen elérésekor, fontos megjegyezni, hogy a lekérdezési engedélyekkel nem rendelkező felhasználók technikákat alkalmazhatnak a tényleges adatokhoz való hozzáféréshez.
Vegyük például azt a felhasználót, aki rendelkezik megfelelő jogosultságokkal a lekérdezések warehouse-on való futtatásához, és megpróbálja "kitalálni" a mögöttes adatokat, és végső soron a tényleges értékeket következtetni. Tegyük fel, hogy egy maszk van definiálva az oszlopban, és ez a [Employee].[Salary]
felhasználó közvetlenül csatlakozik az adatbázishoz, és elkezdi kitalálni az értékeket, végül pedig a táblában lévő Employees
értékre [Salary]
következtet:
SELECT ID, Name, Salary FROM Employees
WHERE Salary > 99999 and Salary < 100001;
Találatok:
ID (Azonosító) | Név | Salary |
---|---|---|
62543 | Jane Doe | 0 |
91245 | John Smith | 0 |
Ez azt mutatja, hogy a dinamikus adatmaszkolást nem szabad egyedül használni a bizalmas adatok teljes körű védelmére a Warehouse- vagy SQL Analytics-végponthoz lekérdezési hozzáféréssel rendelkező felhasználók számára. Alkalmas a bizalmas adatexpozíció megelőzésére, de nem véd a mögöttes adatok következtetésére irányuló rosszindulatú szándékkal szemben.
Fontos, hogy az sql részletes engedélyekkel megfelelően kezelje az objektumszintű biztonságot, és mindig kövesse a minimálisan szükséges engedélyek elvét.
Kapcsolódó tartalom
- Munkaterületi szerepkörök a Fabric-adattárházakban
- Oszlopszintű biztonság a Fabric-adattárházakban
- Sorszintű biztonság a Fabric-adattárházakban
- Adatraktározás biztonsága a Microsoft Fabricben