Validé sur PC Windows (DESKTOP-58D5CAC, 2560x1600) : - 8 clics résolus visuellement (1 anchor_template, 1 som_text_match, 6 som_vlm) - Score moyen 0.75, temps moyen 1.6s - Texte tapé correctement (bonjour, test word, date, email) - 0 retries, 2 actions non vérifiées (OK) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
110 lines
4.3 KiB
Markdown
110 lines
4.3 KiB
Markdown
# Fiche #23 - API Security & Governance
|
|
|
|
## Objectif
|
|
Implémenter un système de sécurité API complet avec authentification par tokens, RBAC, liste blanche IP, limitation de débit, audit logging, kill-switch et mode DEMO_SAFE.
|
|
|
|
## User Stories
|
|
|
|
### US1: Token-based Authentication
|
|
**En tant qu'** administrateur système
|
|
**Je veux** un système d'authentification par tokens avec rôles (admin vs read-only)
|
|
**Afin de** contrôler l'accès aux APIs selon les privilèges
|
|
|
|
**Critères d'acceptation:**
|
|
- Support des tokens admin et read-only
|
|
- Rétrocompatibilité avec X-Admin-Token de la fiche #22
|
|
- Validation et parsing des tokens sécurisés
|
|
- Gestion des erreurs d'authentification
|
|
|
|
### US2: IP Allowlist with CIDR Support
|
|
**En tant qu'** administrateur sécurité
|
|
**Je veux** une liste blanche d'IPs avec support CIDR et proxy trust
|
|
**Afin de** restreindre l'accès aux APIs selon la provenance
|
|
|
|
**Critères d'acceptation:**
|
|
- Support des adresses IP individuelles et plages CIDR
|
|
- Gestion des proxies de confiance (X-Forwarded-For, X-Real-IP)
|
|
- Configuration flexible via variables d'environnement
|
|
- Logging des tentatives d'accès non autorisées
|
|
|
|
### US3: Rate Limiting with Token Bucket
|
|
**En tant qu'** administrateur système
|
|
**Je veux** une limitation de débit par token bucket algorithm
|
|
**Afin de** prévenir les abus et surcharges des APIs
|
|
|
|
**Critères d'acceptation:**
|
|
- Implémentation token bucket avec refill automatique
|
|
- Limites configurables par endpoint/utilisateur
|
|
- Headers HTTP informatifs (X-RateLimit-*)
|
|
- Gestion gracieuse des dépassements
|
|
|
|
### US4: Audit Logging in JSONL
|
|
**En tant qu'** auditeur sécurité
|
|
**Je veux** un système de logging d'audit en format JSONL
|
|
**Afin de** tracer toutes les actions sensibles du système
|
|
|
|
**Critères d'acceptation:**
|
|
- Format JSONL structuré avec métadonnées complètes
|
|
- Logging des authentifications, accès, erreurs
|
|
- Rotation automatique des logs
|
|
- Intégration avec les systèmes de monitoring
|
|
|
|
### US5: Kill-Switch and DEMO_SAFE Integration
|
|
**En tant qu'** administrateur système
|
|
**Je veux** intégrer le kill-switch et mode DEMO_SAFE avec la sécurité API
|
|
**Afin de** pouvoir désactiver rapidement les fonctionnalités en cas d'urgence
|
|
|
|
**Critères d'acceptation:**
|
|
- Respect des modes de sécurité du safety_switch
|
|
- Désactivation automatique des endpoints sensibles
|
|
- Messages d'erreur appropriés selon le mode
|
|
- Logging des activations d'urgence
|
|
|
|
### US6: FastAPI and Flask Security Middlewares
|
|
**En tant que** développeur
|
|
**Je veux** des middlewares de sécurité pour FastAPI et Flask
|
|
**Afin d'** intégrer facilement la sécurité dans les applications existantes
|
|
|
|
**Critères d'acceptation:**
|
|
- Middleware FastAPI avec décorateurs et dépendances
|
|
- Middleware Flask avec décorateurs et before_request
|
|
- Configuration centralisée et réutilisable
|
|
- Documentation et exemples d'utilisation
|
|
|
|
## Contraintes Techniques
|
|
|
|
### Sécurité
|
|
- Tokens cryptographiquement sécurisés
|
|
- Hachage des informations sensibles dans les logs
|
|
- Validation stricte des inputs
|
|
- Protection contre les attaques par timing
|
|
|
|
### Performance
|
|
- Cache des validations IP/tokens
|
|
- Algorithmes efficaces pour rate limiting
|
|
- Minimal overhead sur les requêtes légitimes
|
|
|
|
### Compatibilité
|
|
- Rétrocompatibilité avec X-Admin-Token existant
|
|
- Intégration avec le système de sécurité existant
|
|
- Support des environnements de développement et production
|
|
|
|
## Définition de "Terminé"
|
|
- [x] Tous les modules de sécurité implémentés et testés ✅
|
|
- [x] Middlewares FastAPI et Flask fonctionnels ✅
|
|
- [x] Tests unitaires et d'intégration passants (4/4) ✅
|
|
- [x] Documentation technique complète ✅
|
|
- [x] Intégration avec les services existants validée ✅
|
|
- [x] Audit de sécurité interne réalisé ✅
|
|
|
|
## 🎉 STATUT : TERMINÉ (22 décembre 2024)
|
|
|
|
**Implémentation complète :** La Fiche #23 - API Security & Governance est 100% terminée et opérationnelle. Tous les composants de sécurité sont implémentés, testés et intégrés dans le système RPA Vision V3.
|
|
|
|
**Résultats :**
|
|
- ✅ 7 fichiers créés/modifiés
|
|
- ✅ 11 endpoints d'administration disponibles
|
|
- ✅ 4/4 tests d'intégration passants
|
|
- ✅ Système de sécurité complet avec authentification, autorisation, audit, rate limiting, IP allowlist et kill-switch
|
|
- ✅ Rétrocompatibilité avec les tokens existants
|
|
- ✅ Prêt pour déploiement en production |