Gestion des secrets
L’installeur génère les secrets une fois et les conserve dans un coffre chiffré, plutôt qu’en clair dans un fichier d’environnement.
Le coffre chiffré
Section intitulée « Le coffre chiffré »- Les secrets sont scellés dans
<install_dir>/secrets.enc, chiffrés en AES-256-GCM. - La clé maître vit dans
/etc/vuisio/secrets.key, volontairement en dehors du répertoire d’installation : ainsi, une sauvegarde ou un instantané de ce répertoire ne suffit pas à divulguer les secrets. - L’accès aux commandes de secrets est protégé par une phrase de passe
administrateur, stockée uniquement sous forme de condensat Argon2id dans
/etc/vuisio/secrets.meta. - Au démarrage, les secrets sont déchiffrés vers un tmpfs (
/run/vuisio/secrets) avant le lancement des services.
Consulter et faire tourner les secrets
Section intitulée « Consulter et faire tourner les secrets »vuisio secrets # affiche les secrets, masquésvuisio secrets show --reveal # affiche les valeurs en clairvuisio secrets set NOTION_TOKEN # ajoute un secret personnalisé (valeur demandée sans écho)vuisio secrets rotate REDIS_PASSWORD # régénère un secret, rescelle, redémarreSecrets personnalisés
Section intitulée « Secrets personnalisés »La commande set ajoute un secret personnalisé au coffre, puis redémarre la
pile pour le livrer. Ces secrets sont mis à disposition du client web via
process.env.<CLÉ> (par exemple un jeton pour brancher un service externe). Si
vous omettez la valeur, elle est demandée sans être affichée à l’écran.
Livraison par fichiers (secrets Docker, systemd)
Section intitulée « Livraison par fichiers (secrets Docker, systemd) »Plutôt que par variable d’environnement, un secret peut être fourni par un
fichier : pour la variable concernée, définissez <VARIABLE>_FILE avec le
chemin du fichier (la convention des secrets Docker et des tmpfs systemd). La
valeur est lue depuis le fichier, le saut de ligne final est ignoré, et un
fichier vide est traité comme absent.
Par exemple : VUISIO_REDIS_URL_FILE, VUISIO_ENCRYPTION_KEY_FILE,
VUISIO_METRICS_TOKEN_FILE.