連線至 Microsoft Azure

Azure Pipelines |Azure DevOps Server 2020 |Azure DevOps Server 2019 |TFS 2018 |TFS 2017

注意

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

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

針對其他類型的連接,以及有關建立和使用連接的一般資訊,請參閱 組建和發行的服務連接

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

如果有下列情況,建議您採用這種簡單的方法:

  • 您已以 Azure Pipelines 組織和 Azure 訂用帳戶的擁有者身分登入。
  • 您不需要進一步限制透過服務連接存取之 Azure 資源的許可權。
  • 您未連線到 Azure StackAzure Government 雲端
  • 您未從 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 資源,此工作將需要該資源的其他相關資料。

    • 如果您使用的是傳統編輯器,請選取您需要的資料。 例如,應用程式服務名稱。
    • 如果您使用的是 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 雲端) 。

  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 中使用它,請將連接名稱複製到您的程式碼中作為 select-azuresubscription 值。
  12. 如有需要,請修改服務主體來公開適當的許可權。 如需詳細資訊,請參閱 使用 Role-Based 存取控制來管理 Azure 訂用帳戶資源的存取權此 blog 文章 也包含有關使用服務主體驗證的詳細資訊。

另請參閱: 疑難排解 Azure Resource Manager 服務連接

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

注意

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

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

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

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

    選擇服務連線類型

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

    開啟受控服務識別設定

  4. 請輸入要在參考此服務連接時使用的易記 連接名稱

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

  6. 在 [連接] 對話方塊的這些欄位中,輸入您的訂用帳戶值:

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

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

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

另請參閱: 疑難排解 Azure Resource Manager 服務連接

連線至 Azure Government 雲端

如需有關連線到 Azure Government 雲端的詳細資訊,請參閱:

連線至 Azure Stack

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

說明及支援