هندسة البرمجيات

6 min read · Oct 2026

عزل العملاء في SaaS: الحماية تتجاوز شاشة تسجيل الدخول

تسجيل الدخول يثبت الهوية، لكنه لا يحدد وحده بيانات المؤسسة التي يجوز الوصول إليها. نوضح كيف تربط الصلاحيات بسياق العميل، وتختار حدود التخزين، وتراجع البيانات المشتركة والمهام الخلفية، ثم تختبر أن كل مؤسسة تصل فقط إلى مواردها المسموح بها.

عزل العملاء في SaaS: الحماية تتجاوز شاشة تسجيل الدخول

قد تخدم منصة SaaS مؤسسات عديدة، وتتوقع كل مؤسسة بقاء بياناتها ضمن حدودها. العزل هنا خاصية في كل رحلة للبيانات، وليس مجرد اختيار قاعدة بيانات. يبدأ التصميم بتحديد من يطلب الوصول، ولأي مؤسسة، وإلى أي مورد، ولتنفيذ أي إجراء.

افصل إثبات الهوية عن منح الصلاحية

تميز OWASP بين المصادقة، التي تتحقق من الهوية، والتفويض، الذي يقرر السماح بإجراء معين. نجاح تسجيل الدخول لا يمنح المستخدم حق قراءة كل كائن يستطيع إرسال معرّفه.

في مثال افتراضي لمنصة حجوزات تخدم مؤسستين مستقلتين، يجب أن يفحص طلب تعديل الموعد عضوية المستخدم في المؤسسة وصلاحيته للتعديل وملكية الموعد. إخفاء الزر في الواجهة لا يطبق هذه القاعدة على الخادم، كما أن معرفة معرّف الموعد لا تُعد إذنًا للوصول إليه.

اجعل سياق المؤسسة موثوقًا ومطلوبًا

توضح AWS أن المصادقة والتفويض عند نقاط الدخول لا يكفيان وحدهما لعزل العملاء، وتوصي بآلية مشتركة تطبق حدود الوصول بدل تركها لاجتهاد كل مطور.

استخرج سياق المؤسسة بعد التحقق من الهوية والعضوية، ولا تعتبر معرّفًا مرسلًا في الطلب مصدر صلاحية بذاته. مرر هذا السياق صراحة إلى طبقة البيانات والمهام الخلفية. عند غيابه أو تعارضه، ارفض العملية بدل استخدام مؤسسة افتراضية. وإذا كان المستخدم عضوًا في مؤسستين، اجعل الانتقال بين السياقين فعلًا واضحًا يمكن تتبعه.

اختر حدود التخزين وفق الحاجة

تعرض Microsoft خيارات تمتد من بيانات مشتركة إلى قواعد منفصلة لكل مؤسسة، مع اختلاف الكلفة والعزل والإدارة. ويمكن لأمن مستوى الصف أن يدعم العزل في قاعدة مشتركة، بشرط انتقال هوية المؤسسة والمستخدم إلى الاستعلامات بصورة صحيحة.

قارن الخيارات وفق متطلبات الاستعادة والتخصيص والحمل ومسؤولية التشغيل. في المثال، اسأل كيف ستُستعاد بيانات مؤسسة واحدة دون التأثير في الأخرى. اختبر كذلك المسارات ذات الصلاحيات المرتفعة وإعادة استخدام اتصالات قاعدة البيانات؛ فوجود قاعدة عزل معلنة لا يغني عن اختبار تنفيذها.

حدّد ما يجوز مشاركته خارج الجداول

قد يتجاوز التسرب الاستعلام المباشر: نتيجة مخزنة مؤقتًا، أو ملف تصدير، أو رابط تنزيل، أو مهمة تعمل بعد انتهاء جلسة المستخدم. راجع سياق المؤسسة عبر هذه المسارات، بما يشمل مفاتيح التخزين المؤقت وملكية الملفات.

إذا احتاج المنتج قاموسًا مشتركًا للخدمات، فعرّف من يقرأه ومن يعدله، وافصل بوضوح بياناته العامة عن ملاحظات كل مؤسسة وأسعارها الخاصة. المشاركة المقصودة تحتاج عقدًا واضحًا، ولا تبرر توسيع صلاحيات بقية البيانات. وراجع صلاحيات أدوات الدعم عبر مسار مستقل قابل للتدقيق.

اختبر محاولات عبور الحدود

أنشئ مؤسستين وهميتين في الاختبارات، مع موارد متشابهة ومستخدمين مختلفي الصلاحية. جرّب تبديل معرّف المورد، والتصدير الجماعي، والبحث، وتشغيل مهمة بسياق خاطئ. تحقق من عدم ظهور بيانات أو أعداد تخص المؤسسة الأخرى، ومن استمرار العمليات المصرح بها.

توصي OWASP باختبارات للتفويض وبفحص الصلاحيات لكل طلب. حوّل حالات العبور المكتشفة إلى اختبارات رجوع مرتبطة بالمسار الذي أخفق، للحفاظ على العزل مع تغير التطبيق.

خطوتك التالية

عامل هوية المؤسسة كجزء لازم من تنفيذ العملية، وحدد الاستثناءات المقصودة بوضوح. يثبت العزل عندما تعمل الرحلات الصحيحة وتفشل محاولات عبور الحدود في كل مسار للبيانات.