連線到 Microsoft Azure

Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018

注意

在 Microsoft Team Foundation Server (TFS) 2018 和舊版中,組建和發行管線稱為定義執行稱為組建服務連線稱為服務端點階段稱為環境,而作業稱為階段

若要將應用程式部署至 Azure 資源 (至應用程式服務或虛擬機器) ,您需要 Azure Resource Manager服務連線。

如需其他類型的連線,以及建立和使用連線的一般資訊,請參閱 組建和發行的服務連線

使用自動化安全性建立 Azure Resource Manager服務連線

如果:

  • 您以 Azure Pipelines 組織和 Azure 訂用帳戶的擁有者身分登入。
  • 您不需要進一步限制透過服務連線存取的 Azure 資源許可權。
  • 您未連線到Azure StackAzure Government Cloud
  • 您不是從 Azure DevOps Server 2019 或舊版 TFS 進行連線
  1. 在 Azure DevOps 中,從專案設定頁面開啟[服務連線] 頁面。 在 TFS 中,從頂端功能表列中的 [設定] 圖示開啟 [服務 ] 頁面。

  2. 選擇 [+ 新增服務連線],然後選取 Azure Resource Manager

    選擇服務連線類型

  3. 指定下列參數。

    參數 描述
    連線名稱 必要。 您將用來在工作屬性中參考此服務連線的名稱。 這不是 Azure 訂用帳戶的名稱。
    範圍層級 選取 [訂用帳戶] 或 [管理群組]。 管理群組 是一種容器,可協助您管理多個訂用帳戶的存取、原則和合規性。
    訂用帳戶 如果您選取範圍的 [訂用帳戶],請選取現有的 Azure 訂用帳戶。 如果您沒有看到任何 Azure 訂用帳戶或實例,請參閱針對 Azure Resource Manager服務連線進行疑難排解
    管理群組 如果您為範圍選取 [管理群組],請選取現有的 Azure 管理群組。 請參閱 建立管理群組
    資源群組 保留空白,讓使用者存取訂用帳戶內定義的所有資源,或選取您想要限制使用者存取的資源群組, (使用者只能存取該群組內定義的資源) 。
  4. 建立新的服務連線之後:

    • 如果您使用傳統編輯器,請選取您在管線的 Azure 訂 用帳戶設定中指派的連線名稱。
    • 如果您使用 YAML,請將連線名稱複製到程式碼中作為 azureSubscription 值。
  5. 若要部署到特定的 Azure 資源,工作將需要該資源的其他資料。

    • 如果您使用傳統編輯器,請選取您需要的資料。 例如,App Service名稱。
    • 如果您使用 YAML,請移至Azure 入口網站中的資源,然後將資料複製到程式碼中。 例如,若要部署 Web 應用程式,您會將App Service WebAppName 的名稱複製到 值。

注意

當您遵循此方法時,Azure DevOps 會與 Azure Active Directory (Azure AD) 連線,並使用兩年有效的秘密建立應用程式註冊。 當服務連線接近兩年時,Azure AD 會顯示此提示:憑證或秘密即將到期。建立新的。 在此案例中,您必須重新整理服務連線。

若要重新整理服務連線,請在 Azure DevOps 入口網站中編輯連線,然後選取 [ 驗證]。 儲存編輯之後,服務連線會另兩年有效。

另請參閱:針對 Azure Resource Manager服務連線進行疑難排解

如果您使用此方法時遇到問題, (例如下拉式清單中未顯示任何訂用帳戶) ,或如果您想要進一步限制使用者的許可權,您可以改為使用 服務主體具有受控服務識別的 VM

