Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, sürekli yamalama işlemini yüklemeyi, etkinleştirmeyi ve yapılandırmayı öğreneceksiniz. Container kayıt defteri için etkinleştirildiğinde sürekli düzeltme eki uygulaması, kapsayıcı görüntüleri için işletim sistemi (işletim sistemi) düzeyindeki güvenlik açıklarını otomatik olarak tespit eder ve düzeltir.
Önkoşullar
- Azure Cloud Shell'i veya Azure CLI'nın en düşük 2.15.0 veya sonraki bir sürümüne sahip yerel yüklemesini kullanabilirsiniz.
- Azure Container Registry (ACR) ile mevcut bir Kaynak Grubunuz var.
- ACR Görevleri etkinleştirilmiş bir Azure Container Registry'niz var (ACR Görevleri, ACR'nin ücretsiz katmanında desteklenmez).
Sürekli Yama İş Akışını Kurma
CLI uzantısını yüklemek için aşağıdaki komutu çalıştırın:
az extension add -n acrcssc
Sürekli Yama İş Akışını Etkinleştirme
- Az login ile Azure CLI'da oturum açın.
az login
- ACR'de oturum açın.
az acr login -n <myRegistry>
- Sürekli Yama JSON'unu içeren
continuouspatching.json
adlı bir dosya oluşturmak için aşağıdaki komutu çalıştırın. JSON dosya adı esnektir.
cat <<EOF > continuouspatching.json
{
"version": "v1",
"tag-convention" : "<incremental|floating>",
"repositories": [{
"repository": "<Repository Name>",
"tags": ["<comma-separated-tags>"],
"enabled": <true|false>
}]
}
EOF
Şema belirli depoları ve etiketleri bir dizi biçiminde alır. Her değişken burada tanımlanır:
version
, ACR ekibinin hangi şema sürümünde olduğunuzu izlemesine izin verir. Yönerge belirtilmediği sürece bu değişkeni değiştirmeyin.tag-convention
isteğe bağlı bir alandır. İzin verilen değerler "artan" veya "kayan" olarak belirlenmiştir. Daha fazla bilgi için Sürekli Yama Uygulamasının Temel Kavramları bölümüne bakın.repositories
ayrıntılı depo ve etiket bilgilerini içeren bir dizidir-
repository
depo adını ifade eder -
tags
virgülle ayrılmış bir etiket dizisidir. Joker karakter*
, bu depodaki tüm etiketlerin belirtilmesi için kullanılabilir. -
enabled
, belirtilen deponun etkin olup olmadığını belirleyen true veya false Boole değeridir.
-
Aşağıda, python
deposundaki tüm etiketlere (* simgesini kullanarak) ve jammy-20240111
deposundaki özel olarak jammy-20240125
ve ubuntu
etiketlerine yama uygulamak isteyen bir müşteri için örnek yapılandırmanın ayrıntıları verilmiştir.
JSON örneği:
{
"version": "v1",
"tag-convention" : "incremental",
"repositories": [{
"repository": "python",
"tags": ["*"],
"enabled": true
},
{
"repository": "ubuntu",
"tags": ["jammy-20240111", "jammy-20240125"],
"enabled": true,
}]
}
- Yapılandırma dosyanızı oluşturduktan sonra, hedeflenen yapıtların JSON ölçütleri tarafından seçildiğini doğrulamak için bir kuru çalıştırma yürütmeniz önerilir. Kuru çalıştırma, sürekli düzeltme eki uygulama döngünüzün ne sıklıkta çalıştığını belirten
schedule
adlı bir parametre gerektirir. Programlama bayrağı gün cinsinden ölçülür, en az bir gün ve en fazla 30 gün olmak üzere. Örneğin, bir görüntüye her gün düzeltme eki uygulamak istiyorsanız, zamanlamayı1d
olarak, veya 1 gün olarak belirtirsiniz. Haftalık düzeltme eki (haftada bir) istiyorsanız, zamanlamayı7d
veya 7 gün olarak doldurursunuz.
Komut Şeması:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilepath> --schedule <number of days> --dry-run
Örnek Komut:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --dry-run
--dry-run
bayrağı, JSON dosyası yapılandırmasına göre belirtilen tüm yapıtları çıkarır. Müşteriler doğru yapıtların seçildiğini doğrulayabilir. Örnek ubuntu yapılandırmasıyla aşağıdaki sonuçlar çıktı olarak görüntülenmelidir.
Ubuntu: jammy-20240111
Ubuntu: jammy-20240125
Tüm gerekli/isteğe bağlı bayrakları görmek için yardım komutu:
az acr supply-chain workflow create --help
- Kuru çalıştırma sonuçlarından memnun kaldıktan sonra, sürekli düzeltme eki uygulama iş akışınızı resmi olarak oluşturmak için
create
komutunu--dry-run
bayrağı olmadan yeniden çalıştırın.
Uyarı
parametresi, --schedule
ayın 1. gününden başlayarak sabit gün çarpanını izler. Bu, şu anlama gelir:
- Eğer
--schedule 7d
belirler ve komutu 3. günde çalıştırırsanız, ayın 1'inden itibaren 3. gün sonrasındaki ilk 7 günlük süreyi sayarak, sonraki zamanlanmış çalıştırma ayın 7'sinde olur—çünkü 7, 3'ten sonra gelen ilk 7'nin katıdır. -
--schedule
3d ise ve bugün ayın 7'siyse, sonraki zamanlanmış çalıştırma ayın 9'unda gerçekleşir; çünkü 9, 7'den sonraki 3'ün katıdır. - Bayrak
--run-immediately
eklediğinizde, bir yama çalışmasının hemen tetiklenmesini sağlarsınız. Sonraki planlanmış çalıştırma,--schedule
değeriniz temelinde, ayın birinci gününden itibaren en yakın gün katıyla hizalanmaya devam edecektir. - Zamanlama sayacı her ay sıfırlanır . Belirlenen zamanlamaya bakılmaksızın, iş akışınız her ayın ilkinde çalıştırılır, ardından ayın geri kalanı için belirtilen zamanlama değerini izler. Düzeltme eki uygulamam 28 Ocak'ta çalıştırılırsa ve zamanlamam 7 gün ise, sonraki düzeltme ekim Şubat ayının birinde, ardından sekizinde çalışır ve her 7 günde bir devam eder.
Komut Şeması:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days> --run-immediately
Örnek Komut:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --run-immediately
Başarılı bir komutta (dahil edip etmediğinize bakılmaksızın --run-immediately
) şunları görmeniz beklenir:
İş akışı görevlerinizin kuyruğa alındığını onaylayan bir başarı iletisi.
Yeniden düzeltme eki uygulama işleminin tam olarak ne zaman gerçekleşeceğini izleyebilmeniz için iş akışınızın bir sonraki çalıştırma zamanının planlandığını gösteren bir çıkış parametresi.
Tüm gerekli/isteğe bağlı bayraklar için Yardım komutu.
az acr supply-chain workflow create --help
İş akışı görevlerini görüntülemek için Azure portalını kullanma
- İş akışı başarılı olduktan sonra Çalışan görevlerinizi görüntülemek için Azure portalına gidin. Hizmetler -> Depolar'ı seçtiğinizde adlı
csscpolicies/patchpolicy
yeni bir depo görmeniz gerekir. Bu depo, devamlı yama uygulaması için sürekli kullanılan JSON yapılandırma nesnesini barındırıyor.
- Ardından, "Hizmetler" altındaki "Görevler" seçeneğini belirleyin. Üç yeni görev görmeniz gerekir:
Görev:
- cssc-trigger-workflow - Bu görev yapılandırma dosyasını tarar ve ilgili her görüntüde tarama görevini çağırır.
- cssc-scan-image - Bu görev, görüntüyü işletim sistemi güvenlik açıklarına karşı tarar. Bu görev yalnızca işletim sistemi güvenlik açıkları bulunduğunda düzeltme eki uygulama görevini tetikler.
- cssc-patch-image - Bu işlem görüntüyü yamalar. Bu görevler, sürekli yama uygulama iş akışınızı yürütmek için birlikte çalışır.
- Belirli görev çalıştırmalarını görmek için "Görevler" görünümünde "Çalıştırmalar" seçeneğini de belirleyebilirsiniz. Burada, hata ayıklama günlüğünü görüntülemenin yanı sıra görevin başarılı mı yoksa başarısız mı olduğuna ilişkin durum bilgilerini görüntüleyebilirsiniz.
İş akışı görevlerini görüntülemek için CLI kullanma
Ayrıca, her görev ve genel iş akışı hakkında daha fazla ayrıntı görmek için aşağıdaki CLI show komutunu da çalıştırabilirsiniz. Komutun çıktısı:
- Takvim
- Oluşturma tarihi
- Son değiştirme tarihi, kim tarafından vb. gibi sistem verileri.
Komut Şeması:
az acr supply-chain workflow show -r <registry> -g <resourceGroup> -t continuouspatchv1
Örnek Komut:
az acr supply-chain workflow show -r myRegistry -g myResourceGroup -t continuouspatchv1
Tüm gerekli/isteğe bağlı bayraklar için Yardım komutu:
az acr supply-chain workflow show --help
Sürekli Yamama İş Akışını Güncelleme
Sürekli yamalama iş akışınızda düzenlemeler yapmak istediğiniz senaryolarda, güncelleme komutu bunu yapmanın en kolay yöntemidir. Zamanlamanızı veya JSON yapılandırma şemanızı doğrudan CLI'yi güncelleştir komutuyla güncelleştirebilirsiniz.
Komut Şeması:
az acr supply-chain workflow update -r <registry> -g <resourceGroup> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days>
Örnek Komut:
az acr supply-chain workflow update -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d
Tüm gerekli/isteğe bağlı bayraklar için Yardım komutu:
az acr supply-chain workflow update --help
Zamanlamanızı güncelleştirmek için, önceki komutu zamanlama için yeni bir girişle çalıştırın. JSON yapılandırmanızı güncelleştirmek için dosyada değişiklik yapmanızı, bir kuru çalıştırma çalıştırmasını ve ardından güncelleştirme komutunu çalıştırmanızı öneririz.
Sürekli Yama İş Akışını Silme
Sürekli düzeltme iş akışını silmek için lütfen aşağıdaki CLI komutunu çalıştırın.
Komut Şeması:
az acr supply-chain workflow delete -r <registry> -g <resourceGroup> -t continuouspatchv1
Örnek Komut:
az acr supply-chain workflow delete -r myregistry -g myresourcegroup -t continuouspatchv1
Tüm gerekli/isteğe bağlı bayraklar için Yardım komutu:
az acr supply-chain workflow delete --help
Bir iş akışı başarıyla silindikten sonra "csscpolicies/patchpolicy" deposu otomatik olarak silinir. İş akışınızı çalıştıran üç görev ve şu anda kuyruğa alınmış olan çalıştırmalar da silinir.