Azure Synapse 存取控制

本文概述可用來控制 Azure Synapse 計算資源和資料的存取權的機制。

概觀

Azure Synapse 提供全面且精細的存取控制系統,其整合如下:

  • 用於資源管理和存取儲存體中資料的 Azure 角色
  • 用於管理程式碼和執行即時存取的 Synapse 角色
  • SQL 集區中資料之資料平面存取的 SQL 角色 ,以及
  • 適用於原始程式碼控制的 Git 權限,包括持續整合和部署支援。

Azure Synapse 角色提供了可套用在不同範圍的權限集合。 這種細微程度可讓您輕鬆地將適當的存取權授與管理員、開發人員、安全性人員和操作員,以計算資源和資料。

使用符合人員作業角色的安全性群組,即可簡化存取控制。 您只需要從適當的安全性群組新增和移除使用者,才能管理存取權。

存取控制元素

建立和管理 Azure Synapse 計算資源

Azure 角色可用來控制下列專案的管理:

  • 專用 SQL 集區
  • 資料總管集區
  • Apache Spark 集區
  • 整合執行階段

若要 建立 這些資源,您必須是資源群組上的 Azure 擁有者或參與者。 若要 在建立之後加以管理 ,您必須是資源群組或個別資源的 Azure 擁有者或參與者。

Azure 擁有者或參與者可以啟用或停用 Azure Synapse 工作區的僅限 Microsoft Entra 驗證。 如需僅限 Microsoft Entra 驗證的詳細資訊,請參閱 在 Azure Synapse Analytics 中停用本機驗證。

在 Azure Synapse 中開發和執行程式碼

Synapse 支援兩種開發模型。

  • Synapse 即時開發 。 您可以在 Synapse Studio 中開發和偵錯程式碼,然後 發佈 程式碼以儲存並執行。 Synapse 服務是程式碼編輯和執行的真相來源。 當您關閉 Synapse Studio 時,任何未發佈的工作都將遺失。
  • 已啟用 Git 的開發 。 您可以在 Synapse Studio 中開發和偵錯程式碼,並將 變更認可 至 Git 存放庫的工作分支。 從一或多個分支的工作會整合到共同作業分支中,從 中將它發佈 至服務。 Git 存放庫是程式碼編輯的真相來源,而服務則是執行真相的來源。 在關閉 Synapse Studio 之前,必須先將變更認可至 Git 存放庫或發佈至服務。 深入瞭解 如何搭配 Git 使用 Synapse Analytics。

在這兩種開發模型中,任何可存取 Synapse Studio 的使用者都可以建立程式碼成品。 不過,您需要額外的許可權,才能將成品發佈至服務、讀取已發佈的成品、認可對 Git 的變更、執行程式碼,以及存取受認證保護的連結資料。 使用者必須在 Synapse 工作區上擁有 Azure 參與者 (Azure RBAC) 或更高角色,才能設定、編輯設定,並使用 Synapse 中斷 Git 存放庫的連線。

Azure Synapse 角色

Azure Synapse 角色可用來控制 Synapse 服務的存取。 不同的角色可讓您:

  • 列出已發佈的程式碼成品,
  • 發佈程式碼成品、連結服務和認證定義,
  • 執行使用 Synapse 計算資源的程式碼或管線,
  • 執行程式碼或管線,以存取受認證保護的連結資料,
  • 檢視與已發佈程式碼成品相關聯的輸出,
  • 監視計算資源狀態,並檢視執行時間記錄。

您可以在工作區範圍或更精細的範圍指派 Azure Synapse 角色,以限制授與特定 Azure Synapse 資源的許可權。

Git 許可權

在 Git 模式中使用已啟用 Git 的開發時,除了 Synapse 使用者或 Synapse RBAC 角色之外,您還需要 Git 許可權,才能讀取程式碼成品,包括連結的服務與認證定義。 若要在 Git 模式中認可程式碼成品的變更,您需要 Git 許可權,以及 Synapse Artifact Publisher (Synapse RBAC) 角色。

