Aracılığıyla paylaş


Azure Resource Manager hizmet bağlantısı kullanarak Azure'a bağlanma

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

Azure Key Vault gibi Azure kaynaklarına bağlanmak için Bir Azure Resource Manager hizmet bağlantısı kullanabilirsiniz. Resource Manager hizmet bağlantısı kullanıyorsanız, her seferinde kimlik doğrulaması yapmadan Azure Uygulaması Hizmeti uygulaması gibi bir Azure kaynağına dağıtmak için işlem hattı kullanabilirsiniz.

Azure Resource Manager hizmet bağlantılarını kullanarak Azure'a bağlanmak için birden çok kimlik doğrulaması seçeneğiniz vardır:

  • İş yükü kimlik federasyonu ile hizmet sorumlusu
  • Gizli dizili hizmet sorumlusu
  • Sistem tarafından atanan yönetilen kimlik
  • Genel profil

Hizmet bağlantısı, Azure kaynaklarıyla kimlik doğrulaması yapmak için bir hizmet sorumlusu kullanır.

İş yükü kimlik federasyonu kullanan bir Azure Resource Manager hizmet bağlantısı oluşturma

İş yükü kimliği federasyonu , gizli dizi kullanmadan Microsoft Entra korumalı kaynaklarla kimlik doğrulaması yapmak için OpenID Connect 'i (OIDC) kullanır. Kimlik doğrulaması için iş yükü kimlik federasyonu otomatik olarak oluşturabilir veya el ile oluşturabilirsiniz.

Aşağıdaki tüm ögeler senaryonuz için geçerliyse bu yaklaşımı kullanmanızı öneririz:

  • Azure aboneliğiniz için Sahip rolünüz bulunuyorsa.
  • Azure Stack'e veya Azure ABD Kamu ortamlarına bağlana değilsiniz.
  • Kullandığınız tüm Market uzantıları görevleri, iş yükü kimlik federasyonu desteği için güncelleştirilir.

İş yükü kimlik federasyonuyla hizmet bağlantısı oluşturma (otomatik)

Bu seçimle, Azure DevOps bağlanmak istediğiniz abonelik, yönetim grubu veya Machine Learning çalışma alanı için otomatik olarak sorgular ve kimlik doğrulaması için bir iş yükü kimlik federasyonu oluşturur.

  1. Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.

    Daha fazla bilgi için bkz . Proje ayarlarını açma.

  2. Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.

    Azure Resource Manager seçimini gösteren ekran görüntüsü.

  3. İş yükü kimlik federasyonu (otomatik) ve İleri'yi seçin.

    İş Yükü Kimliği federasyonu (otomatik) kimlik doğrulama yöntemi seçiminin ekran görüntüsü.

  4. Kapsam düzeyi seçin. Abonelik, Yönetim Grubu veya Machine Learning Çalışma Alanı'yı seçin. Yönetim grupları , birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır. Machine Learning Çalışma Alanı, makine öğrenmesi yapıtları oluşturmak için kullanılabilir.

    • Abonelik kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Gerekli. Azure aboneliğini seçin.
      Kaynak grubu Gerekli. Azure aboneliği adını girin.
    • Yönetim Grubu kapsamı için Azure yönetim grubunu seçin.

    • Machine Learning Çalışma Alanı kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Gerekli. Azure aboneliğini seçin.
      Kaynak Grubu Gerekli. Çalışma alanını içeren kaynak grubunu seçin.
      Machine Learning Çalışma Alanı Gerekli. Azure Machine Learning çalışma alanını seçin.
  5. Bir Hizmet bağlantı adı girin.

  6. İsteğe bağlı olarak, hizmet bağlantısı için bir açıklama girin.

  7. Tüm işlem hatlarının bu hizmet bağlantısını kullanmasına izin vermek için Tüm işlem hatlarına erişim izni ver'i seçin. Bu seçeneği belirtmezseniz, bu hizmet bağlantısını kullanan her işlem hattına el ile erişim vermelisiniz.

  8. Kaydet'i seçin.

