設定 SQL 資料庫的細微存取控制
✅適用於:Microsoft Fabric 中的 SQL 資料庫
網狀架構工作區角色 和專案許可權可讓您輕鬆地為需要完整系統管理存取權或資料庫唯讀存取的資料庫用戶設定授權。
若要設定細微的數據庫存取,請使用 SQL 訪問控制:資料庫層級角色、SQL 許可權和/或數據列層級安全性 (RLS)。
您可以使用 Fabric 入口網站來管理資料庫層級角色的成員資格,並針對常見的數據存取案例定義自定義(使用者定義)角色。 您可以使用 Transact-SQL 來設定所有 SQL 存取控制。
從 Fabric 入口網站管理 SQL 資料庫層級角色
若要開始管理 Fabric SQL 資料庫的資料庫層級角色:
- 在網狀架構入口網站中流覽至並開啟您的資料庫。
- 從主功能表中,選取 [ 安全性 ],然後選取 [ 管理 SQL 安全性]。
- [ 管理 SQL 安全性 ] 頁面隨即開啟。
若要新增新的自訂 (使用者定義) 資料庫層級角色,以允許其成員存取資料庫特定架構中的物件:
- 在 [ 管理 SQL 安全性] 頁面中,選取 [ 新增]。
- 在 [ 新增角色] 頁面中,輸入角色名稱。
- 選取一或多個架構。
- 針對每個選取的架構,選取您要授與角色成員的許可權。 選取、 插入、 更新和 刪除 許可權會套用至架構中的所有數據表和檢視。 Execute 許可權會套用至架構中的所有預存程式和函式。
- 選取儲存。
若要改變自訂資料庫層級角色的定義:
- 在 [ 管理 SQL 安全性] 頁面中,選取自定義角色,然後選取 [ 編輯]。
- 變更資料庫架構的角色名稱或角色許可權。
注意
[ 管理 SQL 安全性 ] 頁面可讓您檢視和管理五個架構層級的許可權。 如果您已為架構以外的物件授與角色
SELECT
、INSERT
、、DELETE
UPDATE
或EXECUTE
,或如果您已透過 GRANT Transact-SQL 語句授與其他許可權的角色,則 [管理 SQL 安全性] 頁面不會顯示這些角色。 - 選取儲存。
若要刪除自訂資料庫層級角色:
- 在 [ 管理 SQL 安全性] 頁面中,選取角色,然後選取 [ 刪除]。
- 出現提示時,請再次選取 [ 刪除 ]。
若要檢視角色成員清單,以及新增或移除角色成員:
- 在 [ 管理 SQL 安全性] 頁面中,選取內建角色或自定義角色,然後選取 [ 管理存取權]。
- 若要新增角色成員:
- 在 [ 新增人員、群組或應用程式 ] 字段中,輸入名稱,然後從搜尋結果中選取使用者、群組或應用程式。 您可以重複新增其他人、群組或應用程式。
- 選取 [新增]。
- 如果您要新增某些角色成員,則不會在 Fabric 中具有資料庫的 [讀取專案] 許可權, 則會顯示 [共用資料庫 ] 按鈕。 選取它以開啟 [ 授與人員存取 權] 對話框,然後選取 [ 授 與] 以共用資料庫。 將共用許可權授與資料庫,會將讀取專案許可權授與尚未擁有它的角色成員。 如需共用 SQL 資料庫的詳細資訊,請參閱 共用 SQL 資料庫和管理許可權。
重要
若要連線到資料庫,使用者或應用程式必須具有 Fabric 中資料庫的讀取項目許可權,與資料庫內 SQL 資料庫層級角色或 SQL 許可權的成員資格無關。
- 若要移除角色成員:
- 選取要移除的角色成員。
- 選取 [移除]。
- 若要新增角色成員:
- 選取 [ 儲存 ] 將變更儲存至角色成員清單。
注意
當您在資料庫中新增沒有用戶物件的新角色成員時,Fabric 入口網站會自動代表您建立角色成員的用戶物件(使用 CREATE USER (Transact-SQL))。 當角色成員從角色中移除時,Fabric 入口網站不會從資料庫移除用戶物件。
使用 Transact-SQL 設定 SQL 控制件
若要使用 Transact SQL 設定使用者或應用程式的存取:
- 與使用者/應用程式共享資料庫,或Microsoft使用者/應用程式所屬的 Entra 群組。 共用資料庫可確保使用者/應用程式具有 Fabric 中資料庫的讀取項目許可權,這是連線至資料庫的必要專案。 如需詳細資訊,請參閱 共用 SQL 資料庫和管理許可權。
- 使用 CREATE USER (Transact-SQL),為使用者、應用程式或其群組在資料庫中建立用戶物件。 如需詳細資訊,請參閱 建立Microsoft Entra 身分識別的資料庫使用者。
- 設定所需的存取控制:
- 定義自訂(用戶定義) 資料庫層級角色。 若要管理自定義角色的定義,請使用 CREATE ROLE、ALTER ROLE 和 DROP ROLE。
- 使用 ALTER ROLE 語句的 和
DROP MEMBER
選項,將用戶物件新增至自定義或內建(固定)角色ADD MEMBER
。 - 使用 GRANT、REVOKE 和 DENY 語句,為用戶物件設定細微的 SQL 許可權。
- 將 數據列層級安全性 (RLS) 設定為將數據表中特定數據列的存取權授與/拒絕用戶物件。