مالك، محرِّر، مُشاهِد: كيف يعمل نموذج الصلاحيات في Rexfin فعلياً
ثلاثة أدوار، مُطبَّقة على الخادم في كل مكان، مع إلغاء تفعيل بدل حذف صامت. إليك كيف يعمل ضبط الوصول على Rexfin.
بقلم The Rexfin team
تميل نماذج الصلاحيات في أدوات SaaS الصغيرة إلى الوقوع في أحد شكلين سيئين: إما أن يستطيع الجميع فعل كل شيء لأن الفريق صغير، أو تُلحِق الأداة نظام RBAC بمستوى مؤسسي لم يطلبه أحد في فريق مالي من ثلاثة أشخاص. اختارت Rexfin وسطاً أضيق: ثلاثة أدوار، لكل منها مهمة مختلفة بوضوح، مُطبَّقة على الخادم في كل مرة، لا مجرد مخفية عن القائمة.
ثلاثة أدوار، لا مصفوفة صلاحيات
يستطيع المالك دعوة زملاء، وتغيير دور أي شخص، وإلغاء تفعيل الأعضاء، وهو الدور الوحيد القادر على ذلك. ويستطيع المحرِّر رفع المستندات، ومراجعتها، وتشغيل السيناريوهات، وتوليد التصديرات. ويستطيع المُشاهِد رؤية لوحات المعلومات والقوائم المالية وطرح الأسئلة، لكن لا يمكنه الرفع أو تغيير أي شيء. وهذا قريب عمداً مما تحتاجه معظم فرق المالية فعلياً: شخص يدير مساحة العمل، وأشخاص يؤدّون العمل، وأشخاص يستهلكون المخرجات: مراقب حسابات، ومحلِّل، وعضو مجلس إدارة يقرأ الحزمة التي بناها شخص آخر، تقريباً.
توجد قاعدة واحدة تحت هذه الأدوار الثلاثة كلها: لا يمكن لمساحة عمل أن تنتهي بلا مالكين على الإطلاق. فإن حاول المالك الأخير خفض رتبته بنفسه أو أُلغي تفعيله من قِبل شخص آخر، يمنع النظام ذلك. وهذا يبدو بديهياً حتى تتأمل حالة السباق التي يمنعها: فمالكان يُلغيان تفعيل بعضهما البعض في اللحظة نفسها تقريباً قد يتركان مساحة العمل بلا أي شخص مسؤول عنها لولا ذلك. وتُغلِق Rexfin هذه الثغرة على مستوى المعاملة، لا بحوار تحذيري يمكن لنقرة سريعة تجاوزه.
إلغاء التفعيل، لا الحذف
إزالة شخص من مساحة عمل على Rexfin إجراء ناعم، لا حذفاً صارماً. إلغاء تفعيل عضو يفعل ثلاثة أشياء بشكل ذرّي: يُعلِّمه كغير نشط، ويُلغي كل جلسة يملكها حالياً، ويكتب سجلاً واحداً بمن فعل ذلك ومتى. ويخرج الشخص من النظام فوراً، لا “في نهاية المطاف”، ولا “في المرة القادمة التي تنتهي فيها صلاحية رمزه”، لأن الجلسات تُفحَص مقابل قاعدة البيانات مع كل طلب محمي، لا يُكتفى بالتحقق منها عبر كعكة تعريف موقَّعة عند الحافة. ولا يستطيع حساب مُلغى تفعيله الدخول مجدداً، ورابط إعادة تعيين كلمة المرور المُرسَل إليه لا يعمل هو الآخر.
أما ما لا يحدث فهو حذف متسلسل صامت. فالتعليقات، والسيناريوهات، وقيود التدقيق التي كتبها شخص أُلغي تفعيله تبقى في مكانها تماماً، منسوبة إليه كما هي، مع ملاحظة في العرض تفيد بأنه أُزيل من الفريق، بحيث يبقى التاريخ سليماً ولا يضطر أحد لتفسير فجوة في السجل. أما الدعوة المعلَّقة التي لم تُقبَل بعد فيمكن إلغاؤها كلياً. لكن الدعوة التي قُبِلت بالفعل لا يمكن إلغاؤها وكأنها لم تحدث قط؛ بل يخبرك النظام صراحة بإلغاء تفعيل العضو بدلاً من ذلك، لأن التظاهر بأن حساباً نشطاً لم يُدعَ قط نوع أسوأ ومختلف من عدم الصدق في مسار التدقيق.
كل تغيير مُسجَّل، والتحسّس عبر مساحات العمل لا يوصل إلى شيء
كل تغيير في دور وكل إلغاء تفعيل يكتب سطراً في سجلّ التدقيق الخاص بمساحة العمل: من فعله، وبمن، وما الذي تغيَّر. وهذا السجلّ هو ما تُسلِّمه لمدقّق يسأل “من كان لديه وصول إلى هذه البيانات ومتى”، لا إعادة بناء من الذاكرة.
تحدث فحوصات الوصول على الخادم مع كل عملية تعديل، وهي مقيَّدة بمساحة عمل المستدعي نفسه قبل تشغيل أي شيء آخر. حاول التصرّف على مورد من مساحة عمل لا تنتمي إليها، وستحصل على خطأ 404 بسيط، لا 403، فالنظام لا يؤكد حتى وجود المورد بدل أن يكتفي برفض وصولك إليه، وهذا مهم لأن 403 تخبر متحسّساً بهدوء “نعم، هذا موجود، لكن غير مسموح لك فقط”، بينما لا تخبره 404 بشيء على الإطلاق.
أين يقع هذا في الصورة الأكبر
لا شيء من هذا يحل محل تسجيل الدخول الموحّد المؤسسي (SSO) أو تسلسل RBAC كامل، وهذا خيار نطاق مقصود يناسب حجم الفريق الذي تخدمه Rexfin اليوم، لا سهواً. ولمعرفة كيف يتلاءم هذا مع بقية ضوابط المنصة، طالع نظرة عامة على البنية الأمنية، ولمعرفة ما يراه زميل جديد فعلياً في اليوم الأول تحت كل دور، اقرأ جولة الأسبوع الأول. وكل ما سبق جزء أيضاً مما تعرضه Rexfin مباشرة على فريق أمن عميل محتمل، لمزيد حول ذلك طالع مركز الثقة، أو تصفّح مركز داخل منصّة Rexfin كاملاً.
جزء من داخل منصّة Rexfin: كيف تعمل آلية الثقة