معمارية البرمجيات / التفاعلات: التوزيع والفشل والتشغيل / الدرس 11
صمّم الثقة والتفويض عند كل حد
اربط تدفقات البيانات والهوية وتفويض الموارد والأسرار وأدلة التدقيق الآمنة في نظام الورش.
في هذه الصفحة
أهداف الدرس
- ميّز المصادقة من التفويض وموقع الشبكة من الثقة.
- صِف حالات إساءة وضوابط دون تنفيذ هجوم أو استخدام بيانات اعتماد.
ارسم ما يجب حمايته وممن
ابدأ بالأصول والأفعال: بيانات المتعلم وإدارة الورشة وملكية الحجز وتغيير السعة. تقع حدود الثقة حين تعبر البيانات أو السلطة بين سياقات مختلفة الافتراضات، كالمتصفح والواجهة أو التطبيق والبريد الخارجي. لا تجعل الشبكة الخاصة كل طلب موثوقا. سجّل الهوية المثبتة وكيف تتحقق المطالبات والمكون الذي يقرر الإذن للمورد. نمذجة التهديد حوار تصميم منظم، لا إذن لمهاجمة نظام حي.
فوّض الفعل على المورد المطلوب
تثبت المصادقة هوية بآلية مختارة، ويقرر التفويض ما يجوز لها. يجب ألا يصل متعلم يقرأ حجزه إلى حجز آخر بتغيير المعرف. افحص الإذن عند مالك العملية في الخادم، بما يشمل الخلفية والمسارات البديلة. ارفض افتراضيا وعالج فشل تقييم السياسة بأمان. يفحص النموذج المحلي قاعدة ملكية افتراضية فقط؛ ولا يتحقق من رموز أو جلسات أو أدوار مفوضة أو سياسة مؤسسة، فلا يمثل نظام وصول كاملا.
def may_read_reservation(actor, reservation):
return actor is not None and actor == reservation["owner"]
record = {"id": "r-7", "owner": "learner-A"}
for actor in ["learner-A", "learner-B", None]:
print(may_read_reservation(actor, record))
True
False
False
تنجح learner-A فقط وفق القاعدة؛ وتفشل الهوية الأخرى والغائبة. كل السجلات افتراضية ولا يُستعلم حساب أو خدمة.
تحقق من البيانات عند دخولها المسؤولية
يحسن تحقق العميل التغذية الراجعة ولا يغني عن الخادم. افحص الصياغة والحجم والنطاق والمعنى قبل العملية الحساسة. يعالج وصول القاعدة بالمعاملات حد حقن واحدا، لكنه لا يفوض الحجز أو يمنع تصديرا مفرطا. تجنب إدخال حقول خارجية غير موثوقة مباشرة في كائنات مجال توحي بضمان أقوى. يستطيع المحول ترجمتها إلى تمثيل داخلي متحقق منه، مع فشل صريح عند غياب الحقائق اللازمة أو تعارضها.
قلّل سلطة التكاملات وانكشافها
ينبغي أن يتلقى مكون الإشعار البيانات والأذونات اللازمة لرسالته فقط. أبق أسرار المزود خارج الأمثلة والسجلات واستخدم وسائل تسليم وتدوير الأسرار المعتمدة للبيئة. تحتاج هوية الخدمة نطاقا محدودا ومالك دورة حياة؛ فتوسّع مشاركة اعتماد قوي أثر الاختراق. لا يتضمن سجل التدفق التالي اعتمادا ويجعل الاحتفاظ قرارا صريحا. يجب أن تلائم الضوابط النشر والتزامات البيانات الفعلية، لا سياسة عامة مختلقة.
flow: booking application to notification adapter
required_fields: [reservation_id, destination, template_id]
excluded_fields: [session_token, full_profile, payment_details]
authority: send approved notification templates only
retention: defined by the data owner and applicable policy
توضح الحقول مراجعة تصميم. لا يضبط السجل مزودا ولا يثبت امتثالا؛ وعلى التنفيذ فرض حدود البيانات والسلطة.
سجّل دليلا أمنيا مفيدا دون تسريب الأصل
تربط سجلات التدقيق الطرف والفعل المفوض ومرجع المورد والوقت والنتيجة بحساسية مناسبة. تجنب الرموز وكلمات المرور وبيانات الاتصال والأجسام الكاملة غير اللازمة. احم المسار من التعديل غير المصرح وحدّد ملكية الوصول والاحتفاظ. صمّم اختبارات سلبية لغياب الهوية والمالك الخطأ وانتهاء الصلاحية وفشل السياسة في بيئة معزولة. يشغّل الدرس دالة ملكية صرفة فقط؛ ولا يجري جس وصول حي أو مسحا أو معالجة رموز أو تصديقا أمنيا.
الأخطاء الشائعة وإصلاحها
زر مخفي هو فحص الإذن الوحيد.
- لماذا يحدث؟
- اعتُبر العرض حد أمان للخادم.
- كيف تصلحه؟
- افرض تفويض المورد في كل مسار خادمي.
- كيف تتجنب تكراره؟
- اختبر الواجهة مباشرة وفق السياسة في مثال معزول.
تتجاوز الطلبات الداخلية التفويض كله.
- لماذا يحدث؟
- اعتُبر موقع الشبكة دليلا للسلطة.
- كيف تصلحه؟
- أثبت هوية الخدمة وأذونات العملية صراحة.
- كيف تتجنب تكراره؟
- ضمّن التدفقات الداخلية في خريطة الثقة.
تتضمن السجلات رموز جلسة وملفات كاملة.
- لماذا يحدث؟
- غلبت راحة التصحيح تقليل البيانات.
- كيف تصلحه؟
- أزل الحقول الحساسة بالمسار المعتمد وسجّل مراجع آمنة.
- كيف تتجنب تكراره؟
- راجع مخططات الرصد كواجهات بيانات.
اختبر فهمك
1. هل يغني معرف حجز يصعب توقعه عن فحص الملكية؟
اعرض الحل المشروح
لا. قد تتسرب المعرفات عبر الروابط والسجلات والمشاركة. يجب أن يفوض الخادم الطرف للحجز والفعل. قد تقلل العشوائية التخمين لكنها لا تثبت الإذن. أضف اختبارا سلبيا بمعرف معروف يملكه متعلم افتراضي آخر.
2. يطلب محول البريد ملف المتعلم كاملا لتأكيد واحد. ما التغيير؟
اعرض الحل المشروح
حدّد مدخلات القالب والوجهة الدنيا ومرّرها فقط بعقد صريح. أزل بيانات الجلسة والدفع غير اللازمة. راجع الاحتفاظ وسجلات الخطأ مع الطلب الناجح، فقد يُنسخ مدخل صغير إلى سجل تشخيص غير آمن.
أهم ما تعلمته
- الهوية والإذن وموقع الشبكة قرارات مختلفة.
- تشمل حدود الأمان الرصد ومسارات الخلفية.