# 5.1.1.7 الإجراءات المحمية

_التشغيل والأمان › الإعدادات › المستخدمون والشركات_

## هدف التحكم

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

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

## السياسات والأدوار

| العنصر | الوصف |
|---|---|
| **التسمية** | الاسم المقروء بشرياً الذي يظهر داخل منتقي الأدوار. يحدد الإجراء بصورة مفهومة للمستخدمين المخولين بإدارة الصلاحيات. |
| **الرمز** | المعرف الفريد عالمياً المستخدم مع `@sherkety_guarded`. يحدد الإجراء تقنياً بصيغة `<module>.<model>.<short_action>`، ويمنع التباس الأسماء بين الوحدات. |
| **الفئة** | مجموعة تنظيمية لعرض الإجراءات داخل منتقي الأدوار، مثل الدفعات أو الفواتير. لا تغيّر الفئة السلوك التنفيذي، لكنها تسهّل التجميع والمراجعة. |
| **نشط** | يبيّن ما إذا كان الإجراء ما يزال مسجلاً في الكود. تُضبط القيمة على غير ذلك عندما لا يعود الزخرف البرمجي مسجلاً، مثل حالة إزالة وحدة أو إعادة تسمية. |
| **اسم النموذج** | النموذج المالك للإجراء، مثل `account.payment`، ويُستدل عليه من الصنف عند المزامنة متى أمكن ذلك. |
| **اسم التابع** | اسم التابع البرمجي على النموذج المالك. يستخدم لتعقب نقطة التنفيذ المرتبطة بالإجراء. |
| **الوصف** | شرح تفصيلي للإجراء يظهر كتلميح توضيحي. يساعد في فهم الغرض من الإجراء أثناء مراجعة الصلاحيات. |
| **الأدوار الممنوحة** | الأدوار التي تتضمن هذا الإجراء ضمن `allowed_action_ids`. هذا الحقل معلوماتي هنا، بينما تكون الجهة القابلة للتحرير هي العكس على سجل الدور. |

## الإنفاذ

1. ينتقل المستخدم المخول إلى **الإعدادات > المستخدمون والشركات > الإجراءات المحمية** لعرض قائمة الإجراءات المحكومة بالصلاحيات.  

2. يراجع المستخدم السجل المطلوب بالاعتماد على **التسمية** و**الرمز** و**الفئة** و**اسم النموذج** و**اسم التابع** للتأكد من أن الإجراء هو المطلوب ضبطه.  

3. يتحقق المستخدم من حالة **نشط** للتأكد من أن الإجراء ما يزال مسجلاً ومتاحاً ضمن آلية التحكم. إذا كانت القيمة غير مفعلة، فإن السجل يشير إلى إجراء لم يعد مرتبطاً بالكود الجاري.  

4. يراجع المستخدم **الوصف** عند الحاجة لفهم الغرض التشغيلي للإجراء قبل اتخاذ أي قرار يتعلق بإزالته أو الإبقاء عليه.  

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

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

## المراقبة والتدقيق

تُراقَب هذه الضوابط من خلال مراجعة حالة السجل وحقوله المرجعية داخل القائمة نفسها. وتشمل نقاط التحقق العملية ما يلي:

- التحقق من أن **الرمز** مطابق للنمط المعتمد وخالٍ من التكرار.
- مراجعة أن **نشط** يعكس حالة التسجيل الفعلية في الكود.
- التأكد من أن **اسم النموذج** و**اسم التابع** يحددان نقطة التنفيذ الصحيحة.
- مراجعة **الأدوار الممنوحة** للتحقق من اتساق توزيع الصلاحيات مع سياسة الوصول.

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

## روابط ذات صلة

- [مصفوفة الصلاحيات](doc:account-permission-rule)
- [الشركات](doc:res-company)
- [الإعدادات — مسار التعلم](doc:workflows-sherkety-ops)
- [المستخدمون](doc:res-users)
- [الأدوار](doc:sherkety-role)
- [مجموعات العملاء](doc:sherkety-partner-group)
- [مجموعات الشركات](doc:sherkety-company-group)
- [Books](doc:account-book)
