Infrastructure – Actualités

Déployer des clés publiques dans un container Docker

22 mars 2016

Un des problèmes complexes à résoudre lorsqu’on utilise Docker en production est le déploiement des secrets. En particulier, les clés publiques sont difficiles à déployer car elles sont multilignes et il y a généralement une clé par utilisateur autorisé.

Tous nos utilisateurs ont des comptes sur GitHub avec leur clé SSH, et cela faisait donc sens pour nous d’utiliser GitHub comme un PKI centralisé pour nos clés SSH. Parti au départ d’un script Ruby connecté à l’API de GitHub, nous avons rapidement pris conscience que nous avions besoin d’une manière générique de déployer des clés publiques à partir de GitHub si nous persistions dans cette approche.

Cela a donné naissance à github_pki, un outil en ligne de commande générique utilisant l’API de GitHub pour déployer des clés SSH et X509 depuis les organisations, les équipes et les utilisateurs individuels de GitHub.

L’installation peut être effectuée depuis la source :

Ou en héritant d’une des images officielles Docker.

La commande github_pki peut ensuite être simplement appelée depuis un script d’entrypoint pour déployer les clés :

Plusieurs variables d’environnement peuvent être utilisées pour configurer les clés à déployer :