CI/CD / عقود الترقية والبيئة / الدرس 8
الأسرار وحدود الثقة في التسليم
امنح سلطة الإصدار للشيفرة والهويات والبيئات التي ينبغي أن تحملها فقط.
في هذه الصفحة
أهداف الدرس
- تتبع من يؤثر في مهمة مرتفعة الصلاحية.
- شرح الهوية القصيرة العمر وحدود إخفاء الأسرار.
تتبع كل مدخل تنفيذي
تنفذ مهمة التسليم أكثر من نصها الظاهر. قد تشغّل المصدر وإضافات البناء وخطافات الحزم والإجراءات الخارجية ومحتوى الذاكرة المستعاد. إن استطاع اقتراح غير موثوق تعديل مدخل تنفيذي، فإن منح السر للمهمة يتيح له الوصول إلى سلطته. افصل التحقق غير الموثوق عن الترقية الموثوقة. لا يحل إخفاء السر في السجل المشكلة؛ قد ترسله الشيفرة الخبيثة إلى مكان آخر أو تستخدمه مباشرة خلال صلاحيته.
طابق السلطة مع مهمة واحدة
لا تحتاج مهمة بناء Parcel كتابة الإنتاج. قد تحتاج الترقية وصولاً محدوداً لهدف ومرشح محددين، ويحتاج التقرير نشره فقط. عرّف هويات حسب المسؤولية والبيئة وبأقصر عمر مفيد. قراءة المستودع ورفع الناتج والموافقة وتغيير التشغيل سلطات مختلفة. إن قدمت المنصة رمزاً افتراضياً فراجع أذوناته الفعلية بدلاً من افتراض أنها دنيا أو متطابقة بين المؤسسات.
افهم الاتحاد قصير العمر
يستطيع اتحاد OIDC مبادلة رمز هوية من المنصة بوصول مزود قصير العمر بعد تهيئة علاقة الثقة. يتحقق المزود من المُصدر والجمهور والموضوع أو المطالبات المناسبة. يقلل استبدال السر الطويل نافذة تعرض، ولا يجعل أي شيفرة موثوقة تلقائياً. قد تمنح قاعدة فضفاضة لكل فرع أو مستودع سلطة مفرطة. السجل التالي قائمة مراجعة مفاهيمية لا سياسة مزود، ولا يُنشئ بيانات اعتماد.
identity checks:
issuer: expected CI identity service
audience: intended token consumer
subject: approved repository and environment
authorization:
target: one approved environment
action: one required promotion capability
تختلف أسماء المطالبات وصيغ الموضوع والسياسة حسب خدمة CI والمزود. لا يحوي المثال رمزاً أو سر عميل أو حساباً أو نقطة خدمة فعلية.
لا يلغي الإخفاء الإفشاء
قد يخفي القناع نصوصاً معروفة في السجلات، لكن القيم المحوّلة والمشفرة والمجزأة أو المضمّنة قد تفلت. تجنب طباعة البيئة وتمرير الأسرار كوسائط حين توجد قناة أنسب وتغليف ملفات إعداد ذات بيانات اعتماد. السجلات والنواتج قناتا إفشاء مستقلتان. إذا حدث التعرض فلا يبطل تنقيح سطر نسخة مسروقة. نسّق الإلغاء أو التدوير مع المالك واحتفظ بسجل حادث منقّح للهوية والفترة المتأثرتين.
يتطلب القرار المميز شروطاً عدة
لا يسمح النموذج الكامل بالترقية إلا مع مصدر موثوق وموافقة البيئة والتحقق من المرشح جميعاً. يرفض عمداً اقتراحاً مختبراً بالكامل لكنه غير موثوق. يجب أن تأتي الحقائق من أدلة مستوى تحكم موثوق؛ لا يعلن ملف الاقتراح ثقته بنفسه. راجع كل حالة رفض، وتحقق أيضاً من أن العامل لا يرث سلطة عبر ملفات أو عمليات سابقة أو هوية مضيف واسعة.
def promote(trusted_source, approved_environment, verified_candidate):
return all((trusted_source, approved_environment, verified_candidate))
print(promote(False, True, True))
print(promote(True, True, True))
False
True
لا يجري النموذج المحلي مصادقة أو نشراً. تسمي المتغيرات ملاحظات مستقلة مطلوبة لا أذونات يرسلها المستخدم.
الأخطاء الشائعة وإصلاحها
يشغّل اقتراح متفرع بيانات اعتماد نشر.
- لماذا يحدث؟
- عبرت مدخلات تنفيذية غير موثوقة إلى مهمة مميزة.
- كيف تصلحه؟
- افصل اختبار الاقتراح عن ترقية المرشح الموثوق.
- كيف تتجنب تكراره؟
- راجع المصدر والإضافات والذاكرة وهوية العامل معاً.
يُعد الرمز المخفي آمناً بعد تعرضه.
- لماذا يحدث؟
- اختلط مظهر السجل بصلاحية الاعتماد.
- كيف تصلحه؟
- ألغِ أو دوّر مع المالك وافحص الوصول المتأثر.
- كيف تتجنب تكراره؟
- قلل العمر وامنع طباعة المادة الحساسة.
يثق الاتحاد بكل فروع المستودع.
- لماذا يحدث؟
- قُبلت المطالبات دون قاعدة ثقة ضيقة.
- كيف تصلحه؟
- قيّد المواضيع والأذونات لدى المزود.
- كيف تتجنب تكراره؟
- راجع المُصدر والجمهور والموضوع والتفويض كضوابط مستقلة.
اختبر فهمك
1. لا تطبع المهمة السر لكنها تنفذ خطاف تثبيت عدله مساهم. هل السر محمي؟
اعرض الحل المشروح
لا. يعمل الخطاف بسلطة المهمة وقد يسرق السر أو يستخدمه. شغّل الخطافات غير الموثوقة بلا سلطة إصدار، ثم رقّ مرشحاً متحققاً منه بمسار موثوق لا ينفذ نصوص المساهم.
2. هل يلغي اعتماد خمس دقائق مبدأ أقل صلاحية؟
اعرض الحل المشروح
لا. يستطيع اعتماد قوي تنفيذ فعل ضار خلال ثوانٍ. يحد العمر القصير الاستمرار وتحد الأذونات الضيقة القدرة. يحتاج الاثنان تنفيذاً موثوقاً وقيود هدف.
أهم ما تعلمته
- تتبع التأثير قبل منح السلطة.
- العمر والنطاق والتنفيذ الموثوق يعالج كل منها مشكلة مستقلة.