Aracılığıyla paylaş


Azure Pipelines'da gizli dizileri koruma

Bu makale, Azure Pipelines'da gizli dizileri korumaya yönelik en iyi yöntemleri sağlar. Gizli dizi, API anahtarları, parolalar, sertifikalar veya şifreleme anahtarları gibi erişimi sıkı bir şekilde denetlemek istediğiniz her şeydir.

Azure Pipelines gizli dizi değerleri oluşturmaz. Ancak, API anahtarı gibi hassas verileri depolamak için işlem hattına gizli dizi eklemeniz gerekebilir. Gizli dizi değişkenlerini ayarlama hakkında daha fazla bilgi için bkz. Gizli dizi değişkenlerini ayarlama.

Başka bir yöntem varsa gizli dizileri kullanmayın

Bir gizli diziyi korumanın en iyi yöntemi, ilk etapta gizli diziye sahip olmak değildir. İşlem hattınızın bir görevi gerçekleştirmek için gizli dizi kullanmaktan farklı bir yöntem kullanıp kullanamadığını denetleyin.

Gizli dizi değişkenlerini kullanma

Hassas değerler hiçbir zaman Azure Pipelines .yml dosyasında düz metin olarak depolanmamalıdır.

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şkenlerini ayarlamanın önerilen yolu Azure Key Vault'tur. Gizli dizi değişkenlerini kullanıcı arabiriminde veya değişken grubunda da ayarlayabilirsiniz. Gizli dizi değişkeni ayarlamak için günlük komutu kullanılması önerilmez. Günlük komutuyla gizli dizi ayarladığınızda, işlem hattınıza erişebilen herkes gizli diziyi de görebilir.

Gizli dizi değişkenleri şifrelenir ve değerlerini göstermeden işlem hatlarında kullanılabilir. Değerleri gösterilmese de, hiçbir zaman gizli dizileri çıkış olarak yansıtmayın ve komut satırında gizli dizileri geçirmeyin. Bunun yerine gizli dizilerinizi ortam değişkenlerine eşlemenizi öneririz.

Gizli dizi oluşturduğunuzda değişken adlandırma yönergelerini izleyin ve gizli dizi adınızın hassas bilgileri açıklamadığından emin olun.

Gizli dizi değişkenlerine erişimi sınırlama

Azure DevOps'ta gizli dizilere erişimi sınırlamak için şunları yapabilirsiniz:

  • Gizli dizilerinizi Azure Key Vault'ta depolayın. Azure Key Vault ile, bir gizli diziye veya gizli dizi grubuna erişimi sınırlamak için Azure'ın rol tabanlı erişim denetimi modelini kullanabilirsiniz.
  • İşlem hattı için kullanıcı arabiriminde gizli dizi değişkenleri ayarlayın. bir işlem hattı için işlem hattı ayarları kullanıcı arabiriminde ayarlanan gizli dizi değişkenleri, ayarlandıkları işlem hattı kapsamındadır. Bu nedenle, yalnızca bu işlem hattına erişimi olan kullanıcılar tarafından görülebilen gizli dizileriniz olabilir.
  • Değişken grubunda gizli diziler ayarlayın. Değişken grupları kitaplık güvenlik modelini izler. Kitaplıkta yeni öğeleri kimlerin tanımlayabileceğini ve var olan bir öğeyi kimlerin kullanabileceğini denetleyebilirsiniz.

Günlüklere gizli dizi yazma

Azure Pipelines, günlüklerdeki gizli dizileri mümkün olan her yerde temizlemeye çalışır. Bu filtreleme en iyi çaba temelindedir ve gizli dizilerin sızdırılabileceği her yolu yakalayamaz. Gizli dizileri konsolda yankılamaktan, komut satırı parametrelerinde kullanmaktan veya dosyalara günlüğe kaydetmekten kaçının. Örneğin, korumanız gereken bazı Azure CLI komutları çıkış bilgileridir. İşlem hattınızdan Azure CLI'yı çağırırsanız Yok çıkış biçimini kullanın ve bir Azure CLI çağrısından gizli dizi almanız gerekiyorsa Yok çıkış biçimini kullanın ve gizli dizi değişkenine güvenlik bilgilerini alın.

Yapılandırılmış verileri gizli dizi olarak kullanma

Yeniden düzenleme büyük ölçüde belirli bir gizli dizi değeri için tam eşleşme bulmaya bağlı olduğundan, yapılandırılmış veriler günlüklerde gizli dizi redaksiyonunun başarısız olmasına neden olabilir. Örneğin, satır başı (\r) ve satır besleme\n ( gibi denetim karakterleri dahil) bir gizli dizi değerini kapsüllemek için JSON, XML veya YAML (veya benzeri) blobu kullanmayın, çünkü bu, gizli dizilerin düzgün şekilde yeniden işlenmesi olasılığını önemli ölçüde azaltır. Bunun yerine, her hassas değer için ayrı gizli diziler oluşturun.

Gizli dizilerin nasıl işleneceğini denetleme

Gizli dizilerin beklendiği gibi işlenmelerine yardımcı olmak için nasıl kullanıldığını denetleyin. İşlem hattını barındıran deponun kaynak kodunu gözden geçirerek ve işlem hattında kullanılan görevleri denetleyerek bunu yapabilirsiniz. Örneğin, bunların istenmeyen konaklara gönderilmediğini veya açıkça günlük çıkışına yazdırılmadıklarını denetleyin.

Geçerli/geçersiz girişleri test ettikten sonra işlem hattınızın çalıştırma günlüklerini görüntüleyin ve gizli dizilerin düzgün şekilde yeniden işlenip düzeltilmediğini veya gösterilmediğini denetleyin. Çağırdığınız bir komutun veya aracın nasıl hata yayacağı ve gizli dizilerin daha sonra hata günlüklerinde nasıl sonuçlanacağı her zaman açık değildir. Azure Pipelines, günlüklerdeki gizli dizileri mümkün olan her yerde temizlemeye çalışır. Bu filtreleme en iyi çaba temelindedir ve gizli dizilerin sızdırılabileceği her yolu yakalayamaz. Sonuç olarak, geçerli ve geçersiz girişleri test ettikten sonra işlem hattı günlüklerini el ile gözden geçirmek iyi bir uygulamadır.

Gizli dizileri denetleme ve döndürme

İşlem hatlarınız tarafından kullanılan kayıtlı gizli dizileri düzenli aralıklarla gözden geçirerek bunların hala gerekli olduğunu onaylayın ve artık gerekli olmayanları kaldırın.

Gizliliği ihlal edilen gizli dizilerin geçerli olduğu zaman penceresini azaltmak için gizli dizileri düzenli aralıklarla döndürün.

İşlem hatları tarafından kullanılan gizli dizi türleri şunları içerebilir:

Sonraki adımlar