MaintainFlow نظام إدارة
الصيانة والأصول
اطلب عرضًا توضيحيًا

التخصيص والحوكمة والصلاحيات

نظام صلاحيات دقيق للصيانة: التحكم حسب الإدارة والموقع والعقد

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

حوّل الصلاحية إلى جملة قابلة للاختبار

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

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

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

اختبر أزواج النطاق بدل قوائم مستقلة

في تجربة افتراضية، نسمح للمستخدم بقراءة أمر تحت الموقع «أ» والعقد «س»، وأمر تحت الموقع «ب» والعقد «ص». ونمنع الزوجين الآخرين لهذه التجربة. المطلوب قاعدتان تحفظ كل منهما ارتباط الموقع بالعقد؛ جمع قائمة المواقع وقائمة العقود بصورة مستقلة قد يوسع النتيجة إلى أربعة أزواج إذا صمم الشرط بهذه الطريقة.

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

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

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

افصل القراءة والتعديل والاعتماد والتصدير

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

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

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

حالة السجل وفصل المهام يضيفان شروطًا على الدور

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

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

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

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

ماذا يحدث عند اجتماع أكثر من دور أو استثناء؟

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

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

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

افحص طرق الوصول التي تستخدمها الجهة فعلًا

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

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

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

غيّر نطاق السجل والمستخدم أثناء الاختبار

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

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

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

حساب التكامل له مهمة ونطاق أيضًا

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

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

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

دليل المراجعة يجب أن يشرح المنح والتنفيذ

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

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

حزمة قبول صغيرة تغطي السماح والمنع والتغيير

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

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

ما الذي يحدد كلفة إعداد الصلاحيات؟

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

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