امنیت
این بخش فقط لیست فایل نیست؛ کنترلهای امنیتی قابل مشاهده از روی dependencyها، routeها و فایلهای auth/permission/guard/secret تحلیل شدهاند. هرجا شواهد کافی نبوده، وضعیت نیازمند بررسی انسانی باقی مانده است.
کنترلهای امنیتی شناساییشده
| کنترل | وضعیت | توضیح | شاهد |
|---|---|---|---|
| Authorization / RBAC | شاهد مستقیم پیدا شد | فایلهای permission، role یا guard نشان میدهند که دسترسی فقط بر اساس login نیست و سطح مجوز هم بررسی میشود. | permission/role/guard files |
| Audit Logging | شاهد مستقیم پیدا شد | رخدادهای امنیتی یا عملیاتی قابل ثبت و بازبینی هستند. | audit files/endpoints |
جریان امنیتی درخواست
Mermaid sequence diagram - auth/authorization flow
sequenceDiagram autonumber participant U as کاربر participant UI as Next.js UI participant API as FastAPI participant Dep as Auth Dependency participant Store as Data Store U->>UI: ورود یا درخواست قابلیت UI->>API: ارسال token/request API->>Dep: بررسی user، tenant، license و permission Dep-->>API: مجوز یا خطای دسترسی API->>Store: اجرای عملیات مجاز Store-->>UI: پاسخ با داده مجاز
تحلیل ریسک و توصیهها
ریسکهای زیر از نوع قابلیتها و فایلهای امنیتی استخراج شدهاند و برای production باید با تست و تنظیمات runtime کامل شوند.
- برای هر endpoint حساس، policy دسترسی و تست 401/403 جداگانه ثبت شود.
- مقادیر env، token، password و connection string فقط با نام متغیر مستند شوند و مقدار واقعی نمایش داده نشود.
- رخدادهای login، تغییر permission، تغییر تنظیمات و عملیات destructive در audit log قابل ردیابی باشند.
- برای upload فایل، محدودیت نوع/حجم، مسیر ذخیرهسازی، مالکیت فایل و scan امنیتی بررسی شود.
- تنظیمات CORS، CSRF/session یا bearer token در محیط production جدا از تنظیمات local بازبینی شود.
منابع کد امنیتی
apps/web-frontend/app/me/permissions/page.tsxapps/web-frontend/components/auth/AuthGate.tsxapps/web-frontend/components/auth/FeatureGate.tsxapps/web-frontend/components/auth/LoginForm.tsxapps/web-frontend/components/auth/PermissionGuard.tsxapps/web-frontend/lib/auth.tsdocs/auth-licensing-tenancy-fa.mdsrc/elevator_bible/auth/__init__.pysrc/elevator_bible/auth/dependencies.pysrc/elevator_bible/auth/models.pysrc/elevator_bible/auth/passwords.pysrc/elevator_bible/auth/permissions.pysrc/elevator_bible/auth/service.pytests/auth_test_utils.pytests/test_auth_licensing_tenancy.py