Zabezpečení na úrovni sloupců v datových skladech Fabric
Platí pro:✅ Koncový bod sql Analytics a sklad v Microsoft Fabric
Zabezpečení na úrovni sloupců zjednodušuje návrh a kódování zabezpečení ve vaší aplikaci a umožňuje omezit přístup ke sloupcům za účelem ochrany citlivých dat. Například zajistit, aby konkrétní uživatelé měli přístup jenom k určitým sloupcům tabulky, které se týkají jejich oddělení.
Zabezpečení na úrovni sloupců na úrovni dat
Logika omezení přístupu se nachází v databázové vrstvě, ne v žádné jedné aplikační vrstvě. Databáze použije omezení přístupu při každém pokusu o přístup k datům z libovolné aplikace nebo platformy pro vytváření sestav, včetně Power BI. Díky tomuto omezení bude vaše zabezpečení spolehlivější a robustnější tím, že snížíte plochu celkového systému zabezpečení.
Zabezpečení na úrovni sloupců se vztahuje pouze na dotazy na koncový bod služby Warehouse nebo SQL Analytics v prostředcích infrastruktury. Dotazy Power BI na sklad v režimu Direct Lake se vrátí do režimu Direct Query, aby se dodržovaly zabezpečení na úrovni sloupců.
Omezení přístupu k určitým sloupcům určitým uživatelům
Kromě toho je zabezpečení na úrovni sloupců jednodušší a než návrh dalších zobrazení pro filtrování sloupců pro uložení omezení přístupu pro uživatele.
Implementujte zabezpečení na úrovni sloupců pomocí příkazu GRANT T-SQL. Pro zjednodušení správy je přiřazení oprávnění k rolím upřednostňované pro použití jednotlivců.
Zabezpečení na úrovni sloupců se použije u sdíleného skladu nebo jezera, ke které se přistupuje prostřednictvím koncového bodu analýzy SQL, protože se podkladový zdroj dat nezměnil.
Podporuje se pouze ověřování Microsoft Entra. Další informace naleznete v tématu Ověřování Microsoft Entra jako alternativu k ověřování SQL v Microsoft Fabric.
Příklady
Tento příklad vytvoří tabulku a omezí sloupce, které charlie@contoso.com
uvidí v customers
tabulce.
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);
Charliemu umožníme přístup jenom ke sloupcům souvisejícím se zákazníkem, ale ne k citlivému CreditCard
sloupci:
GRANT SELECT ON Customers(CustomerID, FirstName, LastName, Phone, Email) TO [Charlie@contoso.com];
Dotazy se spustí tak, že charlie@contoso.com
selžou, pokud sloupec obsahují 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'.