存取 SQL 中的資料

使用專用和無伺服器 SQL 集區時,資料平面存取是使用 SQL 許可權來控制。

系統會指派工作區的建立者為工作區的 Active Directory 管理員。 建立之後,此角色可以指派給不同的使用者或 Azure 入口網站中的安全性群組。

無伺服器 SQL 集 區:已授與 db_ownerDBO 無伺服器 SQL 集區 「內建」許可權的 Synapse 管理員istrators。 若要將無伺服器 SQL 集區的存取權授與其他使用者,Synapse 系統管理員必須在無伺服器集區上執行 SQL 腳本。

專用 SQL 集 區:Synapse 管理員istrators 具有專用 SQL 集區中資料的完整存取權,以及授與其他使用者存取權的能力。 除了卸載資料庫之外,Synapse 管理員istrators 也可以在專用集區上執行設定和維護活動。 Active Directory 管理員許可權會授與工作區和工作區 MSI 的建立者。 不會自動授與存取專用 SQL 集區的許可權。 若要將專用 SQL 集區的存取權授與其他使用者或群組,Active Directory 管理員或 Synapse 管理員istrator 必須針對每個專用 SQL 集區執行 SQL 腳本。

如需在 SQL 集區中授與 SQL 許可權的 SQL 腳本範例,請參閱 如何設定 Synapse 存取控制

存取資料總管集區中的資料

使用資料總管集區時,資料平面存取是透過資料總管許可權來控制。 Synapse 管理員istrators 已獲授與 All Database admin 資料總管集區的許可權。 若要授與其他使用者或群組對資料總管集區的存取權,Synapse 系統管理員應該參考 安全性角色管理 。 如需資料平面存取的詳細資訊,請參閱 資料總管存取控制概觀

存取儲存體中的系統管理資料

無伺服器 SQL 集區和 Apache Spark 資料表會將其資料儲存在與工作區相關聯的 ADLS Gen2 容器中。 使用者安裝的 Apache Spark 程式庫也會在同一個儲存體帳戶中管理。 若要啟用這些使用案例,必須將使用者和工作區 MSI 授 與儲存體 Blob 資料參與者 存取此工作區 ADLS Gen2 儲存體容器。

使用安全性群組作為最佳做法

為了簡化存取控制的管理,您可以使用安全性群組將角色指派給個人和群組。 您可以建立安全性群組,以鏡像組織中需要存取 Synapse 資源或成品的角色或作業功能。 然後,這些角色型安全性群組可以指派一或多個 Azure 角色、Synapse 角色、SQL 許可權或 Git 許可權。 使用選擇完善的安全性群組,將使用者新增至適當的安全性群組,即可輕鬆地指派必要的許可權。

注意

如果使用安全性群組來管理存取權,Microsoft Entra ID 會在變更生效之前引入額外的延遲。

Synapse Studio 中的存取控制強制執行

Synapse Studio 會根據您的許可權和目前的模式,以不同的方式運作:

  • Synapse 即時模式: 如果您沒有必要的許可權,Synapse Studio 將無法看到已發佈的內容、發佈內容,或採取其他動作。 在某些情況下,您將無法建立無法使用或儲存的程式碼成品。
  • Git 模式: 如果您有 Git 許可權可讓您將變更認可至最新分支,則如果您有權將變更發佈至即時服務 (Synapse Artifact Publisher 角色),則允許認可動作。

在某些情況下,即使沒有發佈或認可的許可權,您仍可建立程式碼成品。 這可讓您執行程式碼(具有必要的執行許可權)。 如需常見工作所需角色的詳細資訊,請參閱 瞭解在 Azure Synapse 中執行一般工作所需的角色。

如果在 Synapse Studio 中停用功能,工具提示將會指出必要的許可權。 使用 Synapse RBAC 角色指南 來查閱提供遺漏許可權所需的角色。

下一步