Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 Warehouse nebo SQL Analytics v rámci Fabric. 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šší než navrhování dalších zobrazení pro filtrování sloupců a uvalení 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 provedené jako charlie@contoso.com
selžou, pokud obsahují sloupec 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'.