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.
Daha fazla bilgi için bkz . İş yükü kimlik federasyonu.
İş 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.
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.
İş yükü kimlik federasyonu (otomatik) ve İleri'yi seçin.
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 kaynak grubunu seçin. 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.
Bir Hizmet bağlantı adı girin.
İsteğe bağlı olarak, hizmet bağlantısı için bir açıklama girin.
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.
Kaydet'i seçin.
Yeni hizmet bağlantısı oluşturulduktan sonra, bağlantı adını kopyalayın ve değerini kodunuza azureSubscription
yapış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 WebAppName
yapış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.
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.
İş yükü kimlik federasyonu (el ile) ve İleri'yi seçin.
1. Adımda: Temel Bilgiler:
- Hizmet bağlantı adı girin
- İsteğe bağlı olarak bir Açıklama girin.
- 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.
- İleri'yi seçin.
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.external
bir şey).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.
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. 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 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.
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 azureSubscription
yapış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 WebAppName
yapış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:
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
İş yükü kimliğini kullanmak için dönüştürmek istediğiniz hizmet bağlantısını seçin.
Dönüştür'ü seçin.
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.
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:
Azure DevOps projesinde Pipelines>Service bağlantıları'na gidin.
Geri dönmek için mevcut bir hizmet bağlantısını seçin.
Dönüştürmeyi özgün düzene geri döndür'e tıklayın.
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:
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.
Hizmet sorumlusu (otomatik) ve İleri'yi seçin.
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.
Bir Hizmet bağlantı adı girin.
İsteğe bağlı olarak, hizmet bağlantısı için bir açıklama girin.
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.
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
azureSubscription
değ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:
- Kaynaklara erişebilen bir Microsoft Entra uygulaması ve hizmet sorumlusu oluşturmak için portalı kullanın
- Sertifikaya sahip bir Azure hizmet sorumlusu oluşturmak için Azure PowerShell kullanma
Mevcut hizmet sorumlusunu kullanan bir hizmet bağlantısı oluşturmak için:
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.
Hizmet sorumlusu (el ile) ve İleri'yi seçin.
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.external
bir şey).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.
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. 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. Hizmet bağlantısını doğrulamak ve oluşturmak için Doğrula ve kaydet'i seçin.
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.
Hizmet sorumlusu (el ile) ve İleri'yi seçin.
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.external
bir şey).Kapsam Düzeyi'ni seçin. Abonelik veya Yönetim Grubu'nun seçin. Yönetim grupları , birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır.
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.
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. 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. Hizmet bağlantısını doğrulamak ve oluşturmak için Doğrula ve kaydet'i seçin.
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager'ı seçin.
Azure Resource Manager hizmet bağlantısı ekle iletişim kutusunda alanları aşağıdaki gibi doldurun:
Bağlantı adını girin.
Ortam'ı seçin. Azure Stack'i seçerseniz ortam URL'sini girin( gibi
https://management.local.azurestack.external
bir şey).Kapsam düzeyi olan Abonelik veya Yönetim Grubu'na tıklayın. Yönetim grupları , birden çok abonelikte erişimi, ilkeyi ve uyumluluğu yönetmenize yardımcı olan kapsayıcılardır.
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.
Hizmet sorumlusu kimliğini girin.
Kimlik bilgisi türünü seçin:
- Hizmet sorumlusu anahtarı: Hizmet sorumlusu anahtarını (parola) girin.
- Sertifika: Hem sertifika hem de özel anahtar bölümleri dahil olmak üzere .perm dosyasının içeriğini girin.
Kiracı Kimliğini girin.
Hizmet bağlantısını doğrulamak için Bağlantıyı doğrula'yı seçin.
İsteğe bağlı olarak, Tüm işlem hatlarının bu bağlantıyı kullanmasına izin 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.
Hizmet bağlantısını oluşturmak için 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
azureSubscription
yapış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.
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.
Kimlik doğrulama yöntemi için Yönetilen kimlik'i seçin.
Ortam için ortam adını (Azure Bulut, Azure Stack veya Kamu bulut seçenekleri) seçin.
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.
Kiracı Kimliğini girin.
Hizmet bağlantı adını girin.
İsteğe bağlı olarak, hizmet bağlantısı için bir açıklama girin.
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.
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ı değeri olarak kodunuz içine
azureSubscription
kopyalayın.
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.
Azure DevOps projesinde Proje ayarları>Hizmet bağlantıları'na gidin.
Daha fazla bilgi için bkz . Proje ayarlarını açma.
Yeni hizmet bağlantısı'nı ve ardından Azure Resource Manager ve İleri'yi seçin.
Kimlik doğrulama yöntemi için Profili yayımla'yı ve ardından İleri'yi seçin.
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ı. 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.
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
azureSubscription
yapış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
- Sorun giderme ipuçlarını keşfedin.
- Stack Overflow hakkında öneri alın.
- Azure DevOps Geliştirici Topluluğu sorularınızı gönderin, yanıt arayın veya bir özellik önerin.
- Azure DevOps için destek alın.