كيف تبني نظام صلاحيات للموظفين؟

دليلك التقني لتصميم وإدارة صلاحيات الموظفين وحماية سرية بيانات الشركة باستخدام أسلوب التحكم المستند للأدوار (RBAC).

جدار الحماية الداخلي

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

إن بناء نظام صلاحيات صارم يضمن تطبيق **مبدأ الحد الأدنى من الامتيازات (Principle of Least Privilege)**، وهو منح الموظف الصلاحيات البرمجية الكافية لأداء مهامه الحالية فقط دون زيادة.

مفهوم التحكم بالوصول القائم على الدور (RBAC)

الأسلوب الأكثر احترافية واستقراراً لبناء الصلاحيات هو **RBAC (Role-Based Access Control)**. في هذا النظام، لا نمنح الصلاحيات للموظف كفرد، بل نمنحها لـ "الدور الوظيفي" (Role)، ثم نقوم بربط الموظف بهذا الدور.

1. الأدوار (Roles)

تحديد الأدوار في المؤسسة، مثل: مدير نظام (Admin)، محاسب (Accountant)، موظف مبيعات (Salesman)، أمين مخزن (Inventory Keeper).

2. الموارد / النوافذ (Resources)

الوحدات البرمجية داخل لوحة التحكم، مثل: لوحة التقارير، فواتير المبيعات، قيود الحسابات، شؤون الموظفين، الإعدادات.

3. الصلاحيات والإجراءات (Actions / Permissions)

الإجراءات المتاحة على كل مورد، وتُعرف بالـ CRUD: القراءة (View)، الإضافة (Create)، التعديل (Edit)، الحذف (Delete).

التصميم الهيكلي لقواعد البيانات (Database Schema)

لبناء نظام RBAC مرن وقابل للتوسع في قاعدة بيانات SQL، يتم تصميم 5 جداول رئيسية كالتالي:

  • users (المستخدمين): لحفظ بيانات الموظفين الأساسية وحالة حساباتهم.
  • roles (الأدوار الوظيفية): لحفظ أسماء المجموعات الوظيفية (مثل Admin, Accountant).
  • permissions (الصلاحيات): قائمة بجميع العمليات الممكنة (مثل `view_deals`, `delete_invoices`).
  • user_roles (جدول وسيط): لربط الموظف بدور وظيفي أو أكثر (علاقة Many-to-Many).
  • role_permissions (جدول وسيط): لربط الدور الوظيفي بقائمة الصلاحيات المتاحة له (علاقة Many-to-Many).

بيئة محاكاة واختبار الصلاحيات (RBAC Sandbox)

قم بصياغة أدوار موظفيك وتعديل مصفوفة صلاحياتهم بالأسفل عبر تفعيل أو إلغاء الخيارات، ثم استخدم كونسول الفحص البرمجي بالأسفل لاختبار محاولة موظف لديه دور معين القيام بإجراء تشغيلي في النظام ومراقبة رد فعل الأمان:

مصفوفة الصلاحيات الأمنية (RBAC Control Matrix)
الدور الوظيفي عرض لوحة التحكم (Dashboard) المبيعات والفواتير (Sales) إدارة الحسابات (Accounting) شؤون الموظفين (Staff) تعديل الإعدادات (Settings)
مدير النظام (Admin)
المحاسب (Accountant)
البائع (Salesman)
أمين المستودع (Storekeeper)

كونسول اختبار الأمان التشغيلي (Security Authorization Tester)

# System ready. Awaiting request...
# Select role and resource, then click test button above.