انتقل إلى المحتوى

مصفوفة RBAC — الأدوار × الصلاحيات

ما هي

المرجع القانوني لـ من يستطيع فعل ماذا في ManpowerIQ: مصفوفة الدور × الصلاحية الكاملة، مُستنسَخة من قراءة حيّة لجداول roles / permissions / role_permissions المزروعة (BU 1، Demo Business Unit، 2026-06-10). الإجماليات المُتحقَّق منها هي 97 صلاحية عبر 9 أدوار.

هذا هو المصدر الموثوق الذي تشير إليه صفحة دليل المستخدم الأدوار والصلاحيات، والبوّابة المستخدمة في صفحات مهام المرحلة Phase-4. المصدر: Sprint/RBAC_RolePermission_Extract.md.

لماذا بُنيت بهذه الطريقة

نموذج الوصول في ManpowerIQ متمحور حول الصلاحيات (انظر المصادقة وRBAC): كتالوج عام لرموز الصلاحيات، وأدوار محصورة بوحدة العمل تحزمها، وفحوص [Authorize("x.y")] في وقت التشغيل. المصفوفة أدناه هي بيانات المنح الملموسة وراء ذلك النموذج — الصفوف الفعلية المزروعة في role_permissions. تُعرَض مُجمَّعة حسب القدرة بحيث يستطيع مطوّر يضيف إجراءً محروسًا أن يجد الصلاحية ذات الصلة ويرى أي الأدوار تحملها بالفعل.

الأدوار التسعة

زرع خط أساس MIQ-003 7 أدوار؛ وأُضيف HR_DIRECTOR وCOO في جولات لاحقة (بعد خط الأساس)، كلاهما بنطاق ضيّق للحضور + التسوية.

id Code Abbr. Name Scope
1 SYS_ADMIN SA System Administrator وصول كامل — كل الصلاحيات 97
2 HR_ADMIN HRA HR Administrator الموظفون، المهارات/الشهادات، إعداد الإجازة، التدقيق (65 صلاحية)
3 PLANNER PLN Planner الطلب، الجداول، جولات التخصيص (55 صلاحية)
4 MANAGER MGR Department Manager الاعتماد/النشر، الاعتمادات، التحقّق من الحضور (46 صلاحية)
5 SUPERVISOR SUP Supervisor التقاط/التحقّق من الحضور، عروض الفريق (34 صلاحية)
6 EMPLOYEE EMP Employee الخدمة الذاتية فقط (6 صلاحيات)
7 VIEWER VWR Viewer للقراءة فقط عبر المنتج (23 صلاحية)
8 HR_DIRECTOR HRD HR Director بعد خط الأساس — الحضور + التسوية (7 صلاحيات)
9 COO COO Chief Operating Officer بعد خط الأساس — الحضور + التسوية (8 صلاحيات)

كيف تُقرأ المصفوفة

  • تستخدم الأعمدة الاختصارات أعلاه (SA HRA PLN MGR SUP EMP VWR HRD COO).
  • علامة ✓ تعني أن الدور يحمل تلك الصلاحية.
  • SYS_ADMIN يحمل كل صلاحية، فعموده ✓ في كل صفّ بحكم التعريف.

ملاحظة عن الاكتمال. يُعدِّد الاستخراج المصدر منح الأدوار الثمانية غير الإدارية صراحةً — 92 رمز صلاحية متمايزًا — ويسجّل أن SYS_ADMIN يحمل كل الـ 97. تُدرِج المصفوفة أدناه تلك الـ 92، إضافةً إلى allocation_run.debug (المُسمّى في المرجع السريع للاستخراج) وadmin.config / admin.roles / admin.users (المُستعادة من مسح متحكّمات المرحلة Phase-6) — كلها SYS_ADMIN-only — = 96 صلاحية مُسمّاة. يترك ذلك 1 من الـ 97 يحملها SYS_ADMIN وحده ولم تُسمَّ بعد (97 − 92 = 5 لـ SYS_ADMIN فقط؛ 4 مُسمّاة الآن، 1 لا تزال غير مُسمّاة). بدلًا من اختراع رمز، تُترَك كبقية غير مُعدَّدة؛ ولاستعادتها، استعلم permissions مباشرةً عند HEAD.

