共用方式為


使用 Azure Resource Manager 服務連線連線連線至 Azure

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

您可以使用 Azure Resource Manager 服務連線來連線到 Azure 資源,例如 Azure 金鑰保存庫。 如果您使用 Resource Manager 服務連線,您可以使用管線來部署至 Azure 資源,例如 Azure App 服務 應用程式,而不需要每次驗證。

您可以使用 Azure Resource Manager 服務連線來驗證多個選項以連線到 Azure:

  • 具有工作負載身分識別同盟的服務主體
  • 具備密碼的服務主體
  • 系統指派的受控識別
  • 公用配置檔

服務聯機會使用服務主體向 Azure 資源進行驗證。

建立使用工作負載身分識別同盟的 Azure Resource Manager 服務連線

工作負載身分識別同盟 會使用 OpenID Connect (OIDC) 向 Microsoft Entra 受保護資源進行驗證,而不需使用秘密。 您可以自動建立用於驗證的工作負載身分識別同盟,或手動建立它。

如果下列所有項目都適用於自己的案例,則建議使用此方法:

  • 具備「擁有者」角色的 Azure 訂用帳戶。
  • 您未連線到 Azure StackAzure 美國政府 環境。
  • 您使用的任何 Marketplace 擴充功能工作都會更新,以支援工作負載身分識別同盟。

使用工作負載身分識別同盟建立服務連線(自動)

選取此選項后,Azure DevOps 會自動查詢您要連線的訂用帳戶、管理群組或 機器學習 工作區,並建立工作負載身分識別同盟以進行驗證。

  1. 在 Azure DevOps 專案中,移至 [項目設定>服務連線]。

    如需詳細資訊,請參閱 開啟項目設定

  2. 選取 [ 新增服務連線],然後選取 [Azure Resource Manager ] 和 [下一步]。

    顯示選擇 Azure Resource Manager 選取項目的螢幕快照。

  3. 選取 [工作負載身分識別同盟][自動][下一步]。

    工作負載身分識別同盟 (自動) 驗證方法選取的螢幕快照。

  4. 選取範圍 層級。 選取 [訂用帳戶]、[管理群組] 或 [機器學習 工作區]。 管理群組 是可協助您跨多個訂用帳戶管理存取、原則和合規性的容器。 機器學習 工作區可用來建立機器學習成品。

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

      參數 描述
      訂用帳戶 必要。 選取 Azure 訂用帳戶。
      資源群組 必要。 輸入 Azure 訂用帳戶名稱。
    • 針對 [ 管理群組 ] 範圍,選取 [Azure 管理群組]。

    • 針對 機器學習 工作區範圍,輸入下列參數:

      參數 描述
      訂用帳戶 必要。 選取 Azure 訂用帳戶。
      資源群組 必要。 選取包含工作區的資源群組。
      機器學習 工作區 必要。 選取 Azure 機器學習 工作區。
  5. 輸入服務連線名稱

  6. 或者,輸入服務連線的描述。

  7. 選取 [ 授與所有管線 的訪問許可權] 以允許所有管線使用此服務連線。 如果您未選取此選項,則必須手動授與使用此服務連線之每個管線的存取權。

  8. 選取 [儲存]。

建立新的服務連線之後,複製連線名稱,並將它貼到您的程式代碼中做為的值 azureSubscription

若要部署至特定的 Azure 資源,工作需要更多有關該資源的數據。 移至 Azure 入口網站 中的資源,然後將數據複製到您的程式代碼中。 例如,若要部署 Web 應用程式,請複製 Azure App 服務 應用程式的名稱,並將它貼到您的程式代碼中作為的值WebAppName

使用工作負載身分識別同盟建立服務連線(手動)

