feat: Audit trail pour actions sensibles
Story 1.7 - Implémente un système complet d'audit trail pour tracer toutes les actions sensibles (authentification, modifications de données, exports) avec immuabilité garantie par PostgreSQL. Fonctionnalités principales: - Table audit_log append-only avec contraintes PostgreSQL (RULE) - AuditLogger centralisé avec injection automatique du contexte - Correlation ID pour traçabilité distribuée (HTTP + async) - Handlers pour événements d'authentification - Commande d'archivage des logs anciens - Pas de PII dans les logs (emails/IPs hashés) Infrastructure: - Middlewares Messenger pour propagation du Correlation ID - HTTP middleware pour génération/propagation du Correlation ID - Support multi-tenant avec TenantResolver
This commit is contained in:
@@ -91,10 +91,17 @@ services:
|
||||
arguments:
|
||||
$appUrl: '%app.url%'
|
||||
|
||||
# Audit log handler (uses dedicated audit channel)
|
||||
App\Administration\Infrastructure\Messaging\AuditLoginEventsHandler:
|
||||
# Audit Logger Service (writes to append-only audit_log table)
|
||||
App\Shared\Application\Port\AuditLogger:
|
||||
alias: App\Shared\Infrastructure\Audit\AuditLogger
|
||||
|
||||
App\Shared\Infrastructure\Audit\AuditLogger:
|
||||
arguments:
|
||||
$appSecret: '%env(APP_SECRET)%'
|
||||
|
||||
# Audit log handlers (use AuditLogger to write to database)
|
||||
App\Shared\Infrastructure\Audit\Handler\AuditAuthenticationHandler:
|
||||
arguments:
|
||||
$auditLogger: '@monolog.logger.audit'
|
||||
$appSecret: '%env(APP_SECRET)%'
|
||||
|
||||
# JWT Authentication
|
||||
|
||||
Reference in New Issue
Block a user