إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
في هذه المقالة، ستتعلم كيفية تثبيت التحديث الجزئي المستمر وتمكينه وتكوينه. سيؤدي التصحيح المستمر عند تمكين سجل الحاوية تلقائيا إلى اكتشاف ومعالجة الثغرات الأمنية على مستوى نظام التشغيل (نظام التشغيل) لصور الحاوية.
المتطلبات الأساسية
- يمكنك استخدام Azure Cloud Shell أو تثبيت محلي ل Azure CLI مع حد أدنى من الإصدار 2.15.0 أو أحدث.
- لديك مجموعة موارد موجودة مع Azure Container Registry (ACR).
- لديك سجل حاويات Azure مع تمكين مهام ACR (مهام ACR غير مدعومة في المستوى المجاني من ACR).
تثبيت سير عمل التصحيح المستمر
قم بتشغيل الأمر التالي لتثبيت ملحق CLI:
az extension add -n acrcssc
تمكين سير عمل التصحيح المستمر
- سجل الدخول إلى Azure CLI باستخدام az login.
az login
- تسجيل الدخول إلى ACR.
az acr login -n <myRegistry>
- قم بتشغيل الأمر التالي لإنشاء ملف باسم
continuouspatching.json، والذي يحتوي على JSON للتصحيح المستمر. اسم ملف JSON مرن.
cat <<EOF > continuouspatching.json
{
"version": "v1",
"tag-convention" : "<incremental|floating>",
"repositories": [{
"repository": "<Repository Name>",
"tags": ["<comma-separated-tags>"],
"enabled": <true|false>
}]
}
EOF
يخزن المخطط مستودعات وعلامات معينة بتنسيق صفيف. يتم تعريف كل متغير هنا:
versionيسمح لفريق ACR بتعقب إصدار المخطط الذي تعمل عليه. لا تغير هذا المتغير ما لم يتم إرشادك إلى.tag-conventionهو حقل اختياري. القيم المسموح بها هي "تزايدي" أو "عائم" - راجع المفاهيم الرئيسية للتصحيح المستمر لمزيد من المعلومات.repositoriesهو صفيف يتكون من مستودع مفصل ومعلومات العلامة-
repositoryيشير إلى اسم المستودع -
tagsهو صفيف من العلامات مفصولة بفواصل. يمكن استخدام حرف*البدل للدلالة على جميع العلامات داخل هذا المستودع. -
enabledهي قيمة منطقية صحيحة أو خاطئة تحدد ما إذا كان المستودع المحدد ممكنا أم لا.
-
فيما يلي تفاصيل تكوين مثال للعميل الذي يريد تصحيح جميع العلامات (استخدام الرمز *) داخل المستودع python، وتصحيح العلامات و jammy-20240111 على وجه التحديد jammy-20240125 في المستودع ubuntu.
مثال JSON:
{
"version": "v1",
"tag-convention" : "incremental",
"repositories": [{
"repository": "python",
"tags": ["*"],
"enabled": true
},
{
"repository": "ubuntu",
"tags": ["jammy-20240111", "jammy-20240125"],
"enabled": true,
}]
}
- بعد إنشاء ملف التكوين الخاص بك، يوصى بتنفيذ تشغيل جاف للتحقق من تحديد البيانات الاصطناعية المقصودة بواسطة معايير JSON. يتطلب التشغيل الجاف معلمة تسمى
schedule، والتي تحدد عدد مرات تشغيل دورة التصحيح المستمرة. يتم قياس علامة الجدول بالأيام، مع الحد الأدنى لقيمة يوم واحد، وقيمة قصوى 30 يوما. على سبيل المثال، إذا كنت تريد تصحيح صورة كل يوم، يمكنك تحديد الجدول الزمني ك1d، أو يوم واحد. إذا كنت تريد تصحيحا أسبوعيا (مرة واحدة في الأسبوع)، يمكنك ملء الجدول الزمني ك7d، أو 7 أيام.
مخطط الأوامر:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilepath> --schedule <number of days> --dry-run
مثال على الأمر:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --dry-run
إخراج --dry-run العلامة كافة البيانات الاصطناعية المحددة بواسطة تكوين ملف JSON. يمكن للعملاء التحقق من تحديد البيانات الاصطناعية الصحيحة. مع نموذج تكوين ubuntu، يجب عرض النتائج التالية كمخرجات.
Ubuntu: jammy-20240111
Ubuntu: jammy-20240125
أمر التعليمات للاطلاع على جميع العلامات المطلوبة/الاختيارية:
az acr supply-chain workflow create --help
- بمجرد رضاك عن نتائج التشغيل الجاف، قم بتشغيل
createالأمر مرة أخرى دون العلامة--dry-runلإنشاء سير عمل التصحيح المستمر رسميا.
إشعار
--schedule تتبع المعلمة مضاعف يوم ثابت بدءا من اليوم 1 من الشهر. يعني ذلك:
- إذا قمت بتحديد
--schedule 7dالأمر وتشغيله في الثالث، فسيكون التشغيل المجدول التالي في 7th - لأن 7 هو المضاعف الأول من 7 (أيام) بعد الثالث، ويحسب من اليوم الأول من الشهر. - إذا كان
--scheduleهو 3d واليوم هو 7 ، ثم القادم المقرر تشغيل الأراضي على 9 -- منذ 9 هو المضاعف التالي من 3 الذي يلي 7. - إذا أضفت العلامة
--run-immediately، يمكنك تشغيل تصحيح فوري. سيظل التشغيل المجدول اللاحق محاذاته إلى أقرب مضاعف يوم من أول الشهر، استنادا إلى القيمة الخاصة بك--schedule. - يتم إعادة تعيين عداد الجدول كل شهر. بغض النظر عن الجدول الزمني المعين، سيتم تشغيل سير العمل في الأول من كل شهر، ثم اتبع قيمة الجدول الزمني المحددة لبقية الشهر. إذا كان التصحيح الخاص بي يعمل في 28 يناير، وجدولي الزمني هو 7d، سيتم تشغيل التصحيح التالي في فبراير الأول، ثم الثامن، ويستمر بعد 7 أيام.
مخطط الأوامر:
az acr supply-chain workflow create -r <registryname> -g <resourcegroupname> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days> --run-immediately
مثال على الأمر:
az acr supply-chain workflow create -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d --run-immediately
بناء على أمر ناجح (سواء قمت بتضمين --run-immediatelyأم لا)، يجب أن ترى:
رسالة نجاح تؤكد وضع مهام سير العمل في قائمة الانتظار.
معلمة إخراج تشير إلى وقت جدولة التشغيل التالي لسير العمل الخاص بك، حتى تتمكن من تتبع وقت حدوث التصحيح مرة أخرى بالضبط.
أمر التعليمات لجميع العلامات المطلوبة/الاختيارية.
az acr supply-chain workflow create --help
استخدام مدخل Microsoft Azure لعرض مهام سير العمل
بمجرد نجاح سير العمل، انتقل إلى مدخل Microsoft Azure لعرض المهام قيد التشغيل. في قائمة الخدمة، تحت الخدمات، اختر **المستودعات. يجب أن ترى مستودعا جديدا باسم
csscpolicies/patchpolicy. يستضيف هذا المستودع أداة تكوين JSON التي تتم الإشارة إليها باستمرار للتصحيح المستمر.بعد ذلك، تحت قسم الخدمات، اختر اختيار المهام. يجب أن ترى ثلاث مهام جديدة:
المهام:
- cssc-trigger-workflow - تقوم هذه المهمة بمسح ملف التكوين واستدعاء مهمة الفحص على كل صورة على حدة.
- cssc-scan-image - تقوم هذه المهمة بفحص الصورة بحثا عن الثغرات الأمنية في نظام التشغيل. تؤدي هذه المهمة إلى تشغيل مهمة التصحيح فقط إذا تم العثور على ثغرات أمنية في نظام التشغيل.
- cssc-patch-image - تقوم هذه المهمة بتصحيح الصورة. تعمل هذه المهام بالتزامن لتنفيذ سير عمل التصحيح المستمر.
- يمكنك أيضا التحديد على "عمليات التشغيل" ضمن طريقة العرض "المهام" لمشاهدة عمليات تشغيل مهام معينة. هنا يمكنك عرض معلومات الحالة حول ما إذا كانت المهمة قد نجحت أو فشلت، بالإضافة إلى عرض سجل تصحيح الأخطاء.
استخدام CLI لعرض مهام سير العمل
يمكنك أيضا تشغيل أمر عرض CLI التالي للاطلاع على مزيد من التفاصيل حول كل مهمة وسير العمل العام. إخراجات الأمر:
- جدولة
- تاريخ الإنشاء
- بيانات النظام مثل تاريخ التعديل الأخير، حسب من، وما إلى ذلك.
مخطط الأوامر:
az acr supply-chain workflow show -r <registry> -g <resourceGroup> -t continuouspatchv1
مثال على الأمر:
az acr supply-chain workflow show -r myRegistry -g myResourceGroup -t continuouspatchv1
أمر التعليمات لجميع العلامات المطلوبة/الاختيارية:
az acr supply-chain workflow show --help
تحديث سير عمل التصحيح المستمر
في السيناريوهات التي تريد إجراء تعديلات على سير عمل التصحيح المستمر، يعد أمر التحديث أسهل طريقة للقيام بذلك. يمكنك تحديث جدولك أو مخطط تكوين JSON باستخدام أمر تحديث CLI مباشرة.
مخطط الأوامر:
az acr supply-chain workflow update -r <registry> -g <resourceGroup> -t continuouspatchv1 --config <JSONfilename> --schedule <number of days>
مثال على الأمر:
az acr supply-chain workflow update -r myRegistry -g myResourceGroup -t continuouspatchv1 --config ./continuouspatching.json --schedule 1d
أمر التعليمات لجميع العلامات المطلوبة/الاختيارية:
az acr supply-chain workflow update --help
لتحديث الجدول الزمني، قم بتشغيل الأمر السابق مع إدخال جديد للجدول الزمني. لتحديث تكوين JSON الخاص بك، نوصي بإجراء تغييرات على الملف، وتشغيل التشغيل الجاف، ثم تشغيل أمر التحديث.
حذف سير عمل التصحيح المستمر
لحذف سير عمل التصحيح المستمر، يرجى تشغيل أمر CLI التالي.
مخطط الأوامر:
az acr supply-chain workflow delete -r <registry> -g <resourceGroup> -t continuouspatchv1
مثال على الأمر:
az acr supply-chain workflow delete -r myregistry -g myresourcegroup -t continuouspatchv1
أمر التعليمات لجميع العلامات المطلوبة/الاختيارية:
az acr supply-chain workflow delete --help
بمجرد حذف سير العمل بنجاح، سيتم حذف المستودع "csscpolicies/patchpolicy" تلقائيا. سيتم حذف المهام الثلاث التي تقوم بتشغيل سير العمل الخاص بك أيضا، بالإضافة إلى أي عمليات تشغيل مدرجة في قائمة الانتظار حاليا.