使用此選項手動建立使用現有工作負載身分識別同盟進行驗證的服務連線。

  1. 在 Azure DevOps 專案中,移至 [項目設定>服務連線]。

    如需詳細資訊,請參閱 開啟項目設定

  2. 選取 [ 新增服務連線],然後選取 [Azure Resource Manager ] 和 [下一步]。

    工作負載身分識別同盟 (手動) 驗證方法選取的螢幕快照。

  3. 選取 [工作負載身分識別同盟][手動][下一步]。

    顯示選取工作負載身分識別服務連線類型的螢幕快照。

  4. 步驟 1:基本概念中:

    1. 輸入服務連線名稱
    2. 或者,輸入 [描述]。
    3. 選取 [ 授與所有管線 的訪問許可權] 以允許所有管線使用此服務連線。 如果您未選取此選項,則必須手動授與使用此服務連線之每個管線的存取權。
    4. 選取 [下一步]。
  5. 步驟 2:服務主體詳細數據中:

    步驟 2:服務主體詳細數據 包含下列參數。 您可以輸入或選取下列參數:

    參數 描述
    簽發者 必要。 DevOps 會自動建立簽發者 URL
    主體標識碼 必要。 DevOps 會自動建立主體標識碼。
    環境 必要。 選擇要連線的雲端環境。 如果您選取 [Azure Stack],請輸入環境 URL,其類似 https://management.local.azurestack.external
    1. 選取 [ 範圍層級]。 選取 [訂用帳戶]、[管理群組] 或 [機器學習 工作區]。 管理群組 是可協助您跨多個訂用帳戶管理存取、原則和合規性的容器。 機器學習 工作區可用來建立機器學習成品。

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

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

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

        參數 描述
        訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。
        訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。
        資源群組 必要。 選取包含工作區的資源群組。
        ML 工作區名稱 必要。 輸入現有 Azure 機器學習 工作區的名稱。
        ML 工作區位置 必要。 輸入現有 Azure 機器學習 工作區的位置。
    2. 在 [ 驗證] 區段中,輸入或選取下列參數:

      參數 描述
      服務主體標識碼 必要。 輸入服務主體標識碼。
      租用戶標識碼 必要。 輸入用戶識別碼。
    3. 在 [詳細數據] 區段中,輸入下列參數:

      參數 描述
      連線名稱 必要。 您用來在工作屬性中參考此服務連線的名稱。 不是 Azure 訂用帳戶的名稱。
      說明 選擇性。 輸入服務連線的描述。
    4. 在 [安全性]段中,選取 [授與所有管線的訪問許可權] 以允許所有管線使用此服務連線。 如果您未選取此選項,則必須手動授與使用此服務連線之每個管線的存取權。

    5. 選取 [驗證並儲存 ] 以驗證並建立服務連線。

建立新的服務連線之後,複製連線名稱,並將它貼到您的程式代碼中做為的值 azureSubscription

若要部署至特定的 Azure 資源,工作需要更多有關該資源的數據。 移至 Azure 入口網站 中的資源,然後將數據複製到您的程式代碼中。 例如,若要部署 Web 應用程式,請複製 Azure App 服務 應用程式的名稱,並將它貼到您的程式代碼中作為的值WebAppName

將現有的 Azure Resource Manager 服務連線轉換為使用工作負載身分識別同盟

您可以快速轉換現有的 Azure Resource Manager 服務連線,以使用工作負載身分識別同盟進行驗證,而不是服務主體。 如果您的服務連線符合下列需求,您可以在 Azure DevOps 中使用服務連線轉換工具:

  • Azure DevOps 原本已建立服務連線。 如果您手動建立服務連線,就無法使用服務連線轉換工具來轉換服務連線,因為 Azure DevOps 沒有修改自己的認證的許可權。
  • 只有一個專案會使用服務連線。 您無法轉換跨 專案服務 連線

若要轉換服務連線:

  1. 在 Azure DevOps 專案中,移至 [項目設定>服務連線]。

    如需詳細資訊,請參閱 開啟項目設定

  2. 選取您想要轉換成使用工作負載身分識別的服務連線。

  3. 選取轉換

    顯示針對同盟認證選取 [轉換] 的螢幕快照。

    如果您有具有過期密碼的現有服務主體認證,您會看到不同的轉換選項。

    顯示當您有過期憑證時,要轉換成使用同盟認證的選項的螢幕快照。

  4. 再次選取 [轉換 ] 以確認您想要建立新的服務連線。

    轉換可能需要幾分鐘的時間。 如果您想要還原連線,您必須在七天內還原連線。

使用腳本轉換多個 Azure Resource Manager 服務連線

使用腳本一次更新多個服務連線,現在使用工作負載身分識別同盟進行驗證。

此範例 PowerShell 腳稿需要兩個參數:Azure DevOps 組織(例如: https://dev.azure.com/fabrikam-tailspin) 和 Azure DevOps 專案(範例: Space game web agent。 然後,腳本會擷取 Azure DevOps 專案和組織的相關服務連線。

將服務連線轉換為使用工作負載身分識別同盟時,系統會提示您確認每個連線尚未使用該聯機的更新。 確認後,腳本會透過 Azure DevOps REST API 更新這些服務連線,以利用工作負載身分識別同盟。

腳本需要 PowerShell 7.3 或更新版本Azure CLI 才能執行。 將腳本儲存至 .ps1 檔案,並使用PowerShell 7加以執行。

#!/usr/bin/env pwsh
<# 
.SYNOPSIS 
    Convert multiple Azure Resource Manager service connection(s) to use Workload identity federation

.LINK
    https://aka.ms/azdo-rm-workload-identity-conversion

.EXAMPLE
    ./convert_azurerm_service_connection_to_oidc_simple.ps1 -Project <project> -OrganizationUrl https://dev.azure.com/<organization>
#> 

#Requires -Version 7.3

param ( 
    [parameter(Mandatory=$true,HelpMessage="Name of the Azure DevOps Project")]
    [string]
    [ValidateNotNullOrEmpty()]
    $Project,

    [parameter(Mandatory=$true,HelpMessage="Url of the Azure DevOps Organization")]
    [uri]
    [ValidateNotNullOrEmpty()]
    $OrganizationUrl
) 
$apiVersion = "7.1"
$PSNativeCommandArgumentPassing = "Standard" 

#-----------------------------------------------------------
# Log in to Azure
$azdoResource = "499b84ac-1321-427f-aa17-267ca6975798" # application id of Azure DevOps 
az login --allow-no-subscriptions --scope ${azdoResource}/.default
$OrganizationUrl = $OrganizationUrl.ToString().Trim('/')

#-----------------------------------------------------------
# Retrieve the service connection
$getApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints?authSchemes=ServicePrincipal&type=azurerm&includeFailed=false&includeDetails=true&api-version=${apiVersion}"
az rest --resource $azdoResource -u "${getApiUrl} " -m GET --query "sort_by(value[?authorization.scheme=='ServicePrincipal' && data.creationMode=='Automatic' && !(isShared && serviceEndpointProjectReferences[0].projectReference.name!='${Project}')],&name)" -o json `
        | Tee-Object -Variable rawResponse | ConvertFrom-Json | Tee-Object -Variable serviceEndpoints | Format-List | Out-String | Write-Debug
if (!$serviceEndpoints -or ($serviceEndpoints.count-eq 0)) {
    Write-Warning "No convertible service connections found"
    exit 1
}

foreach ($serviceEndpoint in $serviceEndpoints) {
    # Prompt user to confirm conversion
    $choices = @(
        [System.Management.Automation.Host.ChoiceDescription]::new("&Convert", "Converting service connection '$($serviceEndpoint.name)'...")
        [System.Management.Automation.Host.ChoiceDescription]::new("&Skip", "Skipping service connection '$($serviceEndpoint.name)'...")
        [System.Management.Automation.Host.ChoiceDescription]::new("&Exit", "Exit script")
    )
    $prompt = $serviceEndpoint.isShared ? "Convert shared service connection '$($serviceEndpoint.name)'?" : "Convert service connection '$($serviceEndpoint.name)'?"
    $decision = $Host.UI.PromptForChoice([string]::Empty, $prompt, $choices, $serviceEndpoint.isShared ? 1 : 0)

    if ($decision -eq 0) {

        Write-Host "$($choices[$decision].HelpMessage)"
    } elseif ($decision -eq 1) {
        Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
        continue 
    } elseif ($decision -ge 2) {
        Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
        exit 
    }

    # Prepare request body
    $serviceEndpoint.authorization.scheme = "WorkloadIdentityFederation"
    $serviceEndpoint.data.PSObject.Properties.Remove('revertSchemeDeadline')
    $serviceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
    $serviceEndpoint | ConvertTo-Json -Depth 4 -Compress | Set-Variable serviceEndpointRequest
    $putApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints/$($serviceEndpoint.id)?operation=ConvertAuthenticationScheme&api-version=${apiVersion}"
    # Convert service connection
    az rest -u "${putApiUrl} " -m PUT -b $serviceEndpointRequest --headers content-type=application/json --resource $azdoResource -o json `
            | ConvertFrom-Json | Set-Variable updatedServiceEndpoint

    $updatedServiceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
    if (!$updatedServiceEndpoint) {
        Write-Debug "Empty response"
        Write-Error "Failed to convert service connection '$($serviceEndpoint.name)'"
        exit 1
    }
    Write-Host "Successfully converted service connection '$($serviceEndpoint.name)'"
}

還原使用服務主體秘密的現有 Azure Resource Manager 服務連線

您可以使用其秘密還原已轉換的自動服務連線七天。 七天后,手動建立新的秘密。

如果您手動建立和轉換服務連線,就無法使用服務連線轉換工具來還原服務連線,因為 Azure DevOps 沒有修改自己的認證的許可權。

若要還原服務連線:

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

  2. 選取要還原的現有服務連線。

  3. 選取 [ 還原轉換至原始配置]。

    顯示選取同盟認證的還原的螢幕快照。

  4. 再次選取 [ 還原 ] 以確認您的選擇。

建立使用服務主體秘密的 Azure Resource Manager 服務連線

您可以使用服務主體密碼來設定服務連線,以向 Azure 資源進行驗證。 當您需要進一步限制使用者透過服務連線存取的 Azure 資源許可權時,此方法很有用。

您可以選擇手動或自動設定服務連線。 如果您以 Azure Pipelines 組織和 Azure 訂用帳戶的擁有者身分登入,而且您不需要進一步限制使用者透過服務連線存取的 Azure 資源許可權,最佳做法是使用自動方法。

如果下列所有項目都適用於自己的案例,則建議使用此方法:

  • 您已以 Azure Pipelines 組織和 Azure 訂用帳戶的擁有者身分登入。
  • 您不需要進一步限制使用者透過服務連線存取的 Azure 資源許可權。
  • 並未連線到 Azure StackAzure Government 雲端
  • 您未從 Azure DevOps Server 2019 或舊版 Team Foundation Server 進行連線。

若要建立服務連線:

  1. 在 Azure DevOps 專案中,移至 [項目設定>服務連線]。

    如需詳細資訊,請參閱 開啟項目設定

  2. 選取 [ 新增服務連線],然後選取 [Azure Resource Manager ] 和 [下一步]。

    顯示 Azure Resource Manager 選取項目的螢幕快照。

  3. 選取 [服務主體][自動][下一步]。

    顯示選取服務主體 (自動) 驗證方法選取的螢幕快照。

  4. 選取 [ 範圍] 層級。 選取 [訂用帳戶]、[管理群組] 或 [機器學習 工作區]。 管理群組 是可協助您跨多個訂用帳戶管理存取、原則和合規性的容器。 機器學習 工作區可用來建立機器學習成品。

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

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

    • 針對 機器學習 工作區範圍,輸入下列參數:

      參數 描述
      訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。
      訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。
      資源群組 必要。 選取包含工作區的資源群組。
      ML 工作區名稱 必要。 輸入現有 Azure 機器學習 工作區的名稱。
      ML 工作區位置 必要。 輸入現有 Azure 機器學習 工作區的位置。
  5. 輸入服務連線名稱

  6. 或者,輸入服務連線的描述。

  7. 選取 [ 授與所有管線 的訪問許可權] 以允許所有管線使用此服務連線。 如果您未選取此選項,則必須手動授與使用此服務連線之每個管線的存取權。

  8. 選取 [儲存]。

建立新的服務連線之後:

  • 如果您使用傳統編輯器,請選取您在管線的 Azure 訂 用帳戶設定中指派的連線名稱。
  • 如果您使用 YAML 檔案,請將連線名稱複製到程式代碼中作為的值 azureSubscription

若要部署到特定的 Azure 資源,請將資源的詳細資訊新增至工作:

  • 如果您使用傳統編輯器,請選取要新增至工作的數據。 例如,選取 App Service 名稱。
  • 如果您使用 YAML 檔案,請移至 Azure 入口網站 中的資源。 複製您需要的數據,並貼到您的工作程式代碼中。 例如,若要部署 Web 應用程式,請複製 App Service 應用程式的名稱,並將其貼上為工作 YAML 中的 值 WebAppName

注意

當您遵循此方法時,Azure DevOps 會與 Microsoft Entra ID 連線,並使用有效三個月的秘密建立應用程式註冊。 當服務連線即將到期時,Microsoft Entra ID 會顯示此提示: 憑證或密碼即將到期。建立新的 。 在此案例中,您必須重新整理服務連線。

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

我們建議您使用工作負載身分識別同盟,而不是建立秘密。 如果您使用工作負載身分識別同盟,則不需要輪替秘密,而應用程式註冊會維護其預期用途。 若要開始使用工作負載身分識別同盟,請移至服務連線詳細數據頁面,然後選取 [ 轉換]。 服務聯機會轉換成使用工作負載身分識別同盟,而不是秘密。 如需詳細資訊,請參閱 將現有的 Azure Resource Manager 服務連線轉換為使用工作負載身分識別同盟

如需詳細資訊,請參閱 針對 Azure Resource Manager 服務連線進行疑難解答。

如果您使用此方法時遇到問題(例如下拉式清單中未顯示的訂用帳戶),或想要限制用戶權力,您可以改為使用 服務主體具有受控識別的虛擬機。

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

如果您想要使用預先定義的一組訪問許可權,且尚未為此目的定義服務主體,請遵循下列其中一個教學課程來建立新的服務主體:

若要建立使用現有服務主體的服務連線:

  1. 在 Azure DevOps 專案中,移至 [項目設定>服務連線]。

    如需詳細資訊,請參閱 開啟項目設定

  2. 選取 [ 新增服務連線],然後選取 [Azure Resource Manager ] 和 [下一步]。

    顯示 Azure Resource Manager 選取項目的螢幕快照。

  3. 選取 [服務主體][手動][下一步]。

    顯示選取服務主體(手動)驗證方法選取的螢幕快照。

  4. 從 [ 新增 Azure 服務連線 ] 對話框中,選取 [ 環境]。 如果您選取 [Azure Stack],請輸入環境 URL,其類似 https://management.local.azurestack.external

  5. 選取 [ 範圍層級]。 選取 [訂用帳戶]、[管理群組] 或 [機器學習 工作區]。 管理群組 是可協助您跨多個訂用帳戶管理存取、原則和合規性的容器。 機器學習 工作區可用來建立機器學習成品。

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

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

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

      參數 描述
      訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。
      訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。
      資源群組 必要。 選取包含工作區的資源群組。
      ML 工作區名稱 必要。 輸入現有 Azure 機器學習 工作區的名稱。
      ML 工作區位置 必要。 輸入現有 Azure 機器學習 工作區的位置。
  6. 在 [ 驗證] 區段中,輸入或選取下列參數:

    參數 描述
    服務主體標識碼 必要。 輸入服務主體標識碼。
    認證 選取 [服務主體金鑰 ] 或 [憑證]。 如果您選取 [服務主體金鑰],請輸入金鑰(密碼)。 如果您選取 [ 憑證],請輸入憑證。
    租用戶標識碼 必要。 輸入用戶識別碼。
    Verify 選取即可驗證您輸入的設定。
  7. 在 [詳細數據] 區段中,輸入下列參數:

    參數 描述
    連線名稱 必要。 您用來在工作屬性中參考此服務連線的名稱。 不是 Azure 訂用帳戶的名稱。
    說明 選擇性。 輸入服務連線的描述。
    安全性 選取 [ 授與所有管線 的訪問許可權] 以允許所有管線使用此服務連線。 如果您未選取此選項,則必須手動授與使用此服務連線之每個管線的存取權。
  8. 選取 [驗證並儲存 ] 以驗證並建立服務連線。

建立新的服務連線之後:

  • 如果您在 UI 中使用服務連線,請選取您在管線的 Azure 訂 用帳戶設定中指派的連線名稱。
  • 如果您在 YAML 檔案中使用服務連線,請複製連線名稱,並將它貼到程式碼中作為的值 azureSubscription

如有必要,請修改服務主體以公開適當的許可權。

如需使用服務主體進行驗證的詳細資訊,請參閱 使用角色型訪問控制來管理 Azure 訂用帳戶資源的 存取,或部落格文章 使用 Visual Studio 中的服務主體將 Azure 資源群組部署自動化。

如需詳細資訊,請參閱 針對 Azure Resource Manager 服務連線進行疑難解答。

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

注意

若要使用受控識別進行驗證,您必須在 Azure 虛擬機 (VM) 上使用自我裝載代理程式。

您可以在 Azure VM 上設定自我裝載代理程式,以在 Microsoft Entra ID 中使用 Azure 受控識別 。 在此案例中,您會使用系統指派的受控識別(服務主體),將支援Microsoft Entra ID 的任何 Azure 資源存取權授與代理程式,例如 Azure 金鑰保存庫 實例。

  1. 在 Azure DevOps 專案中,移至 [項目設定>服務連線]。

    如需詳細資訊,請參閱 開啟項目設定

  2. 選取 [ 新增服務連線],然後選取 [Azure Resource Manager ] 和 [下一步]。

    顯示選擇服務連線類型的螢幕快照。

  3. 針對驗證方法選取 [受控識別 ]。

    顯示移至受控服務識別驗證方法選取項目的螢幕快照。

  4. 針對 [ 環境],選取環境名稱(Azure 雲端Azure Stack 或 Government 雲端選項)。

  5. 選取 [ 範圍] 層級。 選取 [訂用帳戶]、[管理群組] 或 [機器學習 工作區]。 管理群組 是可協助您跨多個訂用帳戶管理存取、原則和合規性的容器。 機器學習 工作區可用來建立機器學習成品。

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

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

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

      參數 描述
      訂用帳戶標識碼 必要。 輸入 Azure 訂用帳戶標識碼。
      訂用帳戶名稱 必要。 輸入 Azure 訂用帳戶名稱。
      資源群組 必要。 選取包含工作區的資源群組。
      ML 工作區名稱 必要。 輸入現有 Azure 機器學習 工作區的名稱。
      ML 工作區位置 必要。 輸入現有 Azure 機器學習 工作區的位置。
  6. 輸入租用戶 標識碼

  7. 輸入服務連線名稱

  8. 或者,輸入服務連線的描述。

  9. 選取 [ 授與所有管線 的訪問許可權] 以允許所有管線使用此服務連線。 如果您未選取此選項,則必須手動授與使用此服務連線之每個管線的存取權。

  10. 選取 [儲存]。

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

    • 如果您在 UI 中使用服務連線,請選取您在管線的 Azure 訂 用帳戶設定中指派的連線名稱。
    • 如果您在 YAML 檔案中使用服務連線,請將連線名稱複製到您的程式代碼中作為的值 azureSubscription
  12. 請確定 VM(代理程式)具有適當的許可權。

    例如,如果您的程式代碼需要呼叫 Azure Resource Manager,請在 entra ID Microsoft 中使用角色型訪問控制 (RBAC) 將適當的角色指派給 VM。

    如需詳細資訊,請參閱 如何使用 Azure 資源的受控識別? 和使用 角色型訪問控制來管理 Azure 訂用帳戶資源的存取權。

如需程式的詳細資訊,請參閱 針對 Azure Resource Manager 服務連線進行疑難解答。

使用發行配置檔建立服務連線

您可以使用發行設定檔建立服務連線。 您可以使用發行配置檔來建立與 Azure App 服務 的服務連線。

  1. 在 Azure DevOps 專案中,移至 [項目設定>服務連線]。

    如需詳細資訊,請參閱 開啟項目設定

  2. 選取 [ 新增服務連線],然後選取 [Azure Resource Manager ] 和 [下一步]。

    Azure Resource Manager 選取項目的螢幕快照。

  3. 針對驗證方法選取 [發佈配置檔 ],然後選取 [ 下一步]。

    [發佈設定檔驗證方法] 選取項目的螢幕快照。

  4. 輸入下列參數:

    參數 描述
    訂用帳戶 必要。 選取現有的 Azure 訂閱。 如果沒有出現 Azure 訂用帳戶或實例,請參閱 針對 Azure Resource Manager 服務連線進行疑難解答。
    WebApp 必要。 輸入 Azure App 服務 應用程式的名稱。
    服務連線名稱 必要。 您用來在工作屬性中參考此服務連線的名稱。 不是 Azure 訂用帳戶的名稱。
    說明 選擇性。 服務連線的描述。
  5. 選取 [ 授與所有管線 的訪問許可權] 以允許所有管線使用此服務連線。 如果您未選取此選項,則必須手動授與使用此服務連線之每個管線的存取權。

  6. 選取 [儲存]。

建立新的服務連線之後:

  • 如果您在 UI 中使用服務連線,請選取您在管線的 Azure 訂 用帳戶設定中指派的連線名稱。
  • 如果您在 YAML 檔案中使用服務連線,請複製連線名稱,並將它貼到程式碼中作為的值 azureSubscription

聯機到 Azure Government 雲端

如需連線到 Azure Government 雲端的相關信息,請參閱從 Azure Pipelines 連線(Azure Government 雲端)。

連線到 Azure Stack

如需連線到 Azure Stack 的相關信息,請參閱下列文章:

說明與支援