Gérer les secrets et les clés
Où les stocker
Dans un magasin de secrets géré qui injecte des valeurs à l'exécution, avec des permissions par service et par environnement, et avec une journalisation des accès. Les variables d'environnement sont un mécanisme de transport, pas un lieu de stockage.
Rotation périodique
Chaque secret a besoin d'un processus de rotation qu'on peut exécuter en minutes. Cela est nécessaire quand quelqu'un part, lors d'une fuite suspectée, et de façon routinière. Si la rotation exige un temps d'arrêt, elle ne sera pas faite quand il le faudra.
Prenez en charge deux clés actives en parallèle pendant un moment bref, pour que la rotation soit fluide.
Prévenir une fuite à l'avance
Un scanner de secrets dans le processus de build et un hook avant de sauvegarder un changement, pour qu'un secret soit bloqué avant d'entrer dans l'historique. S'il est déjà entré — supposez qu'il a fuité, changez immédiatement, et seulement ensuite nettoyez l'historique.
Pour aller plus loin
Séparez absolument les secrets par environnement. Une clé de production accessible depuis un environnement de développement annule le sens de la séparation, et c'est ainsi que se produisent la plupart des fuites internes — pas malicieusement, mais via un script accidentellement pointé vers la mauvaise adresse.