قفل صورة حاوية في سجل حاوية Azure
في سجل حاويات Azure، يمكنك قفل إصدار الصورة أو المستودع بحيث لا يمكن حذفه أو تحديثه. لقفل صورة أو مستودع، قم بتحديث سماته باستخدام أمر Azure CLI «az acr repository update»
تتطلب هذه المقالة «run» Azure CLI في Azure Cloud Shell أو محليًّا (الإصدار 2.0.55 أو يوصى باستخدام إصدار أحدث). قم بتشغيل az --version
للعثور على الإصدار. إذا كنت بحاجة إلى التثبيت أو الترقية، فراجع تثبيت Azure CLI.
هام
لا تنطبق هذه المقالة على تأمين السجل بأكمله، على سبيل المثال، استخدام > في مدخل Microsoft Azure، أو أوامر az lock
في Azure CLI. لا يمنعك قفل مصدر السجل من إنشاء أو تحديث أو حذف البيانات في المستودعات. تأمين سجل يؤثر فقط على عمليات الإدارة مثل إضافة أو حذف النسخ المتماثلة أو حذف السجل نفسه. لمزيد من المعلومات في قفل الموارد لمنع حدوث تغييرات غير متوقعة.
السيناريوهات
بشكل افتراضي، صورة موسومة في Azure Container Registry قابلة للتغيير، لذا يمكنك تحديث صورة بنفس العلامة ودفعها إلى السجل باستخدام الأذونات المناسبة. يمكن أيضًا حذف صور الحاوية حسب الحاجة. هذا السلوك مفيد عندما تقوم بتطوير الصور وتحتاج إلى الاحتفاظ بحجم السجل.
ومع ذلك، عند نشر صورة حاوية إلى الإنتاج، قد تحتاج إلى صورة حاوية غير قابلة للتغيير. الصورة غير القابلة للتغيير هي صورة لا يمكنك حذفها أو استبدالها عن طريق الخطأ.
انظر أيضًا التوصيات لوضع علامات وإصدار صور حاوية لوضع إستراتيجيات من أجل توسيم الصور وإصدارها في السجل الخاص بك.
استخدم أمر «az acr repository update» لتعيين سمات المستودع حتى تتمكن من:
قفل إصدار صورة أو مستودع كامل
حماية إصدار صورة أو مستودع من الحذف، ولكن السماح بالتحديثات
منع عمليات القراءة (السحب) على إصدار صورة أو مستودع كامل
راجع المقاطع التالية من أجل الأمثلة.
قفل صورة أو مستودع
إظهار سمات المستودع الحالية
لمشاهدة السمات الحالية من المستودع، قم بتشغيل الأمر التالي «az acr repository show»
az acr repository show \
--name myregistry --repository myrepo \
--output jsonc
إظهار سمات الصورة الحالية
لمشاهدة السمات الحالية للعلامة، قم بتشغيل الأمر التالي «az acr repository show»
az acr repository show \
--name myregistry --image myrepo:tag \
--output jsonc
قفل صورة بالعلامة
لتأمين صورة myrepo:tag في myregistry، قم بتشغيل الأمر التالي az acr repository update :
az acr repository update \
--name myregistry --image myrepo:tag \
--write-enabled false
تأمين صورة من خلال تجزئة بيان التطبيق
لتأمين صورة myrepo التي تم تحديدها بواسطة ملخص البيان (تجزئة SHA-256، ممثلة باسم sha256:...
)، قم بتشغيل الأمر التالي. (للعثور على تشفير رسالة بيان التطبيق المرتبط بواحدة أو أكثر من علامات الصور، قم بتشغيل الأمر az acr manifest list-metadata.)
az acr repository update \
--name myregistry --image myrepo@sha256:123456abcdefg \
--write-enabled false
قفل مستودع
لقفل مستودع myrepo وجميع الصور فيه، قم بتشغيل الأمر التالي:
az acr repository update \
--name myregistry --repository myrepo \
--write-enabled false
سرد سمات المستودع الحالية
لتحديث سمات المستودع للإشارة إلى إدخال قائمة تأمين الصورة، قم بتشغيل الأمر az acr repository update .
az acr repository update \
--name myregistry --repository myrepo \
--list-enabled false
إظهار سمات الصورة على تأمين الصورة
للاستعلام عن العلامات على تأمين صورة مع --list-enabled false
تمكين على السمة ، قم بتشغيل الأمر az acr repository show .
az acr repository show-manifests \
--name myregistry --repository myrepo \
--query "[?listEnabled==null].tags"
--output table
تحقق من سمات الصورة للعلامة وبيانها المقابل.
ملاحظة
- تتم إدارة السمات القابلة للتغيير للعلامات والبيانات بشكل منفصل. أي أن تعيين سمة
deleteEnabled=false
للعلامة لن يعين نفسه للبيان المقابل.
- الاستعلام عن السمات باستخدام البرنامج النصي أدناه:
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"
ملاحظة
إذا تم تعيين سمات الصورة باستخدام writeEnabled=false
أو deleteEnabled=false
، فستحظر حذف الصورة.
حماية صورة أو مستودع من الحذف
حماية صورة من الحذف
للسماح بتحديث صورة myrepo:tag ولكن لا يتم حذفها، قم بتشغيل الأمر التالي:
az acr repository update \
--name myregistry --image myrepo:tag \
--delete-enabled false --write-enabled true
حماية مستودع من الحذف
يقوم الأمر التالي بتعيين مستودع myrepo بحيث لا يمكن حذفه. لا يزال من الممكن تحديث أو حذف الصور الفردية.
az acr repository update \
--name myregistry --repository myrepo \
--delete-enabled false --write-enabled true
منع عمليات القراءة على الصورة أو المستودع
لمنع عمليات القراءة (السحب) على صورة myrepo:tag ، قم بتشغيل الأمر التالي:
az acr repository update \
--name myregistry --image myrepo:tag \
--read-enabled false
لمنع عمليات القراءة على جميع الصور في مستودع myrepo، قم بتشغيل الأمر التالي:
az acr repository update \
--name myregistry --repository myrepo \
--read-enabled false
إلغاء قفل صورة أو مستودع
لاستعادة السلوك الافتراضي لصورة myrepo:tag بحيث يمكن حذفها وتحديثها، قم بتشغيل الأمر التالي:
az acr repository update \
--name myregistry --image myrepo:tag \
--delete-enabled true --write-enabled true
لاستعادة السلوك الافتراضي لمستودع myrepo وجميع الصور بحيث يمكن حذفها وتحديثها، قم بتشغيل الأمر التالي:
az acr repository update \
--name myregistry --repository myrepo \
--delete-enabled true --write-enabled true
الخطوات التالية
في هذه المقالة، تعلمت استخدام أمر «az acr repository update» لمنع حذف أو تحديث إصدارات الصورة في مستودع. لتعيين سمات إضافية، راجع مرجع أمر «az acr repository update»
لمشاهدة السمات التي تم تعيينها لإصدار صورة أو مستودع، استخدم الأمر «az acr repository show».
لمزيد من المعلومات، راجع «Delete» صور الحاوية في Azure Container Registry.