Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Devoxx France 2025 - Infisical : Le meilleur am...

Devoxx France 2025 - Infisical : Le meilleur ami des devs pour des secrets bien gardés !

La gestion des secrets est un enjeu crucial pour la sécurité des infrastructures modernes. Si HashiCorp Vault a longtemps régné en maître, de nouvelles alternatives Open Source viennent aujourd'hui en proposant des alternatives sérieuses et fiables.

Nous vous présenterons Infisical, une solution Open Source qui mise sur la simplicité d’utilisation, l’efficacité, et une compatibilité sans faille avec vos environnements de développement préférés. Spoiler : gérer vos secrets n’a jamais été aussi simple, même avec des environnements multiples (prod/staging/dev/sandbox) – de quoi enfin donner à vos développeurs un sommeil un peu plus paisible.

Et ce n’est pas tout : depuis qu’Hashicorp (IBM) a fait un virage vers la BSL (Business Source License), certains challengers comme Infisical montrent les muscles et redoublent d'arguments pour séduire.

Enfin, pour ne pas vous laisser sur votre faim, nous conclurons avec une démonstration technique. Vous découvrirez comment intégrer Infisical dans Kubernetes (grâce au Secret Operator dédié), mais aussi avec Ansible et plusieurs langages comme Java, Python et Go. Promis, après cette conférence, les secrets n'auront plus de secret pour vous !

Julien Briault

April 17, 2025
Tweet

More Decks by Julien Briault

Other Decks in Programming

Transcript

  1. Julien Briault Uptime 26y Ingé réseau | SRE @ Auteur

    @ Linux Pratique Responsable (bénévole) @ #3615 Ma vie @ju_hnny5 @jbriault.fr
  2. @ju_hnny5 Nos besoins : - Des bénévoles (devs, infra, gestion

    de projet) - De l’hébergement en DC (sur Paris, Marseille périphérie) - Du matériel info (réseau, ordinateurs portables, serveurs, consommable, etc)
  3. @ju_hnny5 Un secret, qu’est-ce que c’est ? • Ça peut

    prendre plusieurs formes : ◦ Mot de passe (pour authentifier les utilisateurs/apps) ◦ Clés d’API (pour les services web ou APIs) ◦ Certificats et clés crypto (chiffrer/déchiffrer des données) ▪ On dit crypter chiffrer ◦ Infos de configuration sensibles (chaînes de connexion à une BDD, un paramètre de serveur) ◦ Données personnelles (numéro de sécu)
  4. @ju_hnny5 Infisical : Késako ? • Outil Open Source de

    gestion, stockage et sécurisation des secrets* d’un projet, mais pas que ! • Environ 180 contributeurs • Projet jeune (né en 2022) https://github.com/Infisical/infisical
  5. @ju_hnny5 La gestion des identités 2 types : • Les

    humains : les devs, les platforms engineers (former SRE), les admins • Les machines : dans une CI/CD (Gitlab par exemple), par des applications et bien plus !
  6. @ju_hnny5 Le KMS Le KMS est un service qui gère

    les clés de chiffrement utilisées pour sécuriser les données. Il permet de créer, stocker, gérer et détruire les clés de manière sécurisée. Par défaut les projets utilisent le KMS fournit automatiquement par Infisical.
  7. @ju_hnny5 La gestion multi-envs • Isoler pour mieux développer ◦

    Prod ◦ Staging ◦ Dev ◦ Sandbox • Fournit nativement par l’outil* • Out of box
  8. @ju_hnny5 Le versioning - Pratique en cas d’erreur - Permet

    de déboguer plus facilement - Exemple : dans le cas d’un secret qui est remplacé automatiquement.
  9. @ju_hnny5 Le Point-in-Time Recovery - Possibilité de faire : -

    des snapshots de ses secrets - des rollbacks
  10. @ju_hnny5 Importer des secrets - Plusieurs méthodes existent : -

    Via la CLI dans un projet donné - Via la WebUI
  11. @ju_hnny5 Les secrets d’un projet Un SDK pour appeler des

    secrets dans son code ◦ Ecrit en Rust ◦ Cross-language Pour le moment, pour uniquement ces langages/frameworks : https://github.com/Infisical/sdk
  12. @ju_hnny5 Kubernetes : des secrets, pas très secrets … •

    Accessibles via l’API de Kube ◦ Ça peut être pratique mais pas hyper sécurisé … • Stockage des secrets dans ETCD ◦ Facilement récupérable pour toute personne ayant accès à ETCD • Logs et dumps ◦ Peut se retrouver accidentellement dans les logs et dumps … On a vu mieux ! • Aucun chiffrement dans les repos
  13. @ju_hnny5 Kubernetes : des secrets, pas très secrets … et

    avec Infisical ? https://infisical.com/docs/integrations/platforms/kubernetes/overview • Un opérateur ◦ Une helm chart pour installer • Les CRDs (Custom Resource Definitions) ◦ InfisicalSecret ◦ InfisicalPushSecret ◦ InfisicalDynamicSecret
  14. @ju_hnny5 Et via une CSI ? https://infisical.com/docs/integrations/platforms/kubernetes-csi#kubernetes-csi • Injecter des

    secrets directement dans un Pod à travers un volume monté. • A l’inverse de l’opérateur, il permet de synchroniser les secrets dans les pods (sous la forme de fichiers) sans avoir besoin de “Secret resources”.
  15. @ju_hnny5 Cibler ses secrets avec Ansible • Possible d’utiliser Ansible

    Vault mais nécessite une clé partagée pour déchiffrer. https://infisical.com/docs/integrations/platforms/ansible#ansible
  16. @ju_hnny5 Cibler ses secrets avec Ansible • Infisical fournit une

    collection Ansible • Les commandes : # Installer la collection et les dépendances ansible-galaxy collection install infisical.vault pip install infisical-python # Lire un secret read_secret_by_name_within_scope: "{{ lookup('infisical.vault.read_secrets', universal_auth_client_id='<>', universal_auth_client_secret='<>', project_id='<>', path='/', env_slug='dev', secret_name='HOST', url='https://infisical.devoxx.jbriault.fr') }}"
  17. @ju_hnny5 Des notifications sur Être notifié en cas de :

    - Modifications - Expiration d’un secret
  18. Le cas du @ju_hnny5 Problème à l’origine : Besoin de

    renouveler le mot de passe des serveurs - Le faire régulièrement - Sans Ansible (outre déployer l’agent) - Permet de valider les contraintes appliquées aux mots de passes renouvelés