المصفوفة (حسب القدرة)

Administration & audit

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
admin.audit ✓ ✓
admin.config ✓
admin.roles ✓
admin.users ✓

admin.config / admin.roles / admin.users هي صلاحيات إدارية SYS_ADMIN-only، مُستعادة من مسح متحكّمات المرحلة Phase-6 (تبوّب كتابة الإعدادات، والأدوار/الصلاحيات، والمستخدمين على التوالي). كانت ضمن بقية SYS_ADMIN-only غير المُسمّاة سابقًا — انظر ملاحظة الاكتمال أعلاه.

Allocation rules & runs

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
allocation_rule.execute ✓ ✓
allocation_rule.read ✓ ✓ ✓ ✓ ✓ ✓
allocation_rule.write ✓ ✓
allocation_run.debug ✓
allocation_run.execute ✓ ✓
allocation_run.lock ✓ ✓
allocation_run.read ✓ ✓ ✓ ✓ ✓ ✓
allocation_run.write ✓ ✓

Demand planning

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
demand.confirm ✓ ✓ ✓
demand.create ✓ ✓
demand.edit ✓ ✓
demand.override ✓ ✓
demand.read ✓ ✓ ✓ ✓ ✓ ✓
demand.template_manage ✓ ✓
demand.template_read ✓ ✓ ✓ ✓
demand.view ✓ ✓ ✓ ✓
demand.write ✓ ✓ ✓
demand_reason.config ✓ ✓ ✓
demand_reason.view ✓ ✓ ✓ ✓ ✓ ✓

Rostering & publish

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
roster.approve ✓ ✓
roster.create ✓ ✓
roster.edit ✓ ✓
roster.publish ✓ ✓ ✓
roster.view ✓ ✓ ✓ ✓ ✓
roster.view_own ✓ ✓
shift_assignments.override_certification ✓ ✓ ✓

Attendance & reconciliation

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
attendance.capture ✓ ✓
attendance.edit ✓ ✓ ✓ ✓ ✓
attendance.import ✓ ✓ ✓ ✓ ✓
attendance.review ✓ ✓ ✓
attendance.validate ✓ ✓ ✓
attendance.view.all ✓ ✓ ✓ ✓ ✓ ✓
attendance.view.own ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
attendance.view.scoped ✓ ✓ ✓
attendance_status.config ✓ ✓ ✓
attendance_status.view ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓
reconciliation.validate ✓ ✓ ✓ ✓
reconciliation.view ✓ ✓ ✓ ✓ ✓ ✓ ✓

Leave

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
leave.approve ✓ ✓
leave.config ✓ ✓
leave.request ✓ ✓
leave.view ✓ ✓ ✓ ✓ ✓ ✓
leave_request.approve ✓ ✓ ✓ ✓
leave_request.submit ✓ ✓ ✓ ✓ ✓ ✓
leave_request.view_all ✓ ✓ ✓ ✓
leave_request.view_own ✓ ✓ ✓ ✓ ✓ ✓

Cross-pool, overtime & early-release

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
cross_pool.approve ✓ ✓
cross_pool.request ✓ ✓
early_release.approve ✓ ✓
early_release.submit ✓ ✓
ot.approve ✓ ✓

Employees, skills & certifications

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
cert.create ✓ ✓
cert.edit ✓ ✓
cert.view ✓ ✓ ✓ ✓ ✓
certifications.manage ✓ ✓ ✓
certifications.read ✓ ✓ ✓ ✓ ✓ ✓
employee.create ✓ ✓
employee.delete ✓ ✓
employee.edit ✓ ✓
employee.import ✓ ✓
employee.view ✓ ✓ ✓ ✓ ✓ ✓
employee_group.read ✓ ✓ ✓ ✓ ✓
employee_group.write ✓ ✓ ✓
grade.config ✓ ✓ ✓
grade.view ✓ ✓ ✓ ✓ ✓ ✓
skill.assign ✓ ✓
skill.config ✓ ✓ ✓
skill.create ✓ ✓
skill.delete ✓ ✓
skill.edit ✓ ✓
skill.view ✓ ✓ ✓ ✓ ✓ ✓

