Share via


將權限授與工作區受控識別

本文說明如何在 Azure synapse 工作區中授與受控識別的權限。 接著,權限會允許存取工作區中的專用 SQL 集區,並可透過 Azure 入口網站存取 ADLS Gen2 儲存體帳戶。

注意

本文件的其餘部分會將此工作區受控識別稱為受控識別。

授與 ADLS Gen2 儲存體帳戶 的受控識別權限

建立 Azure Synapse 工作區需要 ADLS Gen2 儲存體帳戶。 若要在 Azure Synapse 工作區中成功啟動 Spark 集區,Azure Synapse 受控識別需要該儲存體帳戶的儲存體 Blob 資料參與者角色。 Azure Synapse 中的準銷售案源協調流程也受益於此角色。

在工作區建立期間將權限授與受控識別

使用 Azure 入口網站建立 Azure Synapse 工作區後,Azure Synapse 會嘗試將儲存體 Blob 資料參與者角色授與受控識別。 您可以在 [基本] 索引標籤中提供 ADLS Gen2 儲存體帳戶的詳細資料。

Screenshot of the Basics tab in workspace creation flow.

選擇帳戶名稱檔案系統名稱中的 ADLS Gen2 儲存體帳戶和檔案系統。

Screenshot of providing the ADLS Gen2 storage account details.

如果工作區建立者也是 ADLS Gen2 儲存體帳戶的擁有者,Azure Synapse 會將儲存體 Blob 資料參與者角色指派給受控識別。 在輸入儲存體帳戶的詳細資料下方,您會看到下列訊息。

Screenshot of the successful storage blob data contributor assignment.

如果工作區建立者不是 ADLS Gen2 儲存體帳戶的擁有者,Azure Synapse 不會將儲存體 Blob 資料參與者角色指派給受控識別。 儲存體帳戶詳細資料下方顯示的訊息會通知工作區建立者沒有足夠的權限,可將儲存體 Blob 資料參與者角色授與受控識別。

Screenshot of an unsuccessful storage blob data contributor assignment, with the error box highlighted.

按照訊息所述,除非將儲存體 Blob 資料參與者指派給受控識別,否則您無法建立 Spark 集區。

建立工作區後,將權限授與受控識別

在工作區建立期間,如果您未將儲存體 Blob 資料參與者指派給受控識別,ADLS Gen2 儲存體帳戶的擁有者即需手動為身分識別指派角色。 下列步驟可協助您完成手動指派。

步驟 1:前往 Azure 入口網站中的 ADLS Gen2 儲存體帳戶

在 Azure 入口網站中,開啟 ADLS Gen2 儲存體帳戶後,在左側功能窗格中選取 [概觀]。 接著只要在容器或檔案系統層級指派儲存體 Blob 資料參與者角色。 選取 [容器]

Screenshot of the Azure portal, of the Overview of the ADLS Gen2 storage account.

步驟 2:選取容器

受控識別應具有建立工作區時提供的容器 (檔案系統) 資料存取權。 您可在 Azure 入口網站中找到該容器或檔案系統。 在 Azure 入口網站中開啟 Azure Synapse 工作區,並在左側功能窗格中選取 [概觀] 索引標籤。

Screenshot of the Azure portal showing the name of the ADLS Gen2 storage file 'contosocontainer'.

選取相同的容器或檔案系統,即可將儲存體 Blob 資料參與者角色授與受控識別。

Screenshot that shows the container or file system that you should select.

步驟 3:開啟存取控制並新增角色指派

  1. 選取 [存取控制 (IAM)]。

  2. 選取 [新增 > 角色指派 ] 以開啟 [新增角色指派] 頁面。

  3. 指派下列角色。 如需詳細步驟,請參閱使用 Azure 入口網站指派 Azure 角色

    設定
    角色 儲存體 Blob 資料參與者
    存取權指派對象 MANAGEDIDENTITY
    成員 受控識別名稱

    注意

    受控識別名稱也就是工作區名稱。

    Screenshot of the add role assignment page in the Azure portal.

  4. 若要新增角色指派,請選取 [儲存]。

步驟 4:確認儲存體 Blob 資料參與者角色已指派給受控識別

選取 [存取控制 (IAM)],然後選取 [角色指派]

Screenshot of the Role Assignments button in the Azure portal, used to verify role assignment.

您應該會看到您的受控識別列在 [儲存體 blob 資料參與者] 區段下方,並已指派儲存體 Blob 資料參與者角色。
Screenshot of the Azure portal, showing ADLS Gen2 storage account container selection.

「儲存體 Blob 資料參與者」的替代角色

除了對自己授與儲存體 Blob 資料參與者角色之外,您也可以授與更精細的檔案子集權限。

需要存取此容器中某些資料的所有使用者也必須擁有所有父代資料夾 (直到根目錄的容器) 的執行權限。

深入了解如何在 Azure Data Lake Storage Gen2 中設定 ACL

注意

必須在 Data Lake Storage Gen2 內設定容器層級的執行權限。 您可以在 Azure Synapse Analytics 中設定資料夾的權限。

如果要查詢在此範例中 data2.csv,則需要下列權限:

  • 容器上的執行權限
  • folder1 上的執行權限
  • data2.csv 上的讀取權限

Diagram that shows permission structure on data lake.

  1. 使用對欲存取的資料具有完整權限的系統管理員使用者身分,登入 Azure Synapse Analytics。

  2. 在資料窗格中,以滑鼠右鍵按一下檔案,然後選取 [管理存取]

    Screenshot that shows the manage access option.

  3. 至少選取 [讀取] 權限。 輸入使用者的 UPN 或物件識別碼,例如 user@contoso.com。 選取 [新增]。

  4. 授與此使用者讀取權限。

    Screenshot that shows granting read permissions.

注意

若是來賓使用者,此步驟必須直接使用 Azure Data Lake 完成,因為其無法直接透過 Azure Synapse 完成。

下一步

深入了解工作區受控識別