Aracılığıyla paylaş


Azure kapsayıcı kayıt defterinde bir kapsayıcı görüntüsünü kilitleyin

Azure kapsayıcı kayıt defterinde, silinemez veya güncelleştirilemez şekilde bir görüntü sürümünü veya deposunu kilitleyebilirsiniz. Bir görüntüyü veya depoyu kilitlemek için az acr repository update Azure CLI komutunu kullanarak özniteliklerini güncelleştirin.

Bu makale, Azure CLI'yi Azure Cloud Shell'de veya yerel olarak çalıştırmanızı gerektirir (sürüm 2.0.55 veya üzeri önerilir). Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Önemli

Bu makale, örneğin Azure portalında Ayarlar > Kilitleri'ni veya az lock Azure CLI'daki komutları kullanarak kayıt defterinin tamamını kilitlemek için geçerli değildir. Kayıt defteri kaynağını kilitlemek, depolarda veri oluşturmanızı, güncelleştirmenizi veya silmenizi engellemez. Kayıt defterini kilitlemek yalnızca çoğaltma ekleme veya silme ya da kayıt defterinin kendisini silme gibi yönetim işlemlerini etkiler. Beklenmeyen değişiklikleri önlemek için kaynakları kilitleme bölümünde daha fazla bilgi bulabilirsiniz.

Senaryolar

Varsayılan olarak, Azure Container Registry'deki etiketli bir görüntü değiştirilebilir olduğundan, uygun izinlerle aynı etikete sahip bir görüntüyü tekrar tekrar güncelleştirebilir ve kayıt defterine gönderebilirsiniz. Kapsayıcı görüntüleri de gerektiğinde silinebilir. Bu davranış, görüntü geliştirirken ve kayıt defterinizin boyutunu korumanız gerektiğinde kullanışlıdır.

Ancak, bir kapsayıcı görüntüsünü üretime dağıttığınızda sabit bir kapsayıcı görüntüsüne ihtiyacınız olabilir. Sabit bir görüntü, yanlışlıkla silemez veya üzerine yazamazsınız.

Kayıt defterinizdeki görüntüleri etiketleme ve sürüm oluşturma stratejileri için bkz . Kapsayıcı görüntülerini etiketleme ve sürüm oluşturma önerileri.

Aşağıdaki işlemleri yapmak için az acr repository update komutunu kullanarak depo özniteliklerini ayarlayın:

  • Görüntü sürümünü veya deponun tamamını kilitleme

  • Görüntü sürümünü veya deposunu silinmeye karşı koruma, ancak güncelleştirmelere izin verme

  • Görüntü sürümünde veya deponun tamamında okuma (çekme) işlemlerini engelleme

Örnekler için aşağıdaki bölümlere bakın.

Görüntü veya depo kilitleme

Geçerli depo özniteliklerini göster

Bir deponun geçerli özniteliklerini görmek için aşağıdaki az acr repository show komutunu çalıştırın:

az acr repository show \
    --name myregistry --repository myrepo \
    --output jsonc

Geçerli görüntü özniteliklerini gösterme

Bir etiketin geçerli özniteliklerini görmek için aşağıdaki az acr repository show komutunu çalıştırın:

az acr repository show \
    --name myregistry --image myrepo:tag \
    --output jsonc

Resmi etikete göre kilitleme

Myrepo:tag görüntüsünü kayıt defterimde kilitlemek için aşağıdaki az acr repository update komutunu çalıştırın:

az acr repository update \
    --name myregistry --image myrepo:tag \
    --write-enabled false

Bildirim özetiyle görüntüyü kilitleme

Bildirim özetiyle tanımlanan bir myrepo görüntüsünü kilitlemek için (olarak sha256:...temsil edilen SHA-256 karması), aşağıdaki komutu çalıştırın. (Bir veya daha fazla görüntü etiketiyle ilişkili bildirim özetini bulmak için az acr manifest list-metadata komutunu çalıştırın.)

az acr repository update \
    --name myregistry --image myrepo@sha256:123456abcdefg \
    --write-enabled false

Depo kilitleme

myrepo deposunu ve içindeki tüm görüntüleri kilitlemek için aşağıdaki komutu çalıştırın:

