انتقل إلى المحتوى الرئيسي

التحكم في الوصول المستند إلى الدور (RBAC)

تطبق AuroraSOC نظام RBAC شامل بخمسة أدوار وما يقرب من 30 إذنًا تفصيليًا. تتحقق كل نقطة نهاية لواجهة برمجة التطبيقات وصفحة لوحة المعلومات وإجراء الوكيل من الأذونات قبل التنفيذ.

التسلسل الهرمي للأدوار

الأدوار والأذونات

مسؤل

التحكم الكامل في النظام — يدير المستخدمين والتكوين وجميع العمليات الأمنية.

إذنوصف
مجموعة أذونات المسؤول الكاملةمحددة في aurorasoc/core/auth.py (ROLE_PERMISSIONS[Role.ADMIN])

المحلل

مشغل SOC الأساسي — يتحقق من التنبيهات، ويدير الحالات، ويطلق قواعد اللعبة.

إذنوصف
alerts:readعرض التنبيهات وتفاصيل التنبيه
alerts:writeتحديث حالة التنبيه، إضافة تعليقات
alerts:investigateإطلاق تحقيق الذكاء الاصطناعي
cases:readعرض الحالات
cases:writeإنشاء وتحديث الحالات
cases:closeوضع علامة على الحالات على أنها تم حلها
agents:readعرض حالة أسطول الوكيل
agents:dispatchإرسال مهام الوكيل يدويًا
playbooks:readعرض كتب اللعب
playbooks:executeتنفيذ كتيبات اللعب
approvals:readعرض الموافقات المعلقة
approvals:decideالموافقة على الإجراءات أو رفضها
iocs:readعرض قاعدة بيانات IOC
iocs:writeإضافة/تعديل بطاقات IOC
siem:readالاستعلام عن بيانات SIEM
cps:readعرض بيانات جهاز CPS
reports:readعرض التقارير
reports:generateتوليد تقارير جديدة

المشغل

فريق العمليات - يدير البنية التحتية وأسطول الأجهزة دون سلطة التحقيق.

إذنوصف
alerts:readعرض التنبيهات (للقراءة فقط)
agents:readعرض حالة أسطول الوكيل
cps:readعرض أجهزة CPS
cps:writeتسجيل/تحديث أجهزة CPS
cps:attestتشغيل شهادة البرامج الثابتة
sites:readعرض معلومات الموقع
firmware:readعرض مخزون البرامج الثابتة
firmware:updateدفع تحديثات البرامج الثابتة

مشاهد

الوصول للقراءة فقط للمديرين التنفيذيين والمدققين وأصحاب المصلحة.

إذنوصف
alerts:readعرض التنبيهات
cases:readعرض الحالات
agents:readعرض حالة الوكيل
reports:readعرض التقارير
dashboard:readعرض إحصائيات لوحة القيادة

خدمة واجهة برمجة التطبيقات

الوصول البرمجي لعمليات التكامل وسير العمل الآلي.

إذنوصف
alerts:readتنبيهات الاستعلام عبر API
alerts:writeإنشاء/تحديث التنبيهات
cases:readحالات الاستعلام عبر API
iocs:readالاستعلام عن قاعدة بيانات IOC
iocs:writeتقديم شهادات IOC جديدة
siem:readالاستعلام عن بيانات SIEM
cps:readالاستعلام عن أجهزة CPS

إنفاذ الإذن

نقاط نهاية API

يتم فرض الأذونات باستخدام حقن تبعية FastAPI:

@app.get("/api/v1/alerts")
async def get_alerts(
user: dict = Depends(require_permission("alerts:read"))
):
"""Only accessible with alerts:read permission."""
return alerts

حراس نقطة النهاية على أساس الدور

تتطلب بعض نقاط النهاية دورًا محددًا (وليس مجرد إذن):

@app.post("/api/v1/admin/users")
async def create_user(
user: dict = Depends(require_role("admin"))
):
"""Only admin role can manage users."""
...

واجهة مستخدم لوحة القيادة

تعرض لوحة معلومات React عناصر واجهة المستخدم بشكل مشروط استنادًا إلى دور المستخدم المصادق عليه:

{user.role === 'admin' && (
<AdminPanel />
)}
{hasPermission('playbooks:execute') && (
<PlaybookExecuteButton />
)}

إذن التحقق من التدفق

إعدادات

المستخدمون الافتراضيون

يقوم AuroraSOC بإنشاء حسابات افتراضية عند التشغيل لأول مرة (قم بتغيير كلمات المرور على الفور):

اسم المستخدمدورالتهيئة
adminمسؤلتتم التهيئة عبر روتين البذور عند بدء التشغيل لأول مرة
analystالمحللتتم التهيئة عبر روتين البذور عند بدء التشغيل لأول مرة
viewerمشاهدتتم التهيئة عبر روتين البذور عند بدء التشغيل لأول مرة
operatorالمشغلتتم التهيئة عبر روتين البذور عند بدء التشغيل لأول مرة
تغيير الإعدادات الافتراضية

قم دائمًا بتغيير كلمات المرور الافتراضية قبل نشر الإنتاج. استخدم تكامل HashiCorp Vault لإدارة بيانات الاعتماد.

تعيينات الأدوار المخصصة

يتم تعيين الأدوار لكل مستخدم وتخزينها في قاعدة البيانات. يمكن للمسؤولين تعديل تعيينات الأدوار عبر واجهة برمجة التطبيقات:

# Promote user to analyst
curl -X PUT /api/v1/admin/users/user123/role \
-H "Authorization: Bearer $ADMIN_TOKEN" \
-d '{"role": "analyst"}'

مسار التدقيق

يتم تسجيل جميع عمليات التحقق من الأذونات:

  • Successful access → INFO level log
  • Denied access → WARNING level log with user, endpoint, and missing permission
  • All entries include OpenTelemetry trace context for correlation