Logs et audit sécurité
Les opérations sensibles doivent être loggées avec un contexte sanitisé.
Événements d'audit obligatoires
- Échecs de login et accès suspects
- Changements de rôle et permission
- Activation/désactivation d'utilisateur
- Changements de paramètres
- Exécution d'imports/exports
- Échecs d'autorisation API sur les ressources critiques
À faire / À ne pas faire
À faire :
- Logger les IDs stables
- Logger les noms de module et d'action
- Logger la classe et le message sûr de l'exception
À ne pas faire :
- Logger les mots de passe, tokens, cookies, secrets ou données personnelles brutes
- Avaler les exceptions en silence
- Utiliser les logs comme seule source d'état métier
Pattern
// Succès sensible
Log::info('Permission assigned', [
'actor_id' => auth()->id(),
'id_user' => $user->id_user,
'id_permission' => $permission->id_permission,
'module' => 'admin',
'action' => 'permission.assigned',
]);
// Échec
Log::error('Import failed', [
'module' => 'analyses',
'action' => 'import.run',
'error' => $e->getMessage(),
]);