Inventaire Infrastructure ProbatioVault
Document de preuve - INV-02, INV-05, INV-IAM-10
Derniere mise a jour: 2025-01
1. Auto-hebergement
1.1 Hebergeur
| Attribut | Valeur |
| Fournisseur | OVHcloud |
| Type | VPS (Virtual Private Server) |
| Localisation | Gravelines, France (GRA) |
| Juridiction | Droit francais / RGPD |
1.2 Serveurs par environnement
| Environnement | Hostname | IP Publique | Usage |
| DEV | probatiovault-dev | 51.68.126.160 | Developpement et tests |
| STAGING | probatiovault-staging | (a provisionner) | Pre-production |
| PROD | probatiovault-prod | (a provisionner) | Production |
1.3 Preuve d'auto-hebergement
- Controle total : ProbatioVault detient les acces root sur tous les serveurs
- Pas de SaaS tiers : Aucun service d'identite externe (Auth0, Okta, etc.)
- Infrastructure as Code : Toute la configuration est dans le depot
probatiovault-infra - Deploiement automatise : Ansible gere l'ensemble du provisionnement
2. Composants IdP
2.1 Keycloak
| Attribut | Valeur |
| Version | 26.x (derniere LTS) |
| Mode | Standalone |
| Port HTTP | 8088 (interne uniquement) |
| Port HTTPS | 443 (via Nginx reverse proxy) |
| Base de donnees | PostgreSQL locale |
2.2 URLs par environnement
| Environnement | URL IdP | Realm |
| DEV | https://id.dev.probatiovault.com | pv-dev |
| STAGING | https://id.staging.probatiovault.com | pv-staging |
| PROD | https://id.probatiovault.com | pv-prod |
3. Secrets ABSENTS de l'IdP
Conformement a INV-05 et INV-IAM-10, l'IdP Keycloak ne contient AUCUN :
| Type de secret | Present dans IdP | Localisation reelle |
| Cles de chiffrement applicatives | NON | AWS CloudHSM |
| Master keys ProbatioVault | NON | AWS CloudHSM |
| Secrets de dechiffrement documents | NON | AWS CloudHSM |
| Tokens applicatifs longue duree | NON | N/A |
| Cles privees utilisateurs | NON | Cote client uniquement |
3.1 Secrets autorises dans l'IdP
Seuls les secrets strictement necessaires au fonctionnement de l'IdP sont presents :
- Mot de passe admin Keycloak (dans HashiCorp Vault)
- Cle de signature JWT (generee par Keycloak, rotation automatique)
- Credentials PostgreSQL pour la base Keycloak
- Secrets clients OAuth2 (pour l'authentification des services)
4. Isolation des environnements
| Environnement | Serveur | Base de donnees | Realm | Issuer |
| DEV | probatiovault-dev | keycloak_dev | pv-dev | https://id.dev.probatiovault.com |
| STAGING | probatiovault-staging | keycloak_staging | pv-staging | https://id.staging.probatiovault.com |
| PROD | probatiovault-prod | keycloak_prod | pv-prod | https://id.probatiovault.com |
Garantie : Aucun token emis dans un environnement n'est accepte dans un autre (INV-IAM-08).
5. Gestion des secrets
| Secret | Stockage | Acces |
| Admin Keycloak | HashiCorp Vault | Role Ansible uniquement |
| DB passwords | HashiCorp Vault | Role Ansible uniquement |
| Client secrets | HashiCorp Vault | Services autorises |
| Cles SSH | GitLab CI/CD | Pipeline uniquement |
- Logs Keycloak :
/var/log/keycloak/events.log - Retention : 30 jours minimum (INV-IAM-09)
- Format : JSON structure
- Contenu : Aucun secret, token ou cle en clair
Voir operational-responsibility.md
8. Historique des modifications
| Date | Auteur | Modification |
| 2025-01 | Equipe Infra | Creation initiale |