[Coffre Secrets] Phase 2 — Migration api_keys.json, sauvegarde et restauration KEK #20

Open
opened 2026-10-27 21:36:30 -04:00 by bruno · 0 comments
Owner

Contexte : spec « Coffre de secrets ObsiGate » §13, §14. Dépend de la Phase 1.

Périmètre :

  • Migration ObsiGate interne : clés IA et clés d'outils aujourd'hui en clair dans data/api_keys.json vers un coffre d'instance « ObsiGate interne ». Bouton « Importer l'existant » dans la vue Secrets, vérification has_value de chaque entrée, puis suppression du clair APRÈS confirmation explicite — jamais automatique.
  • Aucune migration ne copie une valeur dans un journal, un rapport ou un fichier de suivi.
  • Sauvegarde : data/coffres.json + data/coffres_valeurs.json = sauvegarde ordinaire chiffrée (seuls, ils ne donnent aucune valeur sans la KEK) ; KEK = copie externe au serveur (gestionnaire de mots de passe ou support hors ligne, décidée par Bruno), jamais dans le même dossier, jamais dans le dépôt, jamais dans une note ObsiGate.
  • Restauration : restaurer les deux fichiers + re-présenter la même KEK. Test de restauration obligatoire sur une instance vierge avant la mise en service réelle, avec distributions fonctionnelles après restauration.
  • Documentation : procédure de sauvegarde/restauration et procédure en cas de perte de KEK (perte d'accès assumée, par construction).
  • Activation : OBSIGATE_SECRETS_ENABLED (défaut : désactivé), OBSIGATE_KEK / OBSIGATE_KEK_FILE documentés ; aucune autre variable ne doit contenir une valeur de secret du coffre.

Critères d'acceptation :

  • Après migration confirmée, plus aucune valeur en clair dans api_keys.json pour les entrées migrées.
  • Restauration sur instance vierge vérifiée de bout en bout.
Contexte : spec « Coffre de secrets ObsiGate » §13, §14. Dépend de la Phase 1. Périmètre : - Migration ObsiGate interne : clés IA et clés d'outils aujourd'hui en clair dans data/api_keys.json vers un coffre d'instance « ObsiGate interne ». Bouton « Importer l'existant » dans la vue Secrets, vérification has_value de chaque entrée, puis suppression du clair APRÈS confirmation explicite — jamais automatique. - Aucune migration ne copie une valeur dans un journal, un rapport ou un fichier de suivi. - Sauvegarde : data/coffres.json + data/coffres_valeurs.json = sauvegarde ordinaire chiffrée (seuls, ils ne donnent aucune valeur sans la KEK) ; KEK = copie externe au serveur (gestionnaire de mots de passe ou support hors ligne, décidée par Bruno), jamais dans le même dossier, jamais dans le dépôt, jamais dans une note ObsiGate. - Restauration : restaurer les deux fichiers + re-présenter la même KEK. Test de restauration obligatoire sur une instance vierge avant la mise en service réelle, avec distributions fonctionnelles après restauration. - Documentation : procédure de sauvegarde/restauration et procédure en cas de perte de KEK (perte d'accès assumée, par construction). - Activation : OBSIGATE_SECRETS_ENABLED (défaut : désactivé), OBSIGATE_KEK / OBSIGATE_KEK_FILE documentés ; aucune autre variable ne doit contenir une valeur de secret du coffre. Critères d'acceptation : - Après migration confirmée, plus aucune valeur en clair dans api_keys.json pour les entrées migrées. - Restauration sur instance vierge vérifiée de bout en bout.
bruno added the kanban:todo label 2026-10-27 21:36:30 -04:00
bruno added kanban:review and removed kanban:todo labels 2026-10-28 00:17:14 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Projets/ObsiGate#20