Oszlopszintű biztonság a Fabric-adattárházakban
A következőkre vonatkozik:✅ SQL Analytics-végpont és Warehouse a Microsoft Fabricben
Az oszlopszintű biztonság leegyszerűsíti az alkalmazás biztonságának kialakítását és kódolását, lehetővé téve az oszlophozzáférés korlátozását a bizalmas adatok védelme érdekében. Például annak biztosítása, hogy bizonyos felhasználók csak a részlegükhöz kapcsolódó táblák bizonyos oszlopait érhessék el.
Oszlopszintű biztonság az adatszinten
A hozzáférés-korlátozási logika az adatbázisszinten található, nem egyetlen alkalmazásszinten. Az adatbázis minden adathozzáféréskor alkalmazza a hozzáférési korlátozásokat bármely alkalmazásból vagy jelentéskészítési platformról, beleértve a Power BI-t is. Ez a korlátozás a teljes biztonsági rendszer felületének csökkentésével megbízhatóbbá és robusztusabbá teszi a biztonságot.
Az oszlopszintű biztonság csak a Fabricben található Warehouse- vagy SQL Analytics-végponton lévő lekérdezésekre vonatkozik. A Power BI-lekérdezések a Direct Lake módban lévő raktárban visszaesnek a Direct Query módba, hogy betartsák az oszlopszintű biztonságot.
Bizonyos oszlopokhoz való hozzáférés korlátozása bizonyos felhasználók számára
Emellett az oszlopszintű biztonság egyszerűbb, mint további nézetek tervezése az oszlopok kiszűrésére a felhasználókra vonatkozó hozzáférési korlátozások bevezetéséhez.
Az oszlopszintű biztonság megvalósítása a GRANT T-SQL utasítással. A felügyelet egyszerűsége érdekében az engedélyek szerepkörökhöz való hozzárendelése előnyben részesíti az egyének használatát.
Az oszlopszintű biztonság az SQL Analytics-végponton keresztül elért megosztott raktárra vagy lakehouse-ra vonatkozik, mert az alapul szolgáló adatforrás nem változott.
Csak a Microsoft Entra-hitelesítés támogatott. További információ: Microsoft Entra-hitelesítés az SQL-hitelesítés alternatívaként a Microsoft Fabricben.
Példák
Ez a példa létrehoz egy táblát, és korlátozza a táblázatban látható customers
oszlopokatcharlie@contoso.com
.
CREATE TABLE dbo.Customers
(CustomerID int,
FirstName varchar(100) NULL,
CreditCard char(16) NOT NULL,
LastName varchar(100) NOT NULL,
Phone varchar(12) NULL,
Email varchar(100) NULL);
Engedélyezi Charlie számára, hogy csak az ügyfélhez kapcsolódó oszlopokat érje el, a bizalmas CreditCard
oszlopot azonban nem:
GRANT SELECT ON Customers(CustomerID, FirstName, LastName, Phone, Email) TO [Charlie@contoso.com];
A végrehajtott lekérdezések sikertelenek charlie@contoso.com
lesznek, ha tartalmazzák az oszlopot CreditCard
:
SELECT * FROM Customers;
Msg 230, Level 14, State 1, Line 12
The SELECT permission was denied on the column 'CreditCard' of the object 'Customers', database 'ContosoSales', schema 'dbo'.