Aller au contenu

PD-8 — Acceptabilité


📚 Navigation User Story | Document | | | ---------- | -- | | 📋 [Spécification](PD-8-specification.md) | | | 🛠️ [Plan d'implémentation](PD-8-plan.md) | | | ✅ **Critères d'acceptation** | *(ce document)* | | 📝 [Retour d'expérience](PD-8-rex.md) | | [← Retour à infrastructure-souveraine](../PD-193-epic.md) · [↑ Index User Story](index.md)

Objectif

Vérifier que l’implémentation est conforme à la spécification, respecte l’ensemble des invariants ProbatioVault et ne présente aucune incohérence ou oubli critique.


Périmètre de vérification

La revue d’acceptabilité vérifie explicitement :

  • la conformité stricte à la spécification fonctionnelle
  • le respect de tous les invariants applicables
  • la couverture des scénarios de test définis
  • l’absence d’incohérences, oublis ou régressions

Écarts identifiés

Chaque écart constaté doit être documenté et classé selon sa gravité.

Classification des écarts

Niveau Définition
BLOQUANT Violation d’un invariant, faille de sécurité, non-conformité majeure à la spec
MAJEUR Fonction incomplète, comportement non conforme mais sans rupture de sécurité
MINEUR Détail, dette acceptable, amélioration non critique

Détail des écarts

ID Description Référence Gravité
E-01 La policy worker autorise la lecture du RoleID et la génération de SecretIDs pour api-backend (pattern de bootstrap Prefect pour SecretIDs éphémères). Écart au principe de cloisonnement explicite de la spec ; acceptable si documenté et restreint aux environnements concernés. Spec §7.5 / §6 ; ansible/roles/vault/templates/policy-worker.hcl.j2 MINEUR
E-02 L’audit syslog demandé n’est pas configuré : vault_audit_syslog_enabled est positionné à false dans le playbook de configuration et l’activation syslog est conditionnelle. Spec §7.7 ; ansible/setup_vault_configure.yml, ansible/roles/vault/tasks/audit.yml MAJEUR
E-03 Le listener Vault repose sur un certificat autosigné et Nginx désactive la vérification TLS vers Vault (proxy_ssl_verify off), ce qui ne garantit pas le « certificat valide » requis pour l’exposition HTTPS. Spec §7.1 / §6 ; ansible/roles/vault/tasks/tls.yml, ansible/roles/vault/templates/nginx-vault-ssl.conf.j2 MAJEUR
E-04 Le secrets engine PostgreSQL est monté sur database/ (pv-postgres en configuration) alors que la spec attend db/pv-postgres, créant un écart de contrat d’API pour les consommateurs. Spec §7.4 ; ansible/roles/vault/tasks/secrets-engines.yml MINEUR
E-05 Le plan prévoit des snapshots S3 chiffrés et des tests de restauration (Phase 7), l’implémentation actuelle se limite à un pg_dump local sans upload ni test automatisé. Plan Phase 7 ; ansible/roles/vault/templates/vault-backup.sh.j2 MINEUR

Conclusion d’acceptabilité

⚠️ ACCEPTÉ AVEC RÉSERVES — écarts MAJEURS/MINEURS documentés (TLS cert valide, audit syslog, alignement chemins/backup, doc bootstrap AppRole).