了解在 Azure Synapse 中執行一般工作所需的角色
此文章將協助您了解在 Synapse Studio 中完成工作所需的 Synapse RBAC (角色型存取控制) 角色或 Azure RBAC 角色。 若要管理角色成員資格,請參閱管理 Synapse RBAC 角色指派。
Synapse Studio 存取控制和工作流程摘要
存取 Synapse Studio
您可以開啟 Synapse Studio 並檢視工作區的詳細資料,並列出其任何 Azure 資源,例如 SQL 集區、Spark 集區或整合執行階段。 您會看到您是否已獲指派任何 Synapse RBAC 角色,或在工作區上具有 Azure 擁有者、參與者或讀者角色。
資源管理
如果您是資源群組上的 Azure 擁有者或參與者,您可以建立 SQL 集區、資料總管集區和 Apache Spark 集區。 如果您是工作區上的 Azure 擁有者或參與者,您可以建立整合執行階段。 使用 ARM 範本進行自動化部署時,您必須是資源群組的 Azure 參與者。
如果您是工作區或該資源的 Azure 擁有者或參與者,可以暫停或調整專用 SQL 集區、設定 Spark 集區或整合執行階段。
檢視及編輯程式碼成品
透過 Synapse Studio 的存取權,您就可以建立新的程式碼成品,例如 SQL 指令碼、KQL 指令碼、筆記本、Spark 工作、連結服務、管線、資料流程、觸發程序和認證。 您可以使用其他權限來發佈或儲存這些成品。
如果您是 Synapse 成品使用者、Synapse 成品發佈者、Synapse 參與者或 Synapse 系統管理員,您可以列出、開啟和編輯已發佈的程式碼成品,包括排程的管線。
執行您的程式碼
如果您已經在 SQL 集區中定義所需的 SQL 權限,您可以在 SQL 集區上執行 SQL 指令碼。 如果您擁有所需的權限,可以在資料總管集區上執行 KQL 指令碼。
如果您擁有工作區或特定 Apache Spark 集區的 Synapse 計算操作員權限,可以執行筆記本和 Spark 工作。
您可以使用工作區或特定整合執行階段的計算操作員權限,以及適當的認證權限,執行管線。
監視和管理執行
如果您是 Synapse 使用者,可以在 Apache Spark 集區中檢閱執行中的筆記本和工作的狀態。
如果您是工作區或特定 Spark 集區或管線的 Synapse 計算操作員,可以檢閱記錄並取消執行中的工作和管線。
偵錯管線
您可以使用「Synapse 使用者」的身分在管線中檢閱和進行變更,但是如果您想要進行偵錯,您也必須具有「Synapse 認證使用者」身分。
發佈並儲存您的程式碼
如果您是 Synapse 成品發佈者、Synapse 參與者或 Synapse 系統管理員,可以將新的或更新的程式碼成品發佈至服務。
如果工作區已啟用 Git 且您擁有 Git 權限,可以將程式碼成品認可至 Git 存放庫的工作分支。 在啟用 Git 的情況下,只允許從共同作業分支發佈。
如果您關閉 Synapse Studio 而不發佈或認可程式碼成品的變更,將會失去那些變更。
工作和必要角色
下表列出常見工作,以及每個工作所需的 Synapse RBAC 或 Azure RBAC 角色。
注意
除非 Synapse 系統管理員是提供所需權限的唯一角色,否則系統不會列出每個工作的 Synapse 系統管理員。 Synapse 系統管理員可以執行其他 Synapse RBAC 角色所啟用的所有工作。
注意
來自另一個租用戶的來賓使用者也可以在獲指派為 Synapse 系統管理員之後,檢閱、新增或變更角色指派。
所需的最小 Synapse RBAC 角色如下所示。
任何範圍的所有 Synapse RBAC 角色都可以為您提供工作區的 Synapse 使用者權限。
資料表中顯示的所有 Synapse RBAC 權限/動作都會加上前置詞 Microsoft/Synapse/workspaces/...
。
工作 (我想要...) | 角色 (我需要成為...) | Synapse RBAC 權限/動作 |
---|---|---|
在工作區上開啟 Synapse Studio | Synapse 使用者或 | 讀取 |
工作區的 Azure 擁有者或參與者或讀取者 | none | |
列出 SQL 集區或資料總管集區或Apache Spark 集區或整合執行階段,並存取其設定詳細資料 | Synapse 使用者或 | 讀取 |
工作區的 Azure 擁有者或參與者或讀取者 | none | |
列出連結服務或認證或受控私人端點 | Synapse 使用者 | 讀取 |
SQL 集區 | ||
建立專用 SQL 集區或無伺服器 SQL 集區 | 資源群組上的 Azure 擁有者或參與者 | none |
管理 (暫停或調整或刪除) 專用 SQL 集區 | SQL 集區或工作區的 Azure 擁有者或參與者 | none |
建立 SQL 指令碼 |
Synapse 使用者或工作區的 Azure 擁有者或參與者或讀取者。 需要其他 SQL 權限,才能執行 SQL 指令碼、發佈或認可變更。 |
|
列出並開啟任何已發佈的 SQL 指令碼 | Synapse 成品使用者或成品發佈者或 Synapse 參與者 | 成品/讀取 |
在無伺服器 SQL 集區上執行 SQL 指令碼 | 集區的 SQL 權限 (自動授與 Synapse 系統管理員) | none |
在專用 SQL 集區上執行 SQL 指令碼 | 集區的 SQL 權限 (自動授與 Synapse 系統管理員) | none |
發佈新的或已更新的或已刪除的 SQL 指令碼 | Synapse 成品發佈者或 Synapse 參與者 | sqlScripts/寫入、刪除 |
將 SQL 指令碼的變更認可至 Git 存放庫 | 需要存放庫的 Git 權限 | |
在工作區指派 Active Directory 系統管理員 (透過 Azure 入口網站中的工作區屬性) | 工作區的 Azure 擁有者或參與者 | |
DATA EXPLORER POOLS | ||
建立資料總管集區 | 資源群組上的 Azure 擁有者或參與者 | none |
管理 (暫停或調整或刪除) 資料總管集區 | 資料總管集區或工作區的 Azure 擁有者或參與者 | none |
建立 KQL 指令碼 |
Synapse 使用者。 需要其他資料總管權限,才能執行指令碼、發佈或認可變更。 |
|
列出並開啟任何已發佈的 KQL 指令碼 | Synapse 成品使用者或成品發佈者或 Synapse 參與者 | 成品/讀取 |
在資料總管集區上執行 KQL 指令碼 | 集區的資料總管權限 (自動授與 Synapse 系統管理員) | none |
發佈新的、已更新或已刪除 KQL 指令碼 | Synapse 成品發佈者或 Synapse 參與者 | kqlScripts/寫入、刪除 |
將 KQL 指令碼的變更認可至 Git 存放庫 | 需要存放庫的 Git 權限 | |
APACHE SPARK POOLS | ||
建立 Apache Spark 集區 | 資源群組上的 Azure 擁有者或參與者 | |
監視 Apache Spark 應用程式 | Synapse 使用者 | 讀取 |
檢視已完成筆記本和工作執行的記錄 | Synapse 監視操作員 | |
取消在 Apache Spark 集區上執行的任何筆記本或 Spark 工作 | Apache Spark 集區的 Synapse 計算操作員。 | bigDataPools/useCompute |
建立筆記本或工作定義 | Synapse 使用者或 工作區的 Azure 擁有者或參與者或讀取者 需要其他權限,才能執行、發佈或認可變更 |
read |
列出並開啟已發佈的筆記本或工作定義,包括檢閱已儲存的輸出 | 工作區上的 Synapse 成品使用者或 Synapse 監視操作員 | 成品/讀取 |
執行筆記本並檢閱其輸出,或提交 Spark 工作 | 所選 Apache Spark 集區上的 Synapse Apache Spark 系統管理員或 Synapse 計算操作員 | bigDataPools/useCompute |
對服務發佈或刪除筆記本或工作定義 (包括輸出) | 工作區的成品發佈者或 Synapse Apache Spark 系統管理員 | 筆記本/寫入、刪除 |
將筆記本或工作定義的變更認可至 Git 存放庫 | Git 權限 | none |
PIPELINES, INTEGRATION RUNTIMES, DATAFLOWS, DATASETS & TRIGGERS | ||
建立、更新或刪除整合執行階段 | 工作區的 Azure 擁有者或參與者 | |
監視整合執行階段狀態 | Synapse 監視操作員 | read, integrationRuntimes/viewLogs |
檢閱管線執行 | Synapse 監視操作員 | 讀取,管線/viewOutputs |
建立新管線 | Synapse 使用者 需要其他 Synapse 權限,才能偵錯、新增觸發程序、發佈或認可變更 |
讀取 |
建立資料流程或資料集 | Synapse 使用者 需要其他 Synapse 權限,才能發佈或認可變更 |
讀取 |
列出並開啟已發佈的管線 | Synapse 成品使用者或 Synapse 監視操作員 | 成品/讀取 |
預覽資料集資料 | WorkspaceSystemIdentity 的 Synapse 使用者與 Synapse 認證使用者 | |
使用預設整合執行階段對管線進行偵錯 | WorkspaceSystemIdentity 認證的 Synapse 使用者與 Synapse 認證使用者 | read, credentials/useSecret |
建立觸發程序,包括立即觸發 (需要執行管線的權限) | WorkspaceSystemIdentity 的 Synapse 使用者與 Synapse 認證使用者 | read, credentials/useSecret/action |
執行/執行管線 | WorkspaceSystemIdentity 的 Synapse 使用者與 Synapse 認證使用者 | read, credentials/useSecret/action |
使用複製資料工具複製資料 | 工作區系統身分識別的 Synapse 使用者與 Synapse 認證使用者 | read, credentials/useSecret/action |
內嵌資料 (使用排程) | 工作區系統身分識別的 Synapse 作者與 Synapse 認證使用者 | read, credentials/useSecret/action |
將新的、已更新的或已刪除的管線、資料流程或觸發程序發佈到服務 | 工作區的 Synapse 成品發佈者 | 管線/寫入、刪除 資料流程/寫入、刪除 觸發程序/寫入、刪除 |
將管線、資料流程、資料集或觸發程序的變更認可至 Git 存放庫 | Git 權限 | none |
LINKED SERVICES | ||
建立連結服務 (包括指派認證) | Synapse 使用者 需要其他權限,才能搭配認證使用連結服務,或者發佈或認可變更 |
讀取 |
列出並開啟已發佈的連結服務 | Synapse 成品使用者 | linkedServices/寫入、刪除 |
在受認證保護的連結服務上測試連線 | Synapse 使用者與 Synapse 認證使用者 | credentials/useSecret/action |
建立連結服務 | Synapse 成品發佈者或 Synapse 連結資料管理員 | linkedServices/寫入、刪除 |
將連結服務定義認可至 Git 存放庫 | Git 權限 | none |
ACCESS MANAGEMENT | ||
檢閱任何範圍的 Synapse RBAC 角色指派 | Synapse 使用者 | 讀取 |
指派和移除使用者、群組和服務主體的 Synapse RBAC 角色指派 | 工作區或特定工作區項目範圍的 Synapse 系統管理員 | roleAssignments/寫入、刪除 |