Fabric 資料倉儲中的資料欄層級安全性
適用於:✅ Microsoft Fabric 中的 SQL 分析端點和倉儲
資料欄層級安全性可簡化應用程式中安全性的設計和編碼,從而允許您限制資料欄存取以保護敏感資料。 例如,確保特定使用者只能存取與其部門相關的資料表特定資料欄。
資料欄層級安全性
存取限制邏輯位於資料庫層,而非任何單一應用程式層。 資料庫會在每次嘗試資料存取時,從包括 Power BI 在內的任何應用程式或報告平台套用存取限制。 此限制可藉由縮小整個安全性系統的接觸區,讓安全性更加可靠和健全。
資料欄層級安全性僅適用於 Fabric 中倉儲或 SQL 分析端點上的查詢。 Direct Lake 模式中倉儲上的 Power BI 查詢將會回復為直接查詢模式,以遵守資料欄層級安全性。
將特定資料欄的存取限制為特定使用者
此外,資料欄層級安全性比設計其他檢視來篩選出資料欄更簡單,從而對使用者施加存取限制。
使用 GRANT T-SQL 陳述式實作資料欄層級安全性。 為了簡化管理,最好使用個人將權限指派給角色。
資料欄層級安全性會套用至透過 SQL 分析端點存取的共用倉儲或 Lakehouse,因為基礎資料來源尚未變更。
僅支援 Microsoft Entra 驗證。 如需詳細資訊,請參閱使用 Microsoft Entra 驗證做為 Microsoft Fabric 中 SQL 驗證的替代方案。
範例
此範例會建立資料表,並限制 charlie@contoso.com
可在 customers
資料表中看到的資料欄。
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);
我們將允許 Charlie 僅存取與客戶相關的資料欄,但不允許敏感性 CreditCard
資料欄:
GRANT SELECT ON Customers(CustomerID, FirstName, LastName, Phone, Email) TO [Charlie@contoso.com];
如果查詢包含 charlie@contoso.com
資料欄,則以 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'.