الفصل الثلاثي للأدوار
ينفّذ Doggy نموذج أمان الفصل الثلاثي للأدوار المتوافق مع معايير التصنيف والحماية الأمنية الصينية، مع التحكم في الصلاحيات عبر ThreeOfficersVoter.
نظرة عامة
يفصل الفصل الثلاثي للأدوار صلاحيات إدارة النظام إلى ثلاثة أدوار مستقلة، مع فحوصات صلاحيات دقيقة عبر App\Security\Voter\ThreeOfficersVoter:
| الدور | نطاق الصلاحيات |
|---|---|
ROLE_SYS_ADMIN | تكوين النظام، إدارة المستخدمين |
ROLE_SEC_ADMIN | تكوين سياسات الأمان |
ROLE_AUDITOR | عرض سجلات التدقيق |
الأدوار الثلاثة مستقلة ومتشابكة في الرقابة، ولا يمكن لأي دور منفرد التحكم الكامل في النظام.
تعريف صلاحيات Voter
php
// src/Security/Voter/ThreeOfficersVoter.php
class ThreeOfficersVoter extends Voter
{
public const SYSTEM_CONFIG = 'SYSTEM_CONFIG'; // 系统管理员
public const USER_MANAGE = 'USER_MANAGE'; // 安全保密员
public const AUDIT_VIEW = 'AUDIT_VIEW'; // 安全审计员
public const BUSINESS_DATA = 'BUSINESS_DATA'; // 普通用户访问业务数据
}مسؤوليات الأدوار
مدير النظام (ROLE_SYS_ADMIN)
- إدارة حسابات المستخدمين
- صيانة تكوين النظام (صلاحية
SYSTEM_CONFIG) - إدارة نشر التطبيق
- لا يمكنه الاطلاع على سجلات التدقيق
- لا يمكنه تعديل سياسات الأمان
مسؤول الأمان والسرية (ROLE_SEC_ADMIN)
- تكوين سياسات كلمات المرور
- إدارة سياسات الصلاحيات (صلاحية
USER_MANAGE) - معالجة الأحداث الأمنية
- لا يمكنه إدارة حسابات المستخدمين
- لا يمكنه الاطلاع على سجلات التدقيق
مدقق الأمان (ROLE_AUDITOR)
- الاطلاع على جميع سجلات العمليات (صلاحية
AUDIT_VIEW) - توليد تقارير التدقيق
- اكتشاف السلوكيات الشاذة
- لا يمكنه تعديل أي تكوين من تكوينات النظام
- لا يمكنه إدارة المستخدمين
التهيئة
يتم تهيئة حسابات المسؤولين الثلاثة عبر أمر InitOfficersCommand:
bash
php bin/console app:init-officersبعد التهيئة يتم إنشاء ثلاثة حسابات افتراضية.
الحسابات الافتراضية
| الدور | اسم المستخدم | كلمة المرور الأولية |
|---|---|---|
| مدير النظام | admin | admin123 |
| مسؤول الأمان والسرية | security | security123 |
| مدقق الأمان | auditor | auditor123 |
⚠️ يجب تغيير جميع كلمات المرور الافتراضية في بيئة الإنتاج.
الوصول إلى بيانات الأعمال
يمكن للمستخدمين المصادق عليهم العاديين (ROLE_USER) الوصول إلى بيانات الأعمال بشكل طبيعي عبر صلاحية BUSINESS_DATA، دون القدرة على تنفيذ العمليات الإدارية.