İngilizce dilinde oku

Aracılığıyla paylaş


AzureKeyVault@2 - Azure Key Vault v2 görevi

Kimlik doğrulama anahtarları, depolama hesabı anahtarları, veri şifreleme anahtarları gibi gizli dizileri indirmek için bu görevi kullanın. bir Azure Key Vault örneğinden PFX dosyaları ve parolaları. Görev, kasadan gizli dizilerin tümünün veya bir alt kümesinin en son değerlerini getirmek ve bunları bir işlem hattının sonraki görevlerinde kullanılabilecek değişkenler olarak ayarlamak için kullanılabilir. Görev Düğüm tabanlıdır ve Linux, macOS ve Windows'da aracılarla çalışır.

Sözdizimi

YAML
# Azure Key Vault v2
# Download Azure Key Vault secrets.
- task: AzureKeyVault@2
  inputs:
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    KeyVaultName: # string. Required. Key vault. 
    SecretsFilter: '*' # string. Required. Secrets filter. Default: *.
    #RunAsPreJob: false # boolean. Make secrets available to whole job. Default: false.

Giriş

Azure aboneliği
Giriş diğer adı: ConnectedServiceName. string. Gerekli.

Azure Key Vault örneğini içeren Azure aboneliği için hizmet bağlantısını seçin veya yeni bir bağlantı oluşturun. daha fazla bilgi edinin.


anahtar kasası
string. Gerekli.

İndirilmesi gereken gizli dizileri içeren Azure Key Vault'un adı.


gizli dizileri filtre
string. Gerekli. Varsayılan değer: *.

Girilen değere göre gizli dizi adlarını indirir. Değer, seçilen anahtar kasasından tüm gizli dizileri indirmek için varsayılan değer veya virgülle ayrılmış gizli dizi adları listesi olabilir.


RunAsPreJob - Gizli dizileri tüm iş kullanılabilir hale getirme
boolean. Varsayılan değer: false.

İşi yürütme başlamadan önce görevi çalıştırır. Gizli dizileri yalnızca bunu izleyen görevleri değil, işteki tüm görevlerin kullanıma sunar.


Görev denetimi seçenekleri

Tüm görevlerin, görev girişlerine ek olarak denetim seçenekleri vardır. Daha fazla bilgi için bkz. Denetim seçenekleri ve ortak görev özellikleri.

Çıkış değişkenleri

Hiç kimse.

Açıklamalar

Sürüm 2.0'daki yenilikler: gizli dizilerde %5D %3Bdesteği eklendi.

Kimlik doğrulama anahtarları, depolama hesabı anahtarları, veri şifreleme anahtarları gibi gizli dizileri indirmek için bu görevi kullanın. bir Azure Key Vault örneğinden PFX dosyaları ve parolaları. Görev, kasadan gizli dizilerin tümünün veya bir alt kümesinin en son değerlerini getirmek ve bunları bir işlem hattının sonraki görevlerinde kullanılabilecek değişkenler olarak ayarlamak için kullanılabilir. Görev Düğüm tabanlıdır ve Linux, macOS ve Windows'da aracılarla çalışır.

Azure Key Vault'tan kimlik bilgilerini alma noktasında işlem hatlarında forbidden hatası alıyorum

Azure anahtar kasasında gerekli izinler eksikse bu durum oluşur. Sorunu çözmek için doğru izinlere sahip bir erişim ilkesi ekleyin.

Önkoşullar

Görev aşağıdaki Önkoşullara sahiptir:

Anahtar kasası oluşturabilirsiniz:

Anahtar kasasına gizli diziler ekleme:

  • Set-AzKeyVaultSecretPowerShell cmdlet'ini kullanarak. Gizli dizi yoksa, bu cmdlet onu oluşturur. Gizli dizi zaten varsa, bu cmdlet bu gizli dizinin yeni bir sürümünü oluşturur.

  • Azure CLI kullanarak. Anahtar kasasına bir gizli dizi eklemek için, örneğin sqlpassword adlı bir gizli dizi placeholderPassworddeğeriyle yazın:

    Azure CLI
    az keyvault secret set --vault-name 'ContosoKeyVault' --name 'SQLPassword' --value 'PlaceholderPassword'
    

Gizli dizilere erişmek istediğinizde:

  • Azure hizmet bağlantısının kasada en az Alma ve Listesi izinlerine sahip olduğundan emin olun. Bu izinleri Azure portalındaayarlayabilirsiniz:

    • Kasanın Ayarlar dikey penceresini açın, erişim ilkeleriseçin ve ardından Yeniekle .
    • erişim ilkesi ekle dikey penceresinde Sorumlu seçin'i seçin ve istemci hesabınız için hizmet sorumlusunu seçin.
    • Erişim ilkesi ekle dikey penceresinde Gizli dizi izinleri seçin ve Al ve Listesi'nin işaretli olduğundan (işaretlendiğinden) emin olun.
    • Değişiklikleri kaydetmek için tamam seçin.

Not

Microsoft tarafından barındırılan bir aracı kullanıyorsanız, Güvenlik duvarınıza Microsoft tarafından barındırılan aracının IP aralığını eklemeniz gerekir. Her Çarşamba yayımlanan haftalık JSON dosyasıIP aralıklarının haftalık listesini alın. Yeni IP aralıkları aşağıdaki Pazartesi günü geçerli olur. Daha fazla bilgi için bkz.Microsoft tarafından barındırılan aracıları . Azure DevOps kuruluşunuz için gereken IP aralıklarını bulmak için,Microsoft tarafından barındırılan aracılar için olası IP aralıklarını tanımlamayı öğrenin.

Not

Değerler dize olarak alınır. Örneğin, connectionStringadlı bir gizli dizi varsa, azure anahtar kasasından getirilen ilgili gizli dizinin en son değeriyle connectionString bir görev değişkeni oluşturulur. Bu değişken daha sonra sonraki görevlerde kullanılabilir.

Kasadan getirilen değer bir sertifikaysa (örneğin, bir PFX dosyası), görev değişkeni dize biçiminde PFX içeriğini içerir. PfX dosyasını görev değişkeninden almak için aşağıdaki PowerShell kodunu kullanabilirsiniz:

PowerShell
$kvSecretBytes = [System.Convert]::FromBase64String("$(PfxSecret)")
$certCollection = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2Collection
$certCollection.Import($kvSecretBytes,$null,[System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable)

Sertifika dosyası makinede yerel olarak depolanacaksa, parolayla şifrelemek iyi bir uygulamadır:

PowerShell
 #Get the file created
$password = 'your password'
$protectedCertificateBytes = $certCollection.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Pkcs12, $password)
$pfxPath = [Environment]::GetFolderPath("Desktop") + "\MyCert.pfx"
[System.IO.File]::WriteAllBytes($pfxPath, $protectedCertificateBytes)

Daha fazla bilgi için bkz. Azure Key Vault sertifikalarını kullanmaya başlama.

Örnekler

Gereksinim -leri

Gereksinim Açıklama
İşlem hattı türleri YAML, Klasik derleme, Klasik sürüm
Üzerinde çalışır Agent, DeploymentGroup
Talepleri Hiç kimse
Özellikleri Bu görev, işteki sonraki görevler için herhangi bir talebi karşılamaz.
Komut kısıtlamaları Herhangi
Ayarlanabilir değişkenleri Herhangi
Aracı sürümü 2.182.1 veya üzeri
Görev kategorisi Dağıtmak