共用方式為


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

後續步驟