手動設定 Azure Resource Manager 工作負載識別服務連線

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

當您 針對 Azure Resource Manager 工作負載身分識別服務連線進行疑難解答時,您可能需要手動設定連線,而不是使用 Azure DevOps 中提供的自動化工具。

在開始手動設定之前, 先試試自動化方法。

在驗證方面,你可以使用管理身份或應用程式註冊。 如果你沒有建立服務主體的權限,或是使用與 Azure DevOps 使用者不同的 Microsoft Entra 租戶,管理身份選項很有用。

Azure DevOps 簽發者淘汰

使用 Azure DevOps 發行者(https://vstoken.dev.azure.com)的工作負載身份聯合服務連線已被棄用,將於 2027 年 7 月 1 日退休。 新的工作負載身分同盟服務連線預設會使用 Microsoft Entra 簽發者(https://login.microsoftonline.com/)。 如果你現有的服務連線被標記為棄用,請在退休日前將其轉換為 Microsoft Entra 發行者。

此淘汰僅適用於 Azure 公有雲中使用單一租用戶 Microsoft Entra 應用程式或受控識別的符合資格服務連線。 以非公有雲為目標的服務連線,以及使用多租用戶應用程式的服務連線,不在此次淘汰的範圍內。 Azure DevOps 會在服務連線清單和設定介面中標示受影響的服務連線。 如果你已有使用 Azure DevOps 發行者的服務連線,請將現有連線轉換,而不是建立替代連線。 詳情請參閱 「服務連結轉換 」。

所需的權限

要設定或轉換工作負載身份服務連線,可能需要同時在 Azure DevOps 和 Azure 或 Microsoft Entra 中取得權限。

面積 需要許可
Azure DevOps 服務連線管理員或端點管理員對服務連線的權限。
使用者指派的受控識別 更新受管理身份並新增聯邦憑證的權限。 最低角色可能是 管理身份聯邦憑證貢獻者、 管理身份貢獻者,或其他允許建立聯邦憑證的角色。
應用程式註冊 擁有者存取應用程式註冊或其他 Microsoft Entra 角色,允許管理聯邦憑證。
目標 Azure 資源 授權將身份指派到訂閱、資源群組或資源上所需的角色,例如 貢獻者。

Azure DevOps 權限同 Azure 權限係分開嘅。 使用者可能能在 Azure DevOps 編輯服務連線,但仍需 Azure 管理員或身份擁有者協助,才能在 Azure 或 Microsoft Entra 中新增聯邦憑證。

設置流程概述

下圖說明了配置工作負載身份服務連線的高層次步驟:

顯示工作負載識別時兩條可選路徑的圖示。

轉換現有服務連接

如果現有的服務連線使用已棄用的 Azure DevOps 發行者,請將其轉換為 Microsoft Entra 發行者。

若有自動轉換功能,請使用。

  1. 在 Azure DevOps 中,開啟您的專案,然後前往 專案設定>Pipelines>服務連線。

  2. 選擇在清單或設定介面中標記為棄用的服務連線。

  3. 選擇 更新 以更新服務連線。

  4. 讓 Azure DevOps 嘗試轉換。

若轉換成功,服務連線將使用Microsoft Entra發行者,無需再手動設定。 詳見 「服務連接轉換 」以了解詳細轉換步驟。

當自動轉換未完成時,請使用手動轉換

如果 Azure DevOps 無法自動更新身份,它會顯示你需要在 Azure 或 Microsoft Entra 中新增的聯合憑證值。 使用Azure DevOps中顯示的數值,建立與服務連線相關的身份的聯邦憑證。

你需要從 Azure DevOps 取得以下數值:

  • 簽發者
  • 主體標識碼

在 Azure 或 Microsoft Entra 加入聯邦憑證後,回到 Azure DevOps 的服務連線並完成設定。 關於詳細的轉換步驟,請參見 「服務連接轉換」。

局限性

Azure DevOps 發行機構的棄用經驗並不適用於所有工作負載身份情境。

  • 以非公有雲為目標的服務連線不在此次淘汰的範圍內。
  • 使用多租戶應用程式的服務連線不在此次淘汰的範圍內。

設置工作負載身份驗證服務連線

若要手動設定 Azure Pipelines 的受控識別驗證,請遵循下列步驟,在 Azure 入口網站 中建立受控識別、在 Azure DevOps 中建立服務連線、新增同盟認證,以及授與必要的許可權。 依照以下步驟依序進行:

  1. 在 Azure 入口網站 中建立受控識別。
  2. 在 Azure DevOps 中建立服務連線,並儲存為草稿。
  3. 在 Azure 入口網站 中,將同盟認證新增至您的受控識別。
  4. 在 Azure 入口網站 中將許可權授與受控識別。
  5. 在 Azure DevOps 中儲存您的服務連線。

您也可以針對此程式使用 REST API。

受控識別驗證的必要條件

在 Azure 入口網站 中建立受控識別

  1. 登入 Azure 入口網站。

  2. 在搜尋方塊中,輸入受控識別。

  3. 選取 建立。

  4. 在 [ 建立使用者指派的受控識別 ] 窗格中,輸入或選取下列專案的值:

    • 訂閱:選取要在其中建立使用者指派受控身分識別的訂閱。
    • 資源群組:選取資源群組以在 中建立使用者指派的受控識別,或選取 [ 新建 ] 以建立新的資源群組。
    • 區域:選取區域以部署使用者指派的受控識別(例如: 美國東部)。
    • 名稱:輸入使用者指派受控識別的名稱(例如: UADEVOPS)。
  5. 選取 [ 檢閱 + 建立 ] 以建立新的受控識別。 當部署完成時,請選取 [前往資源]。

  6. 複製受控識別的訂用帳戶、訂用帳戶標識碼和用戶端標識碼值,以供稍後使用。

  7. 在 Azure 入口網站的受控識別中,移至 設定>屬性。

  8. 複製 [ 租用戶標識符 ] 值,以供稍後使用。

在 Azure DevOps 中建立受控識別驗證的服務連線

  1. 在 Azure DevOps 中,開啟您的專案並移至 >[管線>服務連線]。

  2. 選取 [新增服務連線]。

  3. 選取 [Azure Resource Manager]。

  4. 選擇身份類型、 應用程式註冊或管理身份(手動), 然後選擇 工作負載身份聯盟 憑證。

    顯示選取工作負載識別服務連線以進行託管識別的螢幕快照。

  5. 第一 步:基礎:

    步驟 1:基礎,輸入或選擇以下參數:

    參數 描述
    服務連線名稱 必要。 將此值用於您的聯邦憑證主體識別碼。
    說明 Optional. 服務連線的描述。
    環境 必要。 選擇要連線的雲端環境。 如果您選取 [Azure Stack],請輸入環境 URL,其類似 https://management.local.azurestack.external。
    租戶 (目錄) ID 必要。 輸入受控識別中的租戶 ID。
  6. 選取 [下一步]。

  7. 在 步驟 2:應用程式註冊詳細資料中:

    步驟 2:應用程式註冊資訊,輸入或選擇以下參數:

    參數 描述
    簽發者 必要。 DevOps 會自動建立簽發者 URL。
    主體標識碼 必要。 DevOps 會自動建立主體標識碼。
    1. 選取 [ 範圍層級]。 選取 [訂用帳戶]、[管理群組] 或 [機器學習 工作區]。 管理群組 是可協助您跨多個訂用帳戶管理存取、原則和合規性的容器。 機器學習 工作區可用來建立機器學習成品。

      • 針對 [ 訂用帳戶 ] 範圍,輸入下列參數:

        參數 描述
        訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。
        訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。
      • 針對 [ 管理群組 ] 範圍,輸入下列參數:

        參數 描述
        管理群組標識碼 必要。 輸入 Azure 管理群組識別碼。
        管理組名 必要。 輸入 Azure 管理組名。
      • 針對 [機器學習 工作區] 範圍,輸入下列參數:

        參數 描述
        訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。
        訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。
        資源群組 必要。 選取包含工作區的資源群組。
        ML 工作區名稱 必要。 輸入現有 Azure 機器學習 工作區的名稱。
        ML 工作區位置 必要。 輸入現有 Azure 機器學習 工作區的位置。
    2. 在 認證 區塊的 應用程式(用戶端)ID 中,輸入你管理身份的用戶端 ID。

    3. 在 安全性 區塊,如果你選擇 「授予所有管線存取權限」,所有管線都可以使用這個連線。 不要用這個選項。 相反地,請為每個管線個別授權使用服務連線。

  8. 在 Azure DevOps 中,複製產生的值:簽發者和主體識別碼。

  9. 選取 [ 保留為草稿 ] 以儲存草稿認證。 在您的受管理的身分識別在 Azure 入口中具有聯邦憑證之前,您無法完成設置。

在 Azure 入口網站 中新增同盟認證

  1. 在新的瀏覽器視窗中,在 Azure 入口網站 的受控識別中,移至 [設定>同盟認證]。

  2. 選取 [ 新增認證]。

  3. 選取 [ 其他簽發者 ] 案例。

  4. 將您從 Azure DevOps 專案複製的 發行者 和 主體識別碼 值貼到 Azure 入口網站中的同盟憑證。 針對 [類型],選取 [明確主體標識符]。

    Azure DevOps 和 Azure 入口網站中同盟認證的比較螢幕快照。

  5. 輸入您的聯邦憑證的名稱。

  6. 選取 [新增]。

在 Azure 入口網站 中將許可權授與受控識別

  1. 在 Azure 入口網站 中,移至您想要授與許可權的 Azure 資源(例如資源群組)。

  2. 選取 存取控制 (IAM)。

    顯示選取 [資源] 選單中 [存取控制] 的螢幕快照。

  3. 點擊新增角色指派。 將必要的角色指派給受控的身份(例如貢獻者)。

  4. 選擇檢閱並指派。

儲存您的 Azure DevOps 服務連線

  1. 在 Azure DevOps 中,回到你的草擬服務連線。

  2. 選取 [ 完成設定]。

  3. 選擇 確認並儲存。 當此步驟成功完成後,您的管理身份就已完全設定完成。