使用現有的服務主體建立 Azure Resource Manager服務連線

  1. 如果您想要使用預先定義的一組存取權限,且尚未定義適當的服務主體,請遵循下列其中一個教學課程來建立新的服務主體:

  2. 在 Azure DevOps 中,從專案設定頁面開啟[服務連線] 頁面。 在 TFS 中,從頂端功能表列中的 [設定] 圖示開啟 [服務 ] 頁面。

  3. 選擇 [+ 新增服務連線],然後選取 Azure Resource Manager

    選擇服務連線類型

  4. 選擇 [服務主體] (手動) 選項,然後輸入 [服務主體詳細資料]。

    開啟服務對話方塊的完整版本

  5. 輸入使用者易記的 連線名稱 ,以在參考此服務連線時使用。

  6. 選取[環境名稱] (,例如 Azure 雲端、Azure Stack 或 Azure Government Cloud) 。

  7. 如果您 選取 [Azure 雲端],請輸入 [環境 URL]。 針對 Azure Stack,這會像這樣 https://management.local.azurestack.external

  8. 選取您需要 的範圍層級

  9. 在 [Azure 訂用帳戶] 對話方塊文字方塊中,輸入您的服務主體相關資訊:

    • 訂用帳戶識別碼
    • 訂閱名稱
    • 服務主體識別碼
    • 服務主體用戶端金鑰,或者,如果您已選取 [ 憑證],請輸入 *.pem 檔案之憑證和私密金鑰區段的內容。
    • 租用戶識別碼

    如果您在Azure PowerShell視窗中下載並執行此 PowerShell 腳本,即可取得此資訊。 出現提示時,請輸入您的訂用帳戶名稱、密碼、角色 (選擇性),以及雲端類型,例如 Azure 雲端 (預設值)、Azure Stack 或 Azure Government 雲端。

  10. 選擇 [驗證連線 ] 以驗證您輸入的設定。

  11. 建立新的服務連線之後:

    • 如果您在 UI 中使用,請選取您在管線的 Azure 訂 用帳戶設定中指派的連線名稱。
    • 如果您在 YAML 中使用它,請將連線名稱複製到您的程式碼中作為 azureSubscription 值。
  12. 如有需要,請修改服務主體以公開適當的許可權。 如需詳細資訊,請參閱使用角色型存取控制來管理 Azure 訂閱資源的存取此部落格文章 也包含使用服務主體驗證的詳細資訊。

另請參閱:針對 Azure Resource Manager服務連線進行疑難排解

使用受控服務識別建立與 VM 的 Azure Resource Manager服務連線

注意

您必須在 Azure VM 上使用自我裝載代理程式,才能使用受控服務識別

您可以使用 Azure Active Directory (Azure AD) 中的Azure 受控服務識別,設定 Azure 虛擬機器 (VM) 型代理程式。 這可讓您使用系統指派的身分識別 (服務主體) ,將 Azure VM 型代理程式存取權授與任何支援 Azure AD 的 Azure 資源,例如金鑰保存庫,而不是將認證保存在 Azure DevOps 中以進行連線。

  1. 在 Azure DevOps 中,從專案設定頁面開啟[服務連線] 頁面。 在 TFS 中,從頂端功能表列中的 [設定] 圖示開啟 [服務 ] 頁面。

  2. 選擇 [+ 新增服務連線],然後選取 Azure Resource Manager

    選擇服務連線類型

  3. 選取 [ 受控識別驗證] 選項。

    開啟受控服務識別設定

  4. 輸入使用者易記的 連線名稱 ,以在參考此服務連線時使用。

  5. 選取[環境名稱] (,例如 Azure 雲端、Azure Stack 或 Azure Government Cloud) 。

  6. 在 [連線] 對話方塊的下欄欄位中輸入訂用帳戶的值:

    • 訂用帳戶識別碼
    • 訂閱名稱
    • 租用戶識別碼

  7. 建立新的服務連線之後:

    • 如果您在 UI 中使用,請選取您在管線的 Azure 訂 用帳戶設定中指派的連線名稱。
    • 如果您在 YAML 中使用它,請將連線名稱複製到您的程式碼中作為 azureSubscription 值。
  8. 請確定 VM (代理程式) 具有適當的許可權。 例如,如果您的程式碼需要呼叫 Azure Resource Manager,請使用 Azure AD 中的 Role-Based 存取控制 (RBAC) ,將適當的角色指派給 VM。 如需詳細資訊,請參閱如何使用 Azure 資源的受控識別?和使用Role-Based 存取控制來管理 Azure 訂用帳戶資源的存取權。

另請參閱:針對 Azure Resource Manager服務連線進行疑難排解

連線到Azure Government雲端

如需連線到 Azure Government Cloud 的相關資訊,請參閱:

連線至 Azure Stack

如需連線到 Azure Stack 的相關資訊,請參閱:

說明及支援