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:
- İşlem Hatları sayfasına gidin, uygun işlem hattını seçin ve ardından Düzenle'yi seçin.
- Bu işlem hattı için Değişkenleri bulun.
- Değişkeni ekleyin veya güncelleştirin.
- Değişkeni şifrelenmiş bir şekilde depolamak için Bu değeri gizli tut seçeneğini belirleyin.
- İş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 SecretOne
SecretTwo
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
İşlem Hatları>Kitaplığı>+ Değişken grubu'nu seçin.
Grup için bir ad ve açıklama girin.
İ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.
Gruba eklenecek her değişkenin adını ve değerini girin ve her biri için + Ekle'yi seçin.
Değişkeninizin güvenli olmasını sağlamak için satırın sonundaki "kilit" simgesini seçin.
Değişken eklemeyi bitirdiğinizde Kaydet'i seçin.
Değişken grupları kitaplık güvenlik modelini izler.
Azure Key Vault'tan gizli dizilere bağlanma
Mevcut bir Azure anahtar kasasına bağlanan ve seçili Key Vault gizli dizilerini değişken grubuyla eşleyen bir değişken grubu oluşturabilirsiniz. Yalnızca gizli dizi adları değişken grubuna eşlenir, gizli dizi değerlerine eşlenmez. İşlem hattı, değişken grubuna bağlantıyı çalıştırarak kasadan en son gizli dizi değerlerini getirir.
Anahtar kasasında mevcut gizli dizilerde yapılan tüm değişiklikler, değişken grubunu kullanan tüm işlem hatlarında otomatik olarak kullanılabilir. Ancak, gizli diziler kasaya eklenir veya kasadan silinirse ilişkili değişken grupları otomatik olarak güncelleştirilir. Gizli dizileri değişken grubuna dahil etmek için açıkça güncelleştirmeniz gerekir.
Key Vault, Azure'da şifreleme anahtarlarının ve sertifikaların depolanmasını ve yönetilmesini desteklese de, Azure Pipelines değişken grubu tümleştirmesi yalnızca anahtar kasası gizli dizilerini eşlemeyi destekler. Şifreleme anahtarları ve sertifikaları desteklenmez.
Not
Azure rol tabanlı erişim denetimi (Azure RBAC) kullanan anahtar kasaları desteklenmez.
Önkoşullar
- Gizli dizilerinizi içeren bir Azure anahtar kasası. Azure portalını kullanarak anahtar kasası oluşturabilirsiniz.
- Projeniz için bir Azure hizmet bağlantısı .
Değişken grubunu oluşturma
- Azure DevOps projenizde İşlem Hatları>Kitaplığı>+ Değişken grubu'nu seçin.
- Değişken grupları sayfasında, değişken grubu için bir ad ve isteğe bağlı bir açıklama girin.
- Azure anahtar kasasından gizli dizileri bağlama değişken olarak iki durumlu düğmesini etkinleştirin.
- Azure abonelik uç noktanızı ve anahtar kasası adınızı seçin.
- Kasa adının yanındaki Yetkile'yi seçerek Azure DevOps'un anahtar kasasına erişmesini sağlayın.
- Gizli dizileri seçin ekranında, bu değişken grubuna eşlemek için kasanızdan belirli gizli dizileri seçin ve ardından Tamam'ı seçin.
- Gizli dizi değişken grubunu kaydetmek için Kaydet'i seçin.
Not
Azure hizmet bağlantınızın anahtar kasasında en azından Alma ve Listeleme izinlerine sahip olması gerekir. Bu izinleri önceki adımlarda yetkileyebilirsiniz. Ayrıca aşağıdaki adımları izleyerek Azure portalından bu izinleri sağlayabilirsiniz:
- Anahtar kasası için Ayarlar'ı açın ve erişim yapılandırması>Erişim ilkelerine git'i seçin.
- Erişim ilkeleri sayfasında, Azure Pipelines projeniz en azından Alma ve Listeleme izinlerine sahip uygulamalar altında listelenmiyorsa Oluştur'u seçin.
- Gizli dizi izinleri'nin altında Al ve Listele'yi ve ardından İleri'yi seçin.
- Hizmet sorumlunuzu ve ardından İleri'yi seçin.
- yeniden İleri'yi seçin, ayarları gözden geçirin ve ardından Oluştur'u seçin.
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.
İşlem hattı düzenleyicisinde Yardımcıyı göster'i seçerek yardımcı panelini genişletin.
Azure Key Vault görevini arayın
vault
ve seçin.
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 mySecretVal
ayarlayın.
- bash: |
echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
gizli dizi değişkenini mySecretVal
alın.
- bash: |
echo "##vso[task.setvariable variable=mySecretVal;issecret=true]secretvalue"
- bash: |
echo $(mySecretVal)
Bash'te gizli değişken çıkışı.
Betiklerde değişkenleri ayarlama ve kullanma hakkında daha fazla bilgi edinin.