az acr repository update \
    --name myregistry --repository myrepo \
    --write-enabled false

Geçerli depo özniteliklerini listeleme

Depo özniteliklerini görüntü kilidi listesini gösterecek şekilde güncelleştirmek için az acr repository update komutunu çalıştırın.

az acr repository update \
    --name myregistry --repository myrepo \ 
    --list-enabled false

Görüntü kilitinde görüntü özniteliklerini gösterme

Özniteliğinde etkin olan --list-enabled false bir görüntü kilidindeki etiketleri sorgulamak için az acr repository show komutunu çalıştırın.

az acr repository show-manifests \
    --name myregistry --repository myrepo \
    --query "[?listEnabled==null].tags" 
    --output table

Etiket ve buna karşılık gelen bildirim için görüntü özniteliklerini denetleyin.

Not

  • Etiketlerin ve bildirimin değiştirilebilir öznitelikleri ayrı olarak yönetilir. Diğer bir ifadeyle, etiketin ayar özniteliği deleteEnabled=false ilgili bildirim için aynı ayara sahip olmaz.
  • Aşağıdaki betiği kullanarak öznitelikleri sorgula:
registry="myregistry"
repo="myrepo"
tag="mytag"

az login
az acr repository show -n $registry --repository $repo
az acr manifest show-metadata -r $registry -n "$repo:$tag"
digest=$(az acr manifest show-metadata -r $registry -n "$repo:$tag" --query digest -o tsv)
az acr manifest show-metadata -r $registry -n "$repo@$digest"

Not

Görüntü öznitelikleri veya deleteEnabled=falseile writeEnabled=false ayarlanırsa, görüntü silmeyi engeller.

Görüntüyü veya deponun silinmesini koruma

Görüntüyü silinmeye karşı koruma

myrepo:tag görüntüsünün güncelleştirilmesi ancak silinmemesi için aşağıdaki komutu çalıştırın:

az acr repository update \
    --name myregistry --image myrepo:tag \
    --delete-enabled false --write-enabled true

Deponun silinmesini koruma

Aşağıdaki komut myrepo deposunu silinemez şekilde ayarlar. Tek tek görüntüler yine güncelleştirilebilir veya silinebilir.

az acr repository update \
    --name myregistry --repository myrepo \
    --delete-enabled false --write-enabled true

Görüntü veya depoda okuma işlemlerini engelleme

myrepo:tag görüntüsünde okuma (çekme) işlemlerini önlemek için aşağıdaki komutu çalıştırın:

az acr repository update \
    --name myregistry --image myrepo:tag \
    --read-enabled false

myrepo deposundaki tüm görüntülerde okuma işlemlerini önlemek için aşağıdaki komutu çalıştırın:

az acr repository update \
    --name myregistry --repository myrepo \
    --read-enabled false

Görüntü veya deponun kilidini açma

Myrepo:tag görüntüsünün silinip güncelleştirilebilmesi için varsayılan davranışını geri yüklemek için aşağıdaki komutu çalıştırın:

az acr repository update \
    --name myregistry --image myrepo:tag \
    --delete-enabled true --write-enabled true

Myrepo deposunun varsayılan davranışını geri yüklemek ve tek tek görüntülerin silinmesini ve güncelleştirilebilmesini sağlamak için aşağıdaki komutu çalıştırın:

az acr repository update \
    --name myregistry --repository myrepo \
    --delete-enabled true --write-enabled true

Ancak, bildirimde bir kilit varsa, bildirimin kilidini açmak için ek bir komut çalıştırmanız gerekir.

az acr repository update \
   --name myregistry --image $repo@$digest \
   --delete-enabled true --write-enabled true

Sonraki adımlar

Bu makalede, depodaki görüntü sürümlerinin silinmesini veya güncelleştirilmesini önlemek için az acr repository update komutunu kullanmayı öğrendiniz. Ek öznitelikleri ayarlamak için az acr repository update komut başvurusuna bakın.

Görüntü sürümü veya deposu için ayarlanan öznitelikleri görmek için az acr repository show komutunu kullanın.

Silme işlemleri hakkında ayrıntılı bilgi için bkz . Azure Container Registry'de kapsayıcı görüntülerini silme.