Share via


Microsoft Fabric 中的 SQL 細微許可權

適用於: Microsoft Fabric 中的 SQL 分析端點和倉儲

當指派給工作區角色或透過項目許可權授與的默認許可權不足時,標準 SQL 建構可用於更細微的控制。

針對 SQL 分析端點和倉儲:

  • 您可以使用 GRANTREVOKEDENY T-SQL 語法來管理物件層級安全性。
  • 用戶可以指派給 SQL 角色,包括自定義和內建資料庫角色。

用戶細微的許可權

  • 若要讓用戶連線到資料庫,用戶必須指派給工作區角色,或指派專案 讀取 許可權。 在至少沒有 讀取 許可權的情況下,聯機會失敗。
  • 如果您想要在允許用戶連線到倉儲之前設定使用者的細微許可權,請先在 SQL 中設定許可權。 然後,您可以將他們指派給工作區角色或授與項目許可權,以授與存取權。

限制

  • CREATE USER 目前無法明確執行。 執行 GRANT 或 DENY 時,會自動建立使用者。 在提供足夠的工作區層級許可權之前,用戶將無法連線。

檢視我的許可權

當用戶連線到 SQL 連接字串 時,他們可以使用 sys.fn_my_permissions 函式來檢視可用的許可權。

使用者的資料庫範圍權限:

SELECT *
FROM sys.fn_my_permissions(NULL, 'Database');

使用者的架構範圍權限:

SELECT *
FROM sys.fn_my_permissions('<schema-name>', 'Schema');

使用者的物件範圍權限:

SELECT *
FROM sys.fn_my_permissions('<schema-name>.<object-name>', 'Object');

檢視明確授與用戶的許可權

透過 SQL 連接字串 連線時,具有較高許可權的使用者可以使用系統檢視來查詢授與的許可權。 這不會顯示指派給工作區角色或指派專案許可權給使用者的用戶或用戶許可權。

SELECT DISTINCT pr.principal_id, pr.name, pr.type_desc, 
 pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe
 ON pe.grantee_principal_id = pr.principal_id;

數據保護功能

您可以將倉儲或 SQL 分析端點中資料表的數據行篩選和述詞型數據列篩選保護至 Microsoft Fabric 中的角色和使用者。 您也可以使用動態數據遮罩,從非系統管理員遮罩敏感數據。