適用於語言資源的受控識別

適用於 Azure 資源的受控識別是一種服務主體,其會建立 Microsoft Entra 身分識別和 Azure 受控資源的特定權限。 受控識別提供更安全的方式來授與儲存體資料的存取權,並取代您包含共用存取簽章權杖 (SAS) 與您的來源和目標容器 URL 的需求。

受控識別流程 (RBAC) 的螢幕擷取畫面。

  • 您可以使用受控識別,對支援 Microsoft Entra 驗證的任何資源 (包括您自己的應用程式) 授與存取權。

  • 若要授與 Azure 資源的存取權,請使用 Azure 角色型存取控制 (Azure RBAC),將 Azure 角色指派給受控識別。

  • 在 Azure 中使用受控識別不會產生額外的成本。

重要

  • 使用受控識別時,請勿在 HTTP 要求中包含 SAS 權杖 URL,否則您的要求將會失敗。 使用受控識別可取代您包含共用存取簽章權杖 (SAS) 與來源和目標容器 URL 的需求。

  • 若要使用語言作業的受控識別,您必須在特定 Azure 地理區域中建立語言資源,例如美國東部。 如果您的語言資源區域設定為全域,則您無法使用受控識別驗證。 但您仍然可以使用共用存取簽章 (SAS) 權杖

必要條件

若要開始使用,您需要下列資源:

  • 作用中的 Azure 帳戶。 如果您沒有帳戶,您可以建立免費帳戶

  • 在區域位置建立的單一服務 Azure AI 語言資源。

  • 使用 Azure 入口網站簡要了解 Azure 角色型存取控制 (Azure RBAC)

  • Azure Blob 儲存體帳戶,與語言資源位於同一區域中。 您也需要建立容器,以在儲存體帳戶內儲存和組織 Blob 資料。

  • 如果您的儲存體帳戶位於防火牆後方,您必須啟用下列設定

    1. 前往 Azure 入口網站並登入 Azure 帳戶。

    2. 選取您的儲存體帳戶。

    3. 在左窗格中的 [安全性 + 網路] 群組中,選取 [網路]

    4. 在 [防火牆和虛擬網路] 索引標籤中,選取 [從選取的虛擬網路和 IP 位址啟用]

      顯示已選取 [選取的網路] 選項按鈕的螢幕擷取畫面。

    5. 取消全選核取方塊。

    6. 請確定已選取 [Microsoft 網路路由]

    7. 在 [資源執行個體] 區段下,選取 [Microsoft.CognitiveServices/accounts] 作為資源類型,然後選取語言資源作為執行個體名稱。

    8. 確認是否已勾選 [允許受信任服務清單上的 Azure 服務存取此儲存體帳戶] 方塊。 如需管理例外狀況的詳細資訊,請參閱設定 Azure 儲存體防火牆和虛擬網路

      顯示 Azure 入口網站中 [允許信任的服務] 核取方塊的螢幕擷取畫面。

    9. 選取 [儲存]

      注意

      網路變更最多可能需要 5 分鐘的時間才能傳播。

    雖然現在已允許網路存取,但您的語言資源仍無法存取儲存體帳戶中的資料。 您必須建立受控識別,並將特定存取角色指派給語言資源。

受控識別指派

有兩種受控識別:系統指派使用者指派。 目前,文件翻譯支援系統指派的受控識別

  • 系統指派的受控識別會直接在 Azure 服務執行個體上「啟用」。 預設不會將其啟用;您必須移至您的資源,並更新身分識別設定。

  • 系統指派的受控識別會在其整個生命週期繫結至您的資源。 如果刪除您的資源,則也會刪除受控識別。

在下列步驟中,我們啟用系統指派的受控識別,並授權 Azure Blob 儲存體帳戶可以有限存取語言資源。

啟用系統指派的受控識別

您必須先將語言資源存取權授與儲存體帳戶,才能建立、讀取或刪除 Blob。 使用系統指派的受控識別啟用語言資源之後,您可以使用 Azure 角色型存取控制 (Azure RBAC),為語言功能提供 Azure 儲存體容器的存取權。

  1. 前往 Azure 入口網站並登入 Azure 帳戶。

  2. 選取您的語言資源。

  3. 在左窗格的 [資源管理] 群組中,選取 [身分識別]。 如果您的資源是在全域區域中建立的,則看不到 [身分識別] 索引標籤。 您仍然可以使用 [共用存取簽章 (SAS) 權杖] 進行驗證。

  4. [已指派系統] 索引標籤內,開啟 [狀態]

    顯示 Azure 入口網站中 [資源管理身分識別] 索引標籤的螢幕擷取畫面。

    重要

    使用者指派的受控識別不符合批次處理儲存體帳戶情節的需求。 務必啟用系統指派的受控識別。

  5. 選取 [儲存]。

授與語言資源的儲存體帳戶存取權

重要

若要指派系統指派的受控識別角色,您需要 Microsoft.Authorization/roleAssignments/write 權限,例如儲存體資源的儲存體範圍中的擁有者使用者存取管理員

  1. 前往 Azure 入口網站並登入 Azure 帳戶。

  2. 選取您的語言資源。

  3. 在左窗格的 [資源管理] 群組中,選取 [身分識別]

  4. 在 [權限] 下,選取 [Azure 角色指派]

    顯示在 Azure 入口網站中啟用系統指派受控識別的螢幕擷取畫面。

  5. 在開啟的 Azure 角色指派頁面上,從下拉式功能表中選擇您的訂用帳戶,然後選取 [+ 新增角色指派]

    顯示在 Azure 入口網站中 [Azure 角色指派] 頁面的螢幕擷取畫面。

  6. 下一步,將 [儲存體 Blob 資料參與者] 角色指派給語言服務資源。 儲存體 Blob 資料參與者角色會提供語言 (以系統指派的受控識別表示) 讀取、寫入及刪除 Blob 容器和資料的存取權。 在 [新增角色指派] 快顯視窗中,完成如下的欄位,然後選取 [儲存]

    欄位
    範圍 儲存空間
    訂用帳戶 與儲存體資源相關聯的訂用帳戶
    資源 儲存體資源的名稱
    Role 儲存體 Blob 資料參與者

    顯示在 Azure 入口網站中 [角色指派] 頁面的螢幕擷取畫面。

  7. 顯示「已新增角色指派」確認訊息之後,請重新整理頁面以查看新增的角色指派。

    顯示已新增角色指派確認快顯訊息的螢幕擷取畫面。

  8. 如果您沒有立即看到新角色指派,請稍候再次嘗試重新整理頁面。 當您指派或移除角色指派時,最多可能需要 30 分鐘的時間,變更才會生效。

HTTP 要求

  • 原生文件語言服務作業要求會透過 POST 要求,提交至您的語言服務端點。

  • 使用受控識別和 Azure RBAC,您將不再需要包含 SAS URL。

  • 如果成功,POST 方法會傳回 202 Accepted 回應碼,且服務會建立要求。

  • 已處理的文件會出現在您的目標容器中。

下一步