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=false
ile 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.