Stockage S3
GovernIA utilise un stockage objet compatible S3 pour stocker les fichiers de preuves soumis lors des audits.
Par défaut, la plateforme utilise OVH Object Storage. Vous pouvez le remplacer par n'importe quel provider S3-compatible — AWS S3, Cloudflare R2, Scaleway, Backblaze B2, MinIO self-hosted, ou tout autre service implémentant l'API S3.
Pour connecter votre propre bucket S3 par tenant (marque blanche / souveraineté des données), voir Infrastructure personnalisée.
Ce que fait le stockage
| Fonctionnalité | Description |
|---|---|
| Upload de preuves | Stockage des fichiers déposés par les auditeurs et audités |
| Téléchargement | Récupération des fichiers pour consultation ou export |
| Suppression | Suppression des fichiers lors de la clôture ou réinitialisation |
Les fichiers sont organisés par chemin hiérarchique :
evidences/{env}/{tenantId}/{auditId}/{assignmentId}/{questionId}/{uuid}-{nomfichier}Prérequis
Un bucket S3-compatible avec :
- Un bucket créé dans la région souhaitée
- Un utilisateur S3 avec les droits
GetObject,PutObject,DeleteObjectsur ce bucket - Les clés d'accès générées (Access Key + Secret Key)
Configuration
Depuis Backoffice → Paramètres → Stockage S3, renseignez l'endpoint, le bucket et les credentials. Le stockage reste désactivé tant que les champs obligatoires ne sont pas configurés.
La configuration tenant (marque blanche) prend le dessus sur la configuration plateforme. Voir Infrastructure personnalisée.
Champs disponibles
| Champ | Description |
|---|---|
| Endpoint | URL du service S3 (voir tableau des providers ci-dessous) |
| Bucket | Nom du bucket |
| Access Key | Identifiant d'accès S3 |
| Secret Key | Clé secrète S3 |
| Région | Région du bucket (ex : gra, us-east-1, auto) |
| Force path style | À activer pour MinIO et les providers qui n'utilisent pas les sous-domaines virtuels |
Providers compatibles
| Provider | Endpoint | Région exemple | Force path style |
|---|---|---|---|
| OVH Object Storage (GRA) | s3.gra.perf.cloud.ovh.net | gra | Non |
| OVH Object Storage (RBX) | s3.rbx.perf.cloud.ovh.net | rbx | Non |
| OVH Object Storage (SBG) | s3.sbg.perf.cloud.ovh.net | sbg | Non |
| AWS S3 | s3.amazonaws.com | us-east-1 | Non |
| Cloudflare R2 | <account-id>.r2.cloudflarestorage.com | auto | Non |
| Scaleway | s3.nl-ams.scw.cloud | nl-ams | Non |
| Backblaze B2 | s3.us-west-004.backblazeb2.com | us-west-004 | Non |
| MinIO (self-hosted) | http://minio:9000 (ou IP/domaine) | us-east-1 | Oui |
Séparation dev / prod
Le chemin de stockage inclut automatiquement l'environnement (dev ou prod) selon NODE_ENV. Vous pouvez utiliser un seul bucket avec des préfixes distincts ou deux buckets séparés (recommandé en production).
Dépannage
| Problème | Cause probable | Solution |
|---|---|---|
Erreur NoSuchBucket | Nom de bucket incorrect | Vérifier le champ Bucket dans Paramètres → Stockage S3 |
Erreur InvalidAccessKeyId | Access Key incorrecte | Vérifier le champ Access Key |
Erreur SignatureDoesNotMatch | Secret Key incorrecte | Vérifier le champ Secret Key |
Erreur RequestTimeout ou connexion refusée | Endpoint incorrect | Vérifier le champ Endpoint et la région |
| Upload réussi mais fichier inaccessible | Path style mal configuré | Activer Force path style |