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 a megosztott raktárra vagy a lakehouse-ra van alkalmazva, mert a mögöttes adatforrás nem változott.

Csak a Microsoft Entra-hitelesítés támogatott.

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'.

Következő lépés