محتويات الدورة

جودة DevOps / المتوسط: أنظمة تحقق موثوقة / الدرس 10

أسرار المسار وأدلة سلسلة التوريد

احمِ الآلية المنتجة لأدلة الجودة وميّز النتائج الأمنية عن منشأ الحزمة.

وقت القراءة التقريبي: 4 دقيقةتاريخ مراجعة المحتوى
في هذه الصفحة

أهداف الدرس

  • افصل تنفيذ الاختبار غير الموثوق عن عمل التسليم المميز.
  • استخدم أقل امتياز ومنشأ متحققاً دون مبالغة بالضمان.

عامل الشيفرة المساهمة كإدخال تنفيذي

يمكن لطلب دمج تغيير الاختبارات ونصوص الحزم وخطافات التثبيت وسير العمل. يعبر تشغيله باعتمادات أو مشغّل مميز حد ثقة ولو كان الغرض اختباراً. افصل التحقق غير الموثوق عن الترقية والنشر المميزين. افهم أحداث المزود قبل كشف الأسرار؛ لا يمثل اسم حدث مألوف نموذج أمان. لا تجلب شيفرة غير موثوقة بامتياز وتتوقع احتواء الحجب لها. الاختبار شيفرة تستخدم كل قدرة للعملية.

أعلن أدنى سلطة للمهمة

تحتاج مهمة الوحدة عادة قراءة المستودع وحساباً محلياً لا نشر حزم أو إدارة سحابية. تقلل permissions سلطة GITHUB_TOKEN ولا تزيل اعتمادات أخرى من البيئة أو مشغّل دائم. تقلل الهوية الاتحادية القصيرة الأسرار طويلة العمر عند ضبط المصدر والجمهور والمستودع والبيئة بدقة. ليست آمنة تلقائياً بسبب OIDC. يمنح المثال قراءة المحتوى لمهمة اختبار مفهومية دون رمز نشر.

yaml جزء حد صلاحيات GitHub Actions
permissions:
  contents: read

jobs:
  unit:
    runs-on: ubuntu-24.04
    timeout-minutes: 10
    steps:
      - name: Run prepared local unit suite
        run: python -m unittest discover -s tests/unit

المقتطف ناقص عمداً؛ يسبقه جلب موثوق وإعداد التشغيل. يحدد ubuntu-24.04 عائلة صورة لا آلة ثابتة. لا تحتاج حزمة الوحدة الاصطناعية سراً أو هوية سحابية.

تحقق مما بنى الحزمة المختبرة

تدعم ملفات القفل ومراجعة الإجراءات وهوية البناء المعتمدة ومعرّفات الحزم الثابتة ضبط السلسلة. ثبت الإجراءات بمعرّفات التزام كاملة مراجعة وفق السياسة وراجع التحديثات آلياً؛ الوسم المتغير ليس دليلاً ثابتاً. يحصي SBOM المكونات ويبلغ الفحص الثغرات المعروفة ويصف المنشأ إنتاج الحزمة. لا يثبت أي منها وحده غياب الخبث أو عيب الأعمال. تحقق من المنشأ وسياسة البناء والحزمة لا من مستند يحمل كلمة موقّع.

افصل الحقائق المتحققة عن القرار

تستهلك البوابة حقائق سبق التحقق منها عن الحزمة والباني ومراجعة الثغرات. ليست الدالة متحقق توقيع؛ تتولاه أدوات مدعومة بجذر ثقة موثق. اشرح الحقيقة الغائبة دون أسرار. للفاحص إيجابيات وسلبيات خاطئة وعمر قاعدة وأسئلة وصول. افرز النتائج بملكية وانتهاء لا تجاهل دائم لمعرّف. يدعم الفحص النظيف ادعاء محدوداً بمعرفة الأداة وضبطها لا إعلان أمان البرنامج.

python سياسة على حقائق اصطناعية متحققة مسبقاً
def supply_chain_eligible(facts):
    required = (
        "artifact_identity_verified",
        "trusted_builder_verified",
        "dependency_policy_reviewed",
        "security_findings_reviewed",
    )
    return all(facts.get(key) is True for key in required)

يحصل التنفيذ الفعلي على الحقائق من متحققات موثوقة ويربطها بحزمة ويسجل إصدار السياسة. ليست قيم JSON من الفرع المرشح إقرارات موثوقة. لا يفحص المقتطف أو يوقع أو يتصل خارجياً.

صمم تشخيصاً لا يسرب السلطة

تحتاج الاعتمادات الاصطناعية نطاقاً وتنظيفاً ولا تطبع الحقيقية للتنقيح. قد تكشف الآثار وتفريغات HTTP وتوسع الأوامر وملفات البيئة قيماً لا يخفيها الحجب بعد تحويلها. قلل الجمع واحجب بالمصدر وقيد الوصول والاحتفاظ. عند التسريب اتبع الإبطال والاستجابة لدى المالك ولا تفترض أن حذف سجل يصلح كل شيء. اختبر الحجب بعلامة غير حساسة دون سر حقيقي.

الأخطاء الشائعة وإصلاحها

تصل اختبارات غير موثوقة لاعتماد نشر

لماذا يحدث؟
يتشارك التحقق والعمل المميز الاعتمادات.
كيف تصلحه؟
افصل حدود الثقة وأزل السلطة الزائدة.
كيف تتجنب تكراره؟
راجع الحدث والمشغّل ونطاق الاعتماد معاً.

يقبل ملف منشأ دون تحقق

لماذا يحدث؟
اختلط وجود الملف بالأصل الموثوق.
كيف تصلحه؟
تحقق من ارتباط الحزمة وهوية الباني بأدوات مدعومة.
كيف تتجنب تكراره؟
وثق جذور الثقة وإصدارات السياسة.

يظهر رمز في حزمة تتبع

لماذا يحدث؟
تجاوز الالتقاط الحساس حجب السجل.
كيف تصلحه؟
قيّد الانكشاف ونفذ استجابة المالك.
كيف تتجنب تكراره؟
قلل التشخيص واحجبه قبل الرفع.

اختبر فهمك

1. يرافق الإصدار SBOM وفحص بلا نتائج. ما غير المثبت؟

اعرض الحل المشروح

لا يثبت الحصر والفحص صحة الأعمال أو غياب ثغرات مجهولة أو إنتاجاً موثوقاً. تحقق من المنشأ والأدلة السلوكية وسجل إصدار الفاحص وعمر القاعدة والنطاق والحدود بدلاً من ادعاء أمان شامل.

2. تطلب حزمة وحدة اعتماد إدارة سحابية لزرع بيانات. أعد الحد.

اعرض الحل المشروح

انقل القواعد لبيانات محلية بلا سحابة. إذا احتاج تكامل خدمة حقاً فوفر موارد واعتمادات مؤقتة ضيقة بمسار موثوق. لا يبرر اسم اختبار وحدة سلطة واسعة.

أهم ما تعلمته

  • المسار المنتج للدليل حد أمني بنفسه.
  • يدعم الحصر والفحص والمنشأ والسلوك ادعاءات مختلفة.
  • تبقى الأسرار خارج قدرات الاختبار والتشخيص غير اللازمة.

المراجع الرسمية