Yeni hizmet bağlantısı oluşturulduktan sonra, bağlantı adını kopyalayın ve değerini kodunuza azureSubscriptionyapıştırın.

Belirli bir Azure kaynağına dağıtmak için görevin bu kaynak hakkında daha fazla veriye ihtiyacı vardır. Azure portalında kaynağa gidin ve ardından verileri kodunuz içine kopyalayın. Örneğin, bir web uygulaması dağıtmak için Azure Uygulaması Service uygulamasının adını kopyalayın ve değerini kodunuza WebAppNameyapıştırın.

İş yükü kimlik federasyonu ile hizmet bağlantısı oluşturma (el ile)

Kimlik doğrulaması için mevcut bir iş yükü kimlik federasyonu kullanan bir hizmet bağlantısını el ile oluşturmak için bu seçeneği kullanın.

  1. Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.

    Daha fazla bilgi için bkz . Proje ayarlarını açma.

  2. Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.

    İş Yükü Kimliği federasyonu (el ile) kimlik doğrulama yöntemi seçiminin ekran görüntüsü.

  3. İş yükü kimlik federasyonu (el ile) ve İleri'yi seçin.

    İş yükü kimlik hizmeti bağlantı türünü seçmeyi gösteren ekran görüntüsü.

  4. 1. Adımda: Temel Bilgiler:

    1. Hizmet bağlantı adı girin
    2. İsteğe bağlı olarak bir Açıklama girin.
    3. Tüm işlem hatlarının bu hizmet bağlantısını kullanmasına izin vermek için Tüm işlem hatlarına erişim izni ver'i seçin. Bu seçeneği belirtmezseniz, bu hizmet bağlantısını kullanan her işlem hattına el ile erişim vermelisiniz.
    4. İleri'yi seçin.
  5. 2. Adımda: Hizmet Sorumlusu Ayrıntıları:

    2. Adım: Hizmet Sorumlusu Ayrıntıları aşağıdaki parametreleri içerir. Aşağıdaki parametreleri girebilir veya seçebilirsiniz:

    Parametre Açıklama
    Veren Gerekli. DevOps otomatik olarak oluşturur veren URL'si otomatik olarak oluşturulur
    Konu tanımlayıcısı Gerekli. DevOps, konu tanımlayıcısını otomatik olarak oluşturur.
    Ortam Gerekli. Bağlanmak için bir bulut ortamı seçin. Azure Stack'i seçerseniz ortam URL'sini girin( gibi https://management.local.azurestack.externalbir şey).
    1. Kapsam Düzeyi'ni seçin. Abonelik, Yönetim Grubu veya Machine Learning Çalışma Alanı'yı seçin. Yönetim grupları , birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır. Machine Learning Çalışma Alanı, makine öğrenmesi yapıtları oluşturmak için kullanılabilir.

      • Abonelik kapsamı için aşağıdaki parametreleri girin:

        Parametre Açıklama
        Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
        Abonelik Adı Gerekli. Azure aboneliği adını girin.
      • Yönetim Grubu kapsamı için aşağıdaki parametreleri girin:

        Parametre Açıklama
        Yönetim Grubu Kimliği Gerekli. Azure yönetim grubu kimliğini girin.
        Yönetim Grubu Adı Gerekli. Azure yönetim grubu adını girin.
      • Machine Learning Çalışma Alanı kapsamı için aşağıdaki parametreleri girin:

        Parametre Açıklama
        Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
        Abonelik Adı Gerekli. Azure aboneliği adını girin.
        Kaynak Grubu Gerekli. Çalışma alanını içeren kaynak grubunu seçin.
        ML Çalışma Alanı Adı Gerekli. Mevcut Azure Machine Learning çalışma alanının adını girin.
        ML Çalışma Alanı Konumu Gerekli. Mevcut Azure Machine Learning çalışma alanının konumunu girin.
    2. Kimlik Doğrulaması bölümünde aşağıdaki parametreleri girin veya seçin:

      Parametre Açıklama
      Hizmet Sorumlusu Kimliği Gerekli. Hizmet sorumlusu kimliğini girin.
      Kiracı Kimliği Gerekli. Kiracı kimliğini girin.
    3. Ayrıntılar bölümünde aşağıdaki parametreleri girin:

      Parametre Açıklama
      Bağlantı Adı Gerekli. Görev özelliklerinde bu hizmet bağlantısına başvurmak için kullandığınız ad. Azure aboneliğinizin adı değil.
      Açıklama isteğe bağlı. Hizmet bağlantısının açıklamasını girin.
    4. Güvenlik bölümünde Tüm işlem hatlarının bu hizmet bağlantısını kullanmasına izin vermek için Tüm işlem hatlarına erişim izni ver'i seçin. Bu seçeneği belirtmezseniz, bu hizmet bağlantısını kullanan her işlem hattına el ile erişim vermelisiniz.

    5. Hizmet bağlantısını doğrulamak ve oluşturmak için Doğrula ve kaydet'i seçin.

Yeni hizmet bağlantısı oluşturulduktan sonra, bağlantı adını kopyalayın ve değerini kodunuza azureSubscriptionyapıştırın.

Belirli bir Azure kaynağına dağıtmak için görevin bu kaynak hakkında daha fazla veriye ihtiyacı vardır. Azure portalında kaynağa gidin ve ardından verileri kodunuz içine kopyalayın. Örneğin, bir web uygulaması dağıtmak için Azure Uygulaması Service uygulamasının adını kopyalayın ve değerini kodunuza WebAppNameyapıştırın.

Mevcut bir Azure Resource Manager hizmet bağlantısını iş yükü kimlik federasyonu kullanmak için dönüştürme

Mevcut bir Azure Resource Manager hizmet bağlantısını, hizmet sorumlusu yerine kimlik doğrulaması için iş yükü kimlik federasyonu kullanacak şekilde hızla dönüştürebilirsiniz. Hizmet bağlantınız şu gereksinimleri karşılıyorsa Azure DevOps'ta hizmet bağlantısı dönüştürme aracını kullanabilirsiniz:

  • Azure DevOps başlangıçta hizmet bağlantısını oluşturmuştur. Hizmet bağlantınızı el ile oluşturursanız, Azure DevOps'un kendi kimlik bilgilerini değiştirme izinleri olmadığından hizmet bağlantısı dönüştürme aracını kullanarak hizmet bağlantısını dönüştüremezsiniz.
  • Hizmet bağlantısını yalnızca bir proje kullanır. Çapraz proje hizmeti bağlantılarını dönüştüremezsiniz.

Hizmet bağlantısını dönüştürmek için:

  1. Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.

    Daha fazla bilgi için bkz . Proje ayarlarını açma.

  2. İş yükü kimliğini kullanmak için dönüştürmek istediğiniz hizmet bağlantısını seçin.

  3. Dönüştür'ü seçin.

    Federasyon kimlik bilgileri için dönüştürmeyi seçmeyi gösteren ekran görüntüsü.

    Süresi dolmuş bir gizli diziye sahip mevcut bir hizmet sorumlusu kimlik bilgileriniz varsa, dönüştürmek için farklı bir seçenek görürsünüz.

    Süresi dolmuş bir sertifikanız olduğunda federasyon kimlik bilgilerini kullanmak üzere dönüştürme seçeneğini gösteren ekran görüntüsü.

  4. Yeni bir hizmet bağlantısı oluşturmak istediğinizi onaylamak için Yeniden Dönüştür'ü seçin.

    Dönüştürme işlemi birkaç dakika sürebilir. Bağlantıyı geri almak istiyorsanız, yedi gün içinde bağlantıyı geri döndürmeniz gerekir.

Betik ile birden çok Azure Resource Manager hizmet bağlantısını dönüştürme

Şimdi kimlik doğrulaması için iş yükü kimlik federasyonu kullanmak üzere aynı anda birden çok hizmet bağlantısını güncelleştirmek için bir betik kullanın.

Bu örnek PowerShell betiği iki parametre gerektirir: Azure DevOps kuruluşu (örnek: https://dev.azure.com/fabrikam-tailspin) ve Azure DevOps projesi (örnek: Space game web agent). Betik daha sonra Azure DevOps projeniz ve kuruluşunuz için ilişkili hizmet bağlantılarını alır.

Hizmet bağlantılarını iş yükü kimlik federasyonu kullanacak şekilde dönüştürürken, henüz kullanmayan her bağlantı için güncelleştirmeyi onaylamanız istenir. Onay üzerine betik, iş yükü kimlik federasyonu kullanmak için Azure DevOps REST API aracılığıyla bu hizmet bağlantılarını güncelleştirir.

Betiğin çalışması için PowerShell 7.3 veya üzeri ve Azure CLI gerekir. Betiği bir .ps1 dosyaya kaydedin ve PowerShell 7 kullanarak çalıştırın.

#!/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)'"
}

Hizmet sorumlusu gizli dizisi kullanan mevcut bir Azure Resource Manager Hizmeti bağlantısını geri alma

Dönüştürülen otomatik hizmet bağlantısını yedi gün boyunca gizli dizisiyle geri döndürebilirsiniz. Yedi gün sonra el ile yeni bir gizli dizi oluşturun.

Hizmet bağlantınızı el ile oluşturur ve dönüştürürseniz, Azure DevOps'un kendi kimlik bilgilerini değiştirme izinleri olmadığından hizmet bağlantısı dönüştürme aracını kullanarak hizmet bağlantısını geri döndüremezsiniz.

Hizmet bağlantısını geri döndürmek için:

  1. Azure DevOps projesinde Pipelines>Service bağlantıları'na gidin.

  2. Geri dönmek için mevcut bir hizmet bağlantısını seçin.

  3. Dönüştürmeyi özgün düzene geri döndür'e tıklayın.

    Federasyon kimlik bilgileri için geri döndürme seçeneğini gösteren ekran görüntüsü.

  4. Seçiminizi onaylamak için Yeniden Döndür'e tıklayın.

Hizmet sorumlusu gizli dizisi kullanan bir Azure Resource Manager hizmet bağlantısı oluşturma

Hizmet sorumlusu gizli dizisini kullanarak Azure kaynaklarıyla kimlik doğrulaması yapmak için bir hizmet bağlantısı ayarlayabilirsiniz. Bu yaklaşım, kullanıcıların hizmet bağlantısı üzerinden eriştiği Azure kaynakları için izinleri daha fazla sınırlamanız gerektiğinde kullanışlıdır.

Hizmet bağlantısını el ile veya otomatik olarak yapılandırmayı seçebilirsiniz. Azure Pipelines kuruluşunun ve Azure aboneliğinin sahibi olarak oturum açtıysanız ve kullanıcıların hizmet bağlantısı üzerinden eriştiği Azure kaynakları için izinleri daha fazla sınırlamanız gerekmiyorsa otomatik yaklaşımı kullanmak en iyi yöntemdir.

Aşağıdaki tüm ögeler senaryonuz için geçerliyse bu yaklaşımı kullanmanızı öneririz:

  • Azure Pipelines kuruluşunun ve Azure aboneliğinin sahibi olarak oturum açtınız.
  • Kullanıcıların hizmet bağlantısı üzerinden erişebilecekleri Azure kaynakları için izinleri daha fazla sınırlamanız gerekmez.
  • Azure Stack’e veya bir Azure Kamu Bulutu’na bağlanamıyorsanız.
  • Azure DevOps Server 2019 veya Team Foundation Server'ın önceki sürümlerinden bağlanmıyorsunuz.

Hizmet bağlantısını oluşturmak için:

  1. Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.

    Daha fazla bilgi için bkz . Proje ayarlarını açma.

  2. Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.

    Azure Resource Manager seçimini gösteren ekran görüntüsü.

  3. Hizmet sorumlusu (otomatik) ve İleri'yi seçin.

    Hizmet sorumlusu (otomatik) kimlik doğrulama yöntemi seçimini gösteren ekran görüntüsü.

  4. Kapsam düzeyini seçin. Abonelik, Yönetim Grubu veya Machine Learning Çalışma Alanı'yı seçin. Yönetim grupları , birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır. Machine Learning Çalışma Alanı, makine öğrenmesi yapıtları oluşturmak için kullanılabilir.

    • Abonelik kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
      Abonelik Adı Gerekli. Azure aboneliği adını girin.
    • Yönetim Grubu kapsamı için aşağıdaki parametreleri girin ve Azure yönetim grubunu seçin.

    • Machine Learning Çalışma Alanı kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
      Abonelik Adı Gerekli. Azure aboneliği adını girin.
      Kaynak Grubu Gerekli. Çalışma alanını içeren kaynak grubunu seçin.
      ML Çalışma Alanı Adı Gerekli. Mevcut Azure Machine Learning çalışma alanının adını girin.
      ML Çalışma Alanı Konumu Gerekli. Mevcut Azure Machine Learning çalışma alanının konumunu girin.
  5. Bir Hizmet bağlantı adı girin.

  6. İsteğe bağlı olarak, hizmet bağlantısı için bir açıklama girin.

  7. Tüm işlem hatlarının bu hizmet bağlantısını kullanmasına izin vermek için Tüm işlem hatlarına erişim izni ver'i seçin. Bu seçeneği belirtmezseniz, bu hizmet bağlantısını kullanan her işlem hattına el ile erişim vermelisiniz.

  8. Kaydet'i seçin.

Yeni hizmet bağlantısı oluşturulduktan sonra:

  • Klasik düzenleyiciyi kullanıyorsanız işlem hattınızın Azure aboneliği ayarında atadığınız bağlantı adını seçin.
  • YAML dosyası kullanıyorsanız bağlantı adını kodunuz için azureSubscriptiondeğeri olarak kopyalayın.

Belirli bir Azure kaynağına dağıtmak için göreve kaynak hakkında daha fazla bilgi ekleyin:

  • Klasik düzenleyiciyi kullanıyorsanız, göreve eklenecek verileri seçin. Örneğin App Service adını seçin.
  • YAML dosyası kullanıyorsanız Azure portalında kaynağa gidin. İhtiyacınız olan verileri kopyalayın ve görev kodunuz içine yapıştırın. Örneğin, bir web uygulamasını dağıtmak için App Service uygulamasının adını kopyalayın ve YAML görevine değeri WebAppName olarak yapıştırın.

Not

Bu yaklaşımı uyguladığınızda Azure DevOps , Microsoft Entra Id ile bağlanır ve üç ay boyunca geçerli olan bir gizli dizi içeren bir uygulama kaydı oluşturur. Hizmet bağlantısının süresi dolmak üzereyken, Microsoft Entra Id şu istemi görüntüler: Sertifika veya gizli dizi yakında sona eriyor. Yeni bir tane oluşturun. Bu senaryoda, hizmet bağlantısını yenilemeniz gerekir.

Hizmet bağlantısını yenilemek için Azure DevOps portalında bağlantıyı düzenleyin ve ardından Doğrula'yı seçin. Düzenlemeyi kaydettikten sonra hizmet bağlantısı üç ay daha geçerli olur.

Gizli dizi oluşturmak yerine iş yükü kimlik federasyonu kullanmanızı öneririz. İş yükü kimlik federasyonu kullanıyorsanız gizli dizileri döndürmeniz gerekmez ve uygulama kaydı amaçlanan amacını korur. İş yükü kimliği federasyonu kullanmaya başlamak için hizmet bağlantısı ayrıntıları sayfasına gidin ve Dönüştür'ü seçin. Hizmet bağlantısı gizli dizi yerine iş yükü kimlik federasyonu kullanacak şekilde dönüştürülür. Daha fazla bilgi için bkz . Var olan bir Azure Resource Manager hizmet bağlantısını iş yükü kimlik federasyonu kullanacak şekilde dönüştürme.

Daha fazla bilgi için bkz . Azure Resource Manager hizmet bağlantısı sorunlarını giderme.

Bu yaklaşımı kullanırken sorun yaşıyorsanız (açılan listede hiç abonelik gösterilmemesi gibi) veya kullanıcı izinlerini sınırlamak istiyorsanız, bunun yerine bir hizmet sorumlusu veya yönetilen kimliği olan bir sanal makine kullanabilirsiniz.

Mevcut hizmet sorumlusunu kullanan bir Azure Resource Manager hizmet bağlantısı oluşturma

Önceden tanımlanmış bir erişim izinleri kümesi kullanmak istiyorsanız ve bu amaçla tanımlanmış bir hizmet sorumlunuz yoksa, yeni bir hizmet sorumlusu oluşturmak için şu öğreticilerden birini izleyin:

Mevcut hizmet sorumlusunu kullanan bir hizmet bağlantısı oluşturmak için:

  1. Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.

    Daha fazla bilgi için bkz . Proje ayarlarını açma.

  2. Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.

    Azure Resource Manager seçimini gösteren ekran görüntüsü.

  3. Hizmet sorumlusu (el ile) ve İleri'yi seçin.

    Hizmet sorumlusu (el ile) kimlik doğrulama yöntemi seçimini gösteren ekran görüntüsü.

  4. Yeni Azure hizmet bağlantısı iletişim kutusunda Ortam'ı seçin. Azure Stack'i seçerseniz ortam URL'sini girin( gibi https://management.local.azurestack.externalbir şey).

  5. Kapsam Düzeyi'ni seçin. Abonelik, Yönetim Grubu veya Machine Learning Çalışma Alanı'yı seçin. Yönetim grupları , birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır. Machine Learning Çalışma Alanı, makine öğrenmesi yapıtları oluşturmak için kullanılabilir.

    • Abonelik kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
      Abonelik Adı Gerekli. Azure aboneliği adını girin.
    • Yönetim Grubu kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Yönetim Grubu Kimliği Gerekli. Azure yönetim grubu kimliğini girin.
      Yönetim Grubu Adı Gerekli. Azure yönetim grubu adını girin.
    • Machine Learning Çalışma Alanı kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
      Abonelik Adı Gerekli. Azure aboneliği adını girin.
      Kaynak Grubu Gerekli. Çalışma alanını içeren kaynak grubunu seçin.
      ML Çalışma Alanı Adı Gerekli. Mevcut Azure Machine Learning çalışma alanının adını girin.
      ML Çalışma Alanı Konumu Gerekli. Mevcut Azure Machine Learning çalışma alanının konumunu girin.
  6. Kimlik Doğrulaması bölümünde aşağıdaki parametreleri girin veya seçin:

    Parametre Açıklama
    Hizmet Sorumlusu Kimliği Gerekli. Hizmet sorumlusu kimliğini girin.
    Kimlik bilgisi Hizmet Sorumlusu Anahtarı veya Sertifika'ya tıklayın. Hizmet Sorumlusu Anahtarı'nı seçtiyseniz anahtarı (parola) girin. Sertifika'yı seçtiyseniz sertifikayı girin.
    Kiracı Kimliği Gerekli. Kiracı kimliğini girin.
    Doğrulamak Girdiğiniz ayarları doğrulamak için seçin.
  7. Ayrıntılar bölümünde aşağıdaki parametreleri girin:

    Parametre Açıklama
    Bağlantı Adı Gerekli. Görev özelliklerinde bu hizmet bağlantısına başvurmak için kullandığınız ad. Azure aboneliğinizin adı değil.
    Açıklama isteğe bağlı. Hizmet bağlantısının açıklamasını girin.
    Güvenlik Tüm işlem hatlarının bu hizmet bağlantısını kullanmasına izin vermek için Tüm işlem hatlarına erişim izni ver'i seçin. Bu seçeneği belirtmezseniz, bu hizmet bağlantısını kullanan her işlem hattına el ile erişim vermelisiniz.
  8. Hizmet bağlantısını doğrulamak ve oluşturmak için Doğrula ve kaydet'i seçin.

Yeni hizmet bağlantısı oluşturulduktan sonra:

  • Kullanıcı arabiriminde hizmet bağlantısını kullanıyorsanız işlem hattınızın Azure aboneliği ayarında atadığınız bağlantı adını seçin.
  • Hizmet bağlantısını bir YAML dosyasında kullanıyorsanız, bağlantı adını kopyalayın ve değerini kodunuza azureSubscriptionyapıştırın.

Gerekirse, uygun izinleri kullanıma açmak için hizmet sorumlusunu değiştirin.

Hizmet sorumlusu kullanarak kimlik doğrulaması yapma hakkında daha fazla bilgi için bkz. Azure abonelik kaynaklarınıza erişimi yönetmek için rol tabanlı erişim denetimini kullanma veya Visual Studio'da hizmet sorumlusu kullanarak Azure kaynak grubu dağıtımını otomatikleştirme blog gönderisi.

Daha fazla bilgi için bkz . Azure Resource Manager hizmet bağlantılarında sorun giderme.

Yönetilen kimlik kullanan bir VM'ye Azure Resource Manager hizmet bağlantısı oluşturma

Not

Kimlik doğrulaması için yönetilen kimlik kullanmak için Azure sanal makinesinde (VM) şirket içinde barındırılan aracı kullanmanız gerekir.

Azure VM'lerinde şirket içinde barındırılan aracıları Microsoft Entra Id'de Azure yönetilen kimliği kullanacak şekilde yapılandırabilirsiniz. Bu senaryoda, aracılara Azure Key Vault örneği gibi Microsoft Entra Kimliğini destekleyen herhangi bir Azure kaynağına erişim vermek için sistem tarafından atanan yönetilen kimliği (hizmet sorumlusu) kullanırsınız.

  1. Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.

    Daha fazla bilgi için bkz . Proje ayarlarını açma.

  2. Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.

    Hizmet bağlantı türü seçmeyi gösteren ekran görüntüsü.

  3. Kimlik doğrulama yöntemi için Yönetilen kimlik'i seçin.

    Yönetilen hizmet kimliği kimlik doğrulama yöntemi seçimine gidildiğini gösteren ekran görüntüsü.

  4. Ortam için ortam adını (Azure Bulut, Azure Stack veya Kamu bulut seçenekleri) seçin.

  5. Kapsam düzeyini seçin. Abonelik, Yönetim Grubu veya Machine Learning Çalışma Alanı'yı seçin. Yönetim grupları , birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır. Machine Learning Çalışma Alanı, makine öğrenmesi yapıtları oluşturmak için kullanılabilir.

    • Abonelik kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
      Abonelik Adı Gerekli. Azure aboneliği adını girin.
    • Yönetim Grubu kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Yönetim Grubu Kimliği Gerekli. Azure yönetim grubu kimliğini girin.
      Yönetim Grubu Adı Gerekli. Azure yönetim grubu adını girin.
    • Machine Learning Çalışma Alanı kapsamı için aşağıdaki parametreleri girin:

      Parametre Açıklama
      Abonelik Kimliği Gerekli. Azure abonelik kimliğini girin.
      Abonelik Adı Gerekli. Azure aboneliği adını girin.
      Kaynak Grubu Gerekli. Çalışma alanını içeren kaynak grubunu seçin.
      ML Çalışma Alanı Adı Gerekli. Mevcut Azure Machine Learning çalışma alanının adını girin.
      ML Çalışma Alanı Konumu Gerekli. Mevcut Azure Machine Learning çalışma alanının konumunu girin.
  6. Kiracı Kimliğini girin.

  7. Hizmet bağlantı adını girin.

  8. İsteğe bağlı olarak, hizmet bağlantısı için bir açıklama girin.

  9. Tüm işlem hatlarının bu hizmet bağlantısını kullanmasına izin vermek için Tüm işlem hatlarına erişim izni ver'i seçin. Bu seçeneği belirtmezseniz, bu hizmet bağlantısını kullanan her işlem hattına el ile erişim vermelisiniz.

  10. Kaydet'i seçin.

  11. Yeni hizmet bağlantısı oluşturulduktan sonra:

    • Kullanıcı arabiriminde hizmet bağlantısını kullanıyorsanız işlem hattınızın Azure aboneliği ayarında atadığınız bağlantı adını seçin.
    • Hizmet bağlantısını bir YAML dosyasında kullanıyorsanız, bağlantı adını değeri olarak kodunuz içine azureSubscriptionkopyalayın.
  12. VM'nin (aracı) uygun izinlere sahip olduğundan emin olun.

    Örneğin, kodunuzun Azure Resource Manager'ı çağırması gerekiyorsa, Microsoft Entra Id'de rol tabanlı erişim denetimi (RBAC) kullanarak VM'ye uygun rolü atayın.

    Daha fazla bilgi için bkz . Azure kaynakları için yönetilen kimlikleri nasıl kullanabilirim? ve Azure abonelik kaynaklarınıza erişimi yönetmek için rol tabanlı erişim denetimini kullanma.

İşlem hakkında daha fazla bilgi için bkz . Azure Resource Manager hizmet bağlantılarında sorun giderme.

Yayımlama profili kullanarak hizmet bağlantısı oluşturma

Yayımlama profili kullanarak hizmet bağlantısı oluşturabilirsiniz. Azure Uygulaması Hizmeti'ne hizmet bağlantısı oluşturmak için yayımlama profili kullanabilirsiniz.

  1. Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.

    Daha fazla bilgi için bkz . Proje ayarlarını açma.

  2. Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.

    Azure Resource Manager seçiminin ekran görüntüsü.

  3. Kimlik doğrulama yöntemi için Profili yayımla'yı ve ardından İleri'yi seçin.

    Profil kimlik doğrulama yöntemini yayımla seçiminin ekran görüntüsü.

  4. Aşağıdaki parametreleri girin:

    Parametre Açıklama
    Abonelik Gerekli. Mevcut bir Azure aboneliğini seçin. Hiçbir Azure aboneliği veya örneği görünmüyorsa bkz . Azure Resource Manager hizmet bağlantılarında sorun giderme.
    WebApp Gerekli. Azure Uygulaması Hizmeti uygulamasının adını girin.
    Hizmet bağlantısı adı Gerekli. Görev özelliklerinde bu hizmet bağlantısına başvurmak için kullandığınız ad. Azure aboneliğinizin adı değil.
    Açıklama isteğe bağlı. Hizmet bağlantısının açıklaması.
  5. Tüm işlem hatlarının bu hizmet bağlantısını kullanmasına izin vermek için Tüm işlem hatlarına erişim izni ver'i seçin. Bu seçeneği belirtmezseniz, bu hizmet bağlantısını kullanan her işlem hattına el ile erişim vermelisiniz.

  6. Kaydet'i seçin.

Yeni hizmet bağlantısı oluşturulduktan sonra:

  • Kullanıcı arabiriminde hizmet bağlantısını kullanıyorsanız işlem hattınızın Azure aboneliği ayarında atadığınız bağlantı adını seçin.
  • Hizmet bağlantısını bir YAML dosyasında kullanıyorsanız, bağlantı adını kopyalayın ve değerini kodunuza azureSubscriptionyapıştırın.

Azure Kamu Buluta bağlanma

Azure Kamu Bulut'a bağlanma hakkında bilgi için bkz. Azure Pipelines'dan bağlanma (Azure Kamu Bulut).

Azure Stack’e bağlanma

Azure Stack'e bağlanma hakkında bilgi için şu makalelere bakın:

Yardım ve destek