Share via


Gizli dizi değişkenlerini ayarlama

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

Gizli dizi değişkenleri, işlem hatlarında değerlerini göstermeden kullanabileceğiniz şifrelenmiş değişkenlerdir. Gizli dizi değişkenleri parolalar, kimlikler ve işlem hattında kullanıma sunulmasını istemediğiniz diğer tanımlayıcı veriler gibi özel bilgiler için kullanılabilir. Gizli dizi değişkenleri bekleyen bir 2048 bit RSA anahtarıyla şifrelenir ve aracıda kullanılacak görevler ve betikler için kullanılabilir.

Gizli dizi değişkenlerini ayarlamanın önerilen yolları kullanıcı arabiriminde, değişken grubunda ve Azure Key Vault'taki bir değişken grubunda yer alır. Bir betikte gizli dizi değişkenlerini günlük komutuyla da ayarlayabilirsiniz, ancak işlem hattınıza erişebilen herkes gizli diziyi de görebildiğinden bu önerilmez.

bir işlem hattının işlem hattı ayarları kullanıcı arabiriminde ayarlanan gizli dizi değişkenleri, ayarlandıkları işlem hattı kapsamındadır. Gizli dizi değişkenlerini işlem hatları arasında paylaşmak için değişken gruplarını kullanabilirsiniz.

Kullanıcı arabirimindeki gizli dizi değişkeni

Tek bir işlem hattını düzenlerken işlem hattı düzenleyicisinde gizli dizi değişkenleri ayarlayabilirsiniz. Kilit simgesini seçerek işlem hattı değişkenini şifreler ve gizli dizi yaparsınız.

Gizli dizi değişkenlerini YAML ve Klasik için aynı şekilde ayarlarsınız.

Web arabiriminde gizli dizileri ayarlamak için şu adımları izleyin:

  1. İşlem Hatları sayfasına gidin, uygun işlem hattını seçin ve ardından Düzenle'yi seçin.
  2. Bu işlem hattı için Değişkenleri bulun.
  3. Değişkeni ekleyin veya güncelleştirin.
  4. Değişkeni şifrelenmiş bir şekilde depolamak için Bu değeri gizli tut seçeneğini belirleyin.
  5. İşlem hattını kaydedin.

Gizli dizi değişkenleri bekleyen bir 2048 bit RSA anahtarıyla şifrelenir. Gizli diziler, kullanılacak görevler ve betikler için aracıda kullanılabilir. İşlem hattınızı değiştirme erişimi olan kişilere dikkat edin.

Önemli

Gizli dizilerin Azure Pipelines çıkışında görünmesini maskeleme çabası gösteririz, ancak yine de önlem almanız gerekir. Gizli dizileri hiçbir zaman çıkış olarak yankılamayın. Bazı işletim sistemleri komut satırı bağımsız değişkenlerini günlüğe kaydeder. Komut satırında gizli dizileri hiçbir zaman geçirmeyin. Bunun yerine gizli dizilerinizi ortam değişkenlerine eşlemenizi öneririz.

Gizli dizilerin alt dizelerini asla maskelemeyiz. Örneğin, "abc123" gizli dizi olarak ayarlandıysa, "abc" günlüklerden maskelenmez. Bu, gizli dizileri çok ayrıntılı bir düzeyde maskeleyerek günlükleri okunamaz hale getirmekten kaçınmaktır. Bu nedenle gizli diziler yapılandırılmış veriler içermemelidir. Örneğin, "{ "foo": "bar" }" gizli dizi olarak ayarlanırsa, "çubuk" günlüklerden maskelenmez.

Normal bir değişkenin aksine, betikler için ortam değişkenlerine otomatik olarak şifresi çözülmez. Gizli dizi değişkenlerini açıkça eşlemeniz gerekir.

Kullanıcı arabiriminde gizli dizi değişkeni kullanma

YAML işlem hatlarında bunlara başvurmak için gizli dizi değişkenini ortam değişkenleri olarak eşlemeniz gerekir. Bu örnekte, kullanıcı arabiriminde SecretOne tanımlanan iki gizli dizi değişkeni vardır ve SecretTwo. değeri, değeri SecretOneSecretTwo ise foo şeklindedirbar.

steps:
- powershell: |
      Write-Host "My first secret variable is $env:FOO_ONE"
      $env:FOO_ONE -eq "foo"
  env:
    FOO_ONE: $(SecretOne)
- bash: |
    echo "My second secret variable: $FOO_TWO"
    if [ "$FOO_TWO" = "bar" ]; then
        echo "Strings are equal."
    else
        echo "Strings are not equal."
    fi
  env:
    FOO_TWO: $(SecretTwo) 

İşlem hattı çıkışları:

My first secret variable is ***
True
My second secret variable: ***
Strings are equal.

Not

Azure Pipelines, işlem hattı günlüklerine veri gönderirken gizli dizileri maskelemeye çaba gösterir, bu nedenle çıkışta ve günlüklerde gizli dizi olarak ayarlanmamış ek değişkenleri ve verileri maskelenmiş olarak görebilirsiniz.

Daha ayrıntılı bir örnek için bkz . Değişkenleri tanımlama.

Değişken grubunda gizli dizi değişkeni ayarlama

Değişken grubuna gizli diziler ekleyebilir veya mevcut bir Azure Key Vault'tan gizli dizileri bağlayabilirsiniz.

Yeni değişken grupları oluşturma

  1. İşlem Hatları>Kitaplığı>+ Değişken grubu'nu seçin.

    Screenshot of Add variable group button highlighted with red box.

  2. Grup için bir ad ve açıklama girin.

  3. İsteğe bağlı: Azure anahtar kasasından gizli dizileri değişken olarak bağlamak için iki durumlu düğmeyi taşıyın. Daha fazla bilgi için bkz . Azure Key Vault gizli dizilerini kullanma.

  4. Gruba eklenecek her değişkenin adını ve değerini girin ve her biri için + Ekle'yi seçin.

  5. Değişkeninizin güvenli olmasını sağlamak için satırın sonundaki "kilit" simgesini seçin.

  6. Değişken eklemeyi bitirdiğinizde Kaydet'i seçin.

    Screenshot of saving a variable group.

Değişken grupları kitaplık güvenlik modelini izler.

Mevcut bir Azure anahtar kasasını bir değişken grubuna bağlayın ve seçmeli kasa gizli dizilerini değişken grubuna eşleyin.

  1. Değişken grupları sayfasında, Azure anahtar kasasından gizli dizileri değişken olarak bağlama'yı etkinleştirin. Gizli dizilerinizi içeren mevcut bir anahtar kasasına ihtiyacınız olacaktır. Azure portalını kullanarak bir anahtar kasası oluşturun.

    Screenshot of variable group with Azure key vault integration.

  2. Azure aboneliğinizin bitiş noktasını ve gizli dizilerinizi içeren kasanın adını belirtin.

    Azure hizmet bağlantısının gizli diziler için kasada en azından Alma ve Listeleme yönetimi izinlerine sahip olduğundan emin olun. Kasa adının yanındaki Yetkile'yi seçerek Azure Pipelines'ın bu izinleri ayarlamasını etkinleştirin. Öte yandan Azure portalında izinleri el ile de ayarlayabilirsiniz:

    1. Kasa için Ayarlar açın ve erişim ilkeleri>Yeni ekle'yi seçin.
    2. Sorumlu seç'i ve ardından istemci hesabınız için hizmet sorumlusunu seçin.
    3. Gizli dizi izinleri'ne tıklayın ve Al ve Liste'de onay işaretleri olduğundan emin olun.
    4. Değişiklikleri kaydetmek için Tamam'ı seçin.
  3. Değişken grupları sayfasında + Ekle'yi seçerek bu değişken grubuna eşlemek üzere kasanızdan belirli gizli dizileri seçin.

Anahtar kasası gizli dizilerini yönetme

Gizli dizileri yönetmek için aşağıdaki yararlı ipuçları listesine bakın.

  • Yalnızca gizli dizi adları değişken grubuna eşlenir, gizli dizi değerlerine eşlenmez. Kasadan getirilen en son gizli dizi değeri, değişken grubuna bağlı işlem hattı çalıştırmasında kullanılır.

  • Anahtar kasasında mevcut gizli dizilerde yapılan tüm değişiklikler, değişken grubunun kullandığı tüm işlem hatlarında otomatik olarak kullanılabilir.

  • Kasaya yeni gizli diziler eklendiğinde veya kasadan silindiğinde ilişkili değişken grupları otomatik olarak güncelleştirilmez. Değişken grubunu kullanan işlem hatlarının doğru şekilde yürütülmesi için değişken grubuna dahil edilen gizli dizilerin açıkça güncelleştirilmesi gerekir.

  • Azure Key Vault, Azure'da şifreleme anahtarlarının ve gizli dizilerinin depolanmasını ve yönetilmesini destekler. Şu anda Azure Pipelines değişken grubu tümleştirmesi yalnızca Azure anahtar kasasından gizli dizileri eşlemeyi destekler. Şifreleme anahtarları ve sertifikaları desteklenmez.

Azure Key Vault görevini kullanma

Azure Key Vault görevini kullanarak işlem hattınıza gizli diziler ekleyebilirsiniz. Bu görev işlem hattının Azure Key Vault'unuza bağlanmasına ve işlem hattı değişkenleri olarak kullanılacak gizli dizileri almasına olanak tanır.

  1. İşlem hattı düzenleyicisinde Yardımcıyı göster'i seçerek yardımcı panelini genişletin.

  2. Azure Key Vault görevini arayın vault ve seçin.

    Add the Azure Key Vault task.

Gizli dizileri işin tamamında kullanılabilir yap seçeneği şu anda Azure DevOps Server 2019 ve 2020'de desteklenmemaktadır.

Azure Key Vault görevi hakkında daha fazla bilgi edinmek için bkz . Azure Pipelines'da Azure Key Vault gizli dizilerini kullanma.

Günlüğe kaydetme komutları içeren bir betikte gizli dizi değişkeni ayarlama

PowerShell ve Bash betiklerinde değişkenleri ayarlamak için günlüğe kaydetme komutunu kullanabilirsiniz task.setvariable . Bu, gizli dizi değişkenleriyle çalışmanın en az güvenli yoludur, ancak hata ayıklama için yararlı olabilir. Gizli dizi değişkenlerini ayarlamanın önerilen yolları kullanıcı arabiriminde, değişken grubunda ve Azure Key Vault'taki bir değişken grubunda yer alır.

Bir değişkeni günlük komutuyla betik olarak ayarlamak için bayrağını issecret geçirmeniz gerekir.

issecret true olarak ayarlandığında değişkenin değeri gizli dizi olarak kaydedilir ve günlüklerden maskelenir.

Not

Azure Pipelines, işlem hattı günlüklerine veri gönderirken gizli dizileri maskelemeye çaba gösterir, bu nedenle çıkışta ve günlüklerde gizli dizi olarak ayarlanmamış ek değişkenleri ve verileri maskelenmiş olarak görebilirsiniz.

gizli dizi değişkenini mySecretValayarlayın.

- bash: |
    echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"

gizli dizi değişkenini mySecretValalın.

- bash: |
    echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
- bash: |
    echo $(mySecretVal)

Bash'te gizli değişken çıkışı.

Screenshot of bash variable output.

Betiklerde değişkenleri ayarlama ve kullanma hakkında daha fazla bilgi edinin.