Pools

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
pool.read ✓ ✓ ✓ ✓ ✓
pool.write ✓ ✓ ✓
pool_lending_rule.read ✓ ✓ ✓ ✓ ✓
pool_lending_rule.write ✓ ✓ ✓

Calendars, shifts & holidays

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
calendar.config ✓ ✓
calendar.view ✓ ✓ ✓ ✓ ✓ ✓
holiday.config ✓ ✓ ✓
holiday.view ✓ ✓ ✓ ✓ ✓ ✓
shift_pattern.config ✓ ✓ ✓
shift_pattern.view ✓ ✓ ✓ ✓ ✓ ✓
shift_template.config ✓ ✓ ✓
shift_template.view ✓ ✓ ✓ ✓ ✓ ✓

Org reference data

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
node_type.config ✓ ✓ ✓
node_type.view ✓ ✓ ✓ ✓ ✓ ✓
terminal.config ✓ ✓ ✓
terminal.view ✓ ✓ ✓ ✓ ✓ ✓

Imports

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
imports.run ✓ ✓ ✓
imports.view_history ✓ ✓

Dashboards & self-service

Permission SA HRA PLN MGR SUP EMP VWR HRD COO
dashboard.view ✓ ✓ ✓ ✓ ✓ ✓
dept_dashboard.view ✓ ✓ ✓
profile.view_own ✓ ✓ ✓ ✓ ✓ ✓ ✓

مزالق / قيود

  • allocation_rule.write هو SYS_ADMIN + HR_ADMIN فقط. يستطيع PLANNER تشغيل المحرّك (allocation_run.execute) لكنه لا يستطيع تحرير مجموعات القواعد. افتراض خاطئ شائع.
  • allocation_run.debug هو SYS_ADMIN فقط — يبوّب هذا تفصيل سبب عدم الأهلية في جولة (الاكتشاف F6). لا يستطيع المخطّطون رؤية سبب استبعاد مرشَّح دونه.
  • للإجازة أسلوبا تبويب. سلسلة أحدث (leave_request.submit / leave_request.approve) وبوّابة قديمة (leave.approve = SYS_ADMIN + MANAGER) تتعايشان. افحص أيهما تستخدم نقطة النهاية.
  • HR_DIRECTOR وCOO ضيّقان، لا أعليان-من-كل-شيء. رغم الأسماء التنفيذية، يحمل كلٌّ منهما 7–8 صلاحيات حضور/تسوية فقط — لا مجموعة فوقية لـ HR_ADMIN.
  • هذه بذرة BU-1. الأدوار محصورة بالمستأجر، فيمكن من حيث المبدأ تحرير أدوار وحدة عمل أخرى بعيدًا عن هذه البذرة؛ هذه المصفوفة هي الافتراضي المُسلَّم.
  • SYS_ADMIN يبلغ مجموعه 97، لكن 96 فقط مُسمّاة هنا — انظر ملاحظة الاكتمال أعلاه. لا تعامل الصفوف المُسمّاة كأنها الكتالوج بأكمله (1 رمز SYS_ADMIN-only يبقى غير مُعدَّد).

حالة البناء

Available — مخطط RBAC، وبذرة الأدوار التسعة، وكتالوج الصلاحيات الـ 97 كلها تُسلَّم وتُنفَّذ في وقت التشغيل (الورقة 01 §build-status). المصفوفة استخراج حيّ من الجداول المزروعة (Sprint/RBAC_RolePermission_Extract.md، 2026-06-10).

ذات صلة