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

Eviter que le chat botté ne vole vos secrets

Eviter que le chat botté ne vole vos secrets

Au travers du compte pour enfant, je revisite le chat botté.

Tentons de protéger nos secrets de ce vil chat botté qui souhaite s'introduire dans notre cours kubernetes avec flatterie, tromperie et cadeaux.

Nous allons partir ensemble dans les méandres du gitops avec Argocd et de l'utilisation de vault pour sécuriser vos secrets avec Vault en mode gitops. Cela sans compromettre vos cicd, votre argocd et votre cluster Kubernetes.

Plan:
- Introduction au gitops
- Intégrations vault (CSI, agent,...) et Kubernetes

Avatar for Jérôme Masson

Jérôme Masson

September 16, 2024
Tweet

More Decks by Jérôme Masson

Other Decks in Technology

Transcript

  1. — Sommaire Mon GitOps 01 Éviter que le chat botté

    ne vole vos secrets 00 02 Il était une fois… 03 ArgoCD & Vault 04 La morale
  2. — Raison d’être et valeurs 01 Réussir aux côtés de

    nos clients la dimension technologique de leur transformation et les rendre autonomes : ➔ Effectuer les bons choix technologiques. ➔ Adapter l’organisation du delivery. ➔ Guider, co-réaliser et former les équipes en place. Nos valeurs ➔ Expertise ➔ Passion ➔ Transparence À propos de WeScale ➔ Amélioration continue ➔ Partage
  3. Storyteller Phippy & friends (CNCF) Captain Kube Goldie Main Characters:

    Jeune Maître & Chat botté Phippy & friends (CNCF)
  4. — GitOps vs GitOps Éviter que le chat botté ne

    vole vos secrets 01 GitOps - Beaucoup de définitions plus ou moins proches Quelques consensus - 1 source de vérité avec Git - 1 outil applique la source de vérité - Objectifs: livrer plus rapidement en réduisant les goulots d’étranglement
  5. — Infrastructure & Environnement Éviter que le chat botté ne

    vole vos secrets 01 Infrastructure - Un / plusieurs cluster Kubernetes Apps - Installation avec Helm - Configuration & mise en place des tests - App Go - basée sur podtato-head : - manifest.yaml / server.go
  6. — Il était une fois 01 dans un pays lointain…

    Vit le dernier fils d’un dev spécialisé dans les systèmes UNIX. Il avait un chat pour seul compagnon, il voulait se déployer dans le cluster du King K8S mais ne savait pas par où démarrer, Le chat lui dit alors, “donne moi des bottes et un chapeau et je t’amènerais à ton cluster Kubernetes”
  7. — Il était une fois 01 dans un pays lointain…

    Le King K8S ouvrit ses portes !!! Le chat botté s’en alla quérir une “Application” si le King K8S voulait bien la déployer ? Tenez voici mon YAML de mon maître le spécialiste le marquis de YAMLs, cela vous intéresse-t-il ?
  8. — Il était une fois 01 dans un pays lointain…

    Un peu plus tard, dans ses débuts sur le cluster, le chat botté vit une intégration vault du King K8S, il dit alors à son maître: “Aller sur le git et mettez à jour votre configuration et vos secrets …” Le King K8S, qui passait par là, vit la configuration du jeune maître et tenta de la déployer…
  9. — Il était une fois 01 la rencontre… Le chat

    se mit en route vers un expert du royaume. Il paraît que vous pouvez aborder n’importe quel bug de déploiement. Il lui demande alors: Je ne comprends pas pourquoi mon Application ne trouve pas le chemin de l’intégration Vault ? L’expert lui répondit, il te manque une annotation dans ta définition !
  10. — Il était une fois 01 la rencontre… Maintenant qu’il

    avait - l’accès au cluster, - son dépôt git - et ses paramètres pour accéder aux secrets, Le chat modifie l’Application permettant à son jeune maître de se déployer dans le cluster du King K8S mais aussi de voler les secrets.
  11. — Il était une fois 01 la rencontre… Le King

    CFP lui répondu rapidement : “Via dans mon cluster, je vais te donner les accès à mon plugin Vault” Kubernetes
  12. — GitOps vs GitOps Éviter que le chat botté ne

    vole vos secrets 03 GitOps - Beaucoup de définitions plus ou moins proches Quelques consensus - 1 source de vérité avec Git - 1 outil applique la source de vérité - Objectifs: livrer plus rapidement en réduisant les goulots d’étranglement
  13. — ArgoCD Éviter que le chat botté ne vole vos

    secrets 03 GitOps - Simplification de l’adoption du GitOps - Une IHM - Gestion des droits fin - Compatible HELM, RAW Yamls, kustomize, … Fonctionnalités avancées - Extensible via plugin - Installation dans un namespace pour limitation
  14. — 03 Intégration ArgoCd & Vault Éviter que le chat

    botté ne vole vos secrets ArgoCD Vault plugin - intégration dans ArgoCD via un container de plugin - configuration limitée pour les applications via secret natif kubernetes - informations limitées dans git Vault CSI driver - configuration limitée pour les applications - informations limitées dans git / pas de dépendances à ArgoCD - connexion native kube & vault - droit / serviceaccount Vault Agent - Même fonctionnalité que le CSI - Simplification de la rotation des secrets
  15. — La morale Il a le “bOn dEvOpS” et il

    y a le “bon DevOps” 04 adopter une approche least privilèges être le plus proche des standards Kubernetes vs custom GitOps vs Architecture Network Security / Access / Encryption Cloud Auth / Standard / Network policies Cluster Scan / Least Privileges / Signing / Runtime Container Scan / Full TLS / Least Privilege Code