將權限授與工作區受控識別
本文將教導您如何將許可權授與 Azure Synapse 工作區中的受控識別。 許可權接著允許透過 Azure 入口網站 存取工作區和 Azure Data Lake Storage Gen2 帳戶中的專用 SQL 集區。
注意
此工作區受控識別透過本文件的其餘部分稱為受控識別。
將受控識別許可權授與 Data Lake Storage 帳戶
需要 Data Lake Storage Gen2 帳戶才能建立 Azure Synapse 工作區。 若要在 Azure Synapse 工作區中成功啟動 Spark 集區,Azure Synapse 受控識別需要該儲存體帳戶的儲存體 Blob 資料參與者角色。 Azure Synapse 中的準銷售案源協調流程也受益於此角色。
在工作區建立期間將權限授與受控識別
當您使用 Azure 入口網站 建立 Azure Synapse 工作區之後,Azure Synapse 會嘗試將記憶體 Blob 數據參與者角色授與受控識別。 您可以在 [基本] 索引標籤中 提供 Data Lake Storage 帳戶詳細數據 。
在 [帳戶名稱] 和 [檔案系統名稱] 中選擇 Data Lake Storage Gen2 帳戶和文件系統。
如果工作區建立者也是 Data Lake Storage 帳戶的擁有者,Azure Synapse 會將記憶體 Blob 數據參與者角色指派給受控識別。 下列訊息隨即出現。
如果工作區建立者不是 Data Lake Storage 帳戶的擁有者,則 Azure Synapse 不會將記憶體 Blob 數據參與者角色指派給受控識別。 下列訊息會通知工作區建立者,他們沒有足夠的許可權將記憶體 Blob 數據參與者角色授與受控識別。
除非將記憶體 Blob 數據參與者指派給受控識別,否則您無法建立 Spark 集區。
建立工作區後,將權限授與受控識別
在工作區建立期間,如果您未將記憶體 Blob 數據參與者指派給受控識別,則 Data Lake Storage Gen2 帳戶的擁有者會手動將該角色指派給身分識別。 下列步驟可協助您完成手動指派。
步驟 1:流覽至 Data Lake Storage Gen2 帳戶
在 Azure 入口網站 中,開啟 Data Lake Storage Gen2 記憶體帳戶,然後從左側導覽中選取 [容器]。 您只需要在容器或文件系統層級指派 記憶體 Blob 數據參與者 角色。
步驟 2:選取容器
受控識別應具有建立工作區時提供的容器 (檔案系統) 資料存取權。 您可以在 Azure 入口網站 中找到此容器或檔案系統。 在 Azure 入口網站 中開啟 Azure Synapse 工作區,然後從左側導覽中選取 [概觀] 索引卷標。
選取相同的容器或檔案系統,即可將儲存體 Blob 資料參與者角色授與受控識別。
步驟 3:開啟存取控制並新增角色指派
從資源功能表中選取 [訪問控制][IAM ]。
選取 [新增]>[新增角色指派],開啟 [新增角色指派] 頁面。
指派下列角色。 如需詳細步驟,請參閱使用 Azure 入口網站指派 Azure 角色。
設定 值 角色 儲存體 Blob 資料參與者 存取權指派對象 MANAGEDIDENTITY 成員 受控識別名稱 注意
受控識別名稱也就是工作區名稱。
若要新增角色指派,請選取 [儲存]。
步驟 4:確認儲存體 Blob 資料參與者角色已指派給受控識別
選取 [存取控制 [IAM],然後選取 [角色指派]。
您應該會看到您的受控識別列在 [儲存體 blob 資料參與者] 區段下方,並已指派儲存體 Blob 資料參與者角色。
「儲存體 Blob 資料參與者」的替代角色
除了對自己授與儲存體 Blob 資料參與者角色之外,您也可以授與更精細的檔案子集權限。
需要存取此容器中某些資料的所有使用者也必須擁有所有父代資料夾 (直到根目錄的容器) 的執行權限。
若要深入瞭解,請參閱使用 Azure 儲存體 總管來管理 Azure Data Lake Storage 中的 ACL。
注意
必須在 Data Lake Storage Gen2 內設定容器層級的執行權限。 您可以在 Azure Synapse Analytics 中設定資料夾的權限。
如果您想要在此範例中查詢 data2.csv ,則需要下列許可權:
- 容器上的執行權限
- folder1 上的執行權限
- data2.csv 上的讀取權限
使用對欲存取的資料具有完整權限的系統管理員使用者身分,登入 Azure Synapse Analytics。
在資料窗格中,以滑鼠右鍵按一下檔案,然後選取 [管理存取]。
至少選取 [讀取] 權限。 輸入使用者的 UPN 或物件識別碼,例如
user@contoso.com
。 選取 [新增]。授與此使用者讀取權限。
注意
若是來賓使用者,此步驟必須直接使用 Azure Data Lake 完成,因為其無法直接透過 Azure Synapse 完成。