Gérez vos secrets avec Infisical
Mise à jour :
Désormais la sécurité des données est primordiale, la gestion efficace des secrets - tels que les mots de passe, les clés API et les tokens d’accès - est devenue une nécessité absolue pour les équipes de développement. C’est là qu’Infisical entre en jeu. En tant que plateforme open source de SecretOps, Infisical offre une solution complète pour gérer de manière sécurisée les secrets et les configurations.
Infisical est une solution open source qui peut être installée dans vos infrastructures. Infisical propose en effet plusieurs options de déploiement, y compris des déploiements sur des clusters Kubernetes, ce qui renforce sa flexibilité et sa fiabilité.
À propos d’Infisical
Infisical se présente comme une plateforme end-to-end dédiée à la gestion sécurisée des secrets et des configurations. Cette plateforme est conçue pour les équipes de toutes tailles.
Le cœur de l’offre d’Infisical réside dans son tableau de bord centralisé. Grâce à cette interface, les utilisateurs peuvent gérer efficacement l’ensemble de leurs secrets - qu’il s’agisse de mots de passe, de tokens d’API ou de clés d’accès - pour différents environnements comme le développement, le staging, et la production. Cette approche centralisée simplifie la complexité habituellement associée à la gestion des secrets, rendant le processus plus transparent et facilement contrôlable pour les équipes de développement.
Fonctionnalités d’Infisical
Infisical est doté de plusieurs fonctionnalités clés qui le rendent particulièrement efficace et adapté aux besoins modernes de gestion des secrets.
Vue d’ensemble de l’environnement
Cette fonctionnalité permet aux utilisateurs de comparer et de gérer les secrets entre différents environnements. Elle est essentielle pour maintenir la cohérence et assurer que rien n’est manquant ou différent dans les environnements de développement, de staging et de production, augmentant ainsi la sécurité et la fiabilité des déploiements.
Compatibilité Universelle
Infisical est conçu pour être utilisé sur n’importe quelle plateforme et avec une grande variété de frameworks. Cette universalité facilite l’intégration d’Infisical dans des environnements de travail diversifiés, permettent ainsi aux développeurs de travailler avec les outils et les technologies qu’elles préfèrent.
Intégration avec l’Infrastructure
Infisical se distingue par sa capacité à s’intégrer de manière native avec l’infrastructure existante. Avec plus de 50 intégrations disponibles, la plateforme peut synchroniser les secrets avec des services de CI/CD et des services tiers, garantissant ainsi une gestion des secrets cohérente et sécurisée à travers toute l’infrastructure. Infisical propose des intégrations aux principaux outils DevOps dont : Docker, Kubernetes, Terraform, Ansible, AWS, Digital Ocean, GitHub Actions, GitLab CI/CD, CircleCI, React… Le reste de la liste est disponible sur le site d’infisical ↗.
Test d’Infisical avec Docker
Pour tester localement infisical, je fais le choix de la simplicité avec Docker-Compose, mais rassurez-vous la documentation ↗ du produit explique comment l’installer via Docker-Compose, Kubernetes ou sur des instances AWS EC2 ou Digital Ocean.
Il faut dans un premier temps créer un répertoire qui va recevoir les fichiers nécessaires à son paramétrage :
Vous pouvez ensuite éditer le fichier d’environnement pour ajouter les informations d’intégration avec Gitlab par exemple ↗ par exemple.
Une fois ces paramètres remplis, on peut lancer la stack Infisical :
Après le lancement, vérifiez l’installation en accédant à http://localhost
depuis votre navigateur. Créez ensuite votre premier compte utilisateur.
Avec ces étapes, vous pouvez facilement déployer Infisical en local, profitant d’une solution pour tester ce gestionnaire de secrets depuis votre infrastructure. Par la suite, vous pourrez passer à un autre type d’hébergement comme sur un cluster kubernetes par exemple.
La CLI Infisical
L’utilisation de la CLI d’Infisical permet de gérer efficacement les secrets dans divers environnements, allant du développement local aux scénarios de CI/CD et de production. Voici un aperçu des principales fonctionnalités et de l’utilisation de la CLI Infisical :
Installation de la CLI Infisical
La CLI d’infisical peut être installé sur la plupart des distributions Linux, MacOS et Windows
Installation sur Linux
Je vais détailler l’installation sur une machine tournant sur Ubuntu, mais pour les autres plateformes tout est très bien expliqué dans la documentation ↗.
Voilà tout est prêt pour se connecter à notre installation locale. Mais avant jetons un coup d’oeil à la documentation de la CLI.
C’est déjà un excellent signe de la qualité du produit.
Connexion à notre installation locale d’Infisical
On tente la connexion :
Lors de la première invocation la CLI demande à quel type d’instance doit-il se
connecter. J’ai donc répondu self-hosted
. Une fenêtre s’est ouverte dans mon
navigateur, la CLI a récupéré les infos de connexion. Ces informations sont
enregistrées localement dans un fichier ~/.infisical/infisical-config.json
dont voici le contenu :
Aucune information compromettante !
Une autre méthode de connexion plus directe consiste à créer une variable
d’environnement dans votre fichier de shell. Par exemple dans mon fichier
.zshrc
j’ai ajouté ceci :
Enregistrement de secrets dans un projet
Pour ajouter des secrets à un projet infisical, il faut initialiser le dossier du projet.
Il récupère les projets existants dans l’instance. Cela crée un fichier
.infisical.json
contenant les paramètres locaux du projet, sans données
sensibles.
Pour enregistrer des secrets, on utilise la commande secrets
, qui permet les
opérations CRUD habituelles : create, read, update et delete.
Un petit tour dans l’aide :
On tente la création de plusieurs secrets
On tente la récupération :
On tente la création de la clé d’API dans l’environnement staging
Petit tour dans l’interface :
On voit bien que la variable a été défini pour l’environnement staging.
Scan d’un dossier de projet
Infisical possède une commande pour scanner la présence de secrets dans un projet Git.
Je l’ai lancé sur mon projet qui héberge cette documentation. À lancer dans vos projets avant de commiter et à ajouter dans vos pipelines CI/CD.
Conclusion
Cette exploration, certes incomplète d’Infisical met en lumière une plateforme de gestion des secrets innovante et robuste, parfaitement adaptée aux exigences de sécurité des environnements de développement modernes. Que ce soit pour une utilisation on-premise ou dans le cloud, Infisical se distingue par sa facilité d’intégration dans divers environnements et avec de multiples technologies.
L’approche open source d’Infisical et son engagement envers la communauté de développeurs en font non seulement un outil fiable, mais aussi un produit en constante évolution, s’adaptant aux défis changeants de la cybersécurité.
En somme, Infisical se présente comme une belle alternative à HashiCorp Vault pour les développeurs à la recherche d’une gestion sécurisée, efficace et souple de leurs secrets.