Bonjour, j’ai commencé un stage il y a environ un mois. Après quelques semaines une question m’est venu à l’esprit lorsqu’une API m’a donné un acces token pour accéder à la météo.
Je me suis demandé comment stocker mes secrets ?
Par secret j’entends les acces tokens, les mots de passe aux bdd, …
À l’école pendant nos phases de projets nous avions un fichier que nous appelions appsettings.json
.
Ce fichier n’était pas versionné (nous utilisions git). Il n’était pas versioné car nous utilisions un repos distant public sur GitHub. Il ne serait pas commode de partager au monde le mot se passe de notre bdd.
Le fait de ne pas versionner le fichier appsettings.json
posait problème. Nous devions donc nous envoyer le contenu de ce fichier pour avoir accès à la bdd. Et si un camarade ajoutait une api avec une clé dans ce fichier, les autres étudiants ne récupéraient pas automatiquement l’acces token et il fallais renvoyer le fichier à tous les membres de l’équipe. Ceci était problématique.
Récemment j’ai eu une conversation à ce sujet. On m’a conseillé de chiffrer le fichier à l’aide de GPG avec les clés publiques des personnes pouvant travailler sur le projet et de versionner ce fichier chiffré. Voilà mon souci résolu !
Enfin presque…
Je voulais faire tourner mon application dans un container docker. Pour ce faire j’ai créé une image docker. Cependant le programme dans l’image docker a besoin du fichier contenant les secrets non chiffrés. Un nouveau problème arriva. Si j’envoie mon image dans la registry Docker il y aura mes secrets en clair aux yeux de tous.
De ce fait, comment faire pour bien gérer ses secrets et qu’ils restent secrets ?