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 發行者。
若有自動轉換功能,請使用。
在 Azure DevOps 中,開啟您的專案,然後前往
專案設定>Pipelines>服務連線。選擇在清單或設定介面中標記為棄用的服務連線。
選擇 更新 以更新服務連線。
讓 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 中建立服務連線、新增同盟認證,以及授與必要的許可權。 依照以下步驟依序進行:
- 在 Azure 入口網站 中建立受控識別。
- 在 Azure DevOps 中建立服務連線,並儲存為草稿。
- 在 Azure 入口網站 中,將同盟認證新增至您的受控識別。
- 在 Azure 入口網站 中將許可權授與受控識別。
- 在 Azure DevOps 中儲存您的服務連線。
您也可以針對此程式使用 REST API。
受控識別驗證的必要條件
- 若要建立使用者指派的受控識別,您的 Azure 帳戶需要 受控識別參與者 或更高的角色指派。
- 若要使用受控識別來存取管線中的 Azure 資源, 請將受控識別存取權指派給資源。
在 Azure 入口網站 中建立受控識別
登入 Azure 入口網站。
在搜尋方塊中,輸入受控識別。
選取 建立。
在 [ 建立使用者指派的受控識別 ] 窗格中,輸入或選取下列專案的值:
- 訂閱:選取要在其中建立使用者指派受控身分識別的訂閱。
- 資源群組:選取資源群組以在 中建立使用者指派的受控識別,或選取 [ 新建 ] 以建立新的資源群組。
- 區域:選取區域以部署使用者指派的受控識別(例如: 美國東部)。
- 名稱:輸入使用者指派受控識別的名稱(例如: UADEVOPS)。
選取 [ 檢閱 + 建立 ] 以建立新的受控識別。 當部署完成時,請選取 [前往資源]。
複製受控識別的訂用帳戶、訂用帳戶標識碼和用戶端標識碼值,以供稍後使用。
在 Azure 入口網站的受控識別中,移至 設定>屬性。
複製 [ 租用戶標識符 ] 值,以供稍後使用。
在 Azure DevOps 中建立受控識別驗證的服務連線
在 Azure DevOps 中,開啟您的專案並移至
>[管線>服務連線]。選取 [新增服務連線]。
選取 [Azure Resource Manager]。
選擇身份類型、 應用程式註冊或管理身份(手動), 然後選擇 工作負載身份聯盟 憑證。
第一 步:基礎:
步驟 1:基礎,輸入或選擇以下參數:
參數 描述 服務連線名稱 必要。 將此值用於您的聯邦憑證主體識別碼。 說明 Optional. 服務連線的描述。 環境 必要。 選擇要連線的雲端環境。 如果您選取 [Azure Stack],請輸入環境 URL,其類似 https://management.local.azurestack.external。租戶 (目錄) ID 必要。 輸入受控識別中的租戶 ID。 選取 [下一步]。
在 步驟 2:應用程式註冊詳細資料中:
步驟 2:應用程式註冊資訊,輸入或選擇以下參數:
參數 描述 簽發者 必要。 DevOps 會自動建立簽發者 URL。 主體標識碼 必要。 DevOps 會自動建立主體標識碼。 選取 [ 範圍層級]。 選取 [訂用帳戶]、[管理群組] 或 [機器學習 工作區]。 管理群組 是可協助您跨多個訂用帳戶管理存取、原則和合規性的容器。 機器學習 工作區可用來建立機器學習成品。
針對 [ 訂用帳戶 ] 範圍,輸入下列參數:
參數 描述 訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。 訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。 針對 [ 管理群組 ] 範圍,輸入下列參數:
參數 描述 管理群組標識碼 必要。 輸入 Azure 管理群組識別碼。 管理組名 必要。 輸入 Azure 管理組名。 針對 [機器學習 工作區] 範圍,輸入下列參數:
參數 描述 訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。 訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。 資源群組 必要。 選取包含工作區的資源群組。 ML 工作區名稱 必要。 輸入現有 Azure 機器學習 工作區的名稱。 ML 工作區位置 必要。 輸入現有 Azure 機器學習 工作區的位置。
在 認證 區塊的 應用程式(用戶端)ID 中,輸入你管理身份的用戶端 ID。
在 安全性 區塊,如果你選擇 「授予所有管線存取權限」,所有管線都可以使用這個連線。 不要用這個選項。 相反地,請為每個管線個別授權使用服務連線。
在 Azure DevOps 中,複製產生的值:簽發者和主體識別碼。
選取 [ 保留為草稿 ] 以儲存草稿認證。 在您的受管理的身分識別在 Azure 入口中具有聯邦憑證之前,您無法完成設置。
在 Azure 入口網站 中新增同盟認證
在新的瀏覽器視窗中,在 Azure 入口網站 的受控識別中,移至 [設定>同盟認證]。
選取 [ 新增認證]。
選取 [ 其他簽發者 ] 案例。
將您從 Azure DevOps 專案複製的 發行者 和 主體識別碼 值貼到 Azure 入口網站中的同盟憑證。 針對 [類型],選取 [明確主體標識符]。
輸入您的聯邦憑證的名稱。
選取 [新增]。
在 Azure 入口網站 中將許可權授與受控識別
在 Azure 入口網站 中,移至您想要授與許可權的 Azure 資源(例如資源群組)。
選取 存取控制 (IAM)。
點擊新增角色指派。 將必要的角色指派給受控的身份(例如貢獻者)。
選擇檢閱並指派。
儲存您的 Azure DevOps 服務連線
在 Azure DevOps 中,回到你的草擬服務連線。
選取 [ 完成設定]。
選擇 確認並儲存。 當此步驟成功完成後,您的管理身份就已完全設定完成。