Aller au contenu principal
Sommaire de la formation

Présentation external secret operator

coolibra132 vues

Introduction ESO

External Secrets Operator (ESO) est un contrôleur Kubernetes (operator) qui synchronise des secrets depuis des gestionnaires de secrets (ex: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, ou même Kubernetes) vers des Secret Kubernetes natifs consommables par tes applications.

  • Éviter de stocker des secrets dans Git (manifests, Helm values, etc.).
  • Centraliser la gestion des secrets dans un vault/provider dédié.
  • Automatiser la mise à jour des secrets dans Kubernetes.
  • Standardiser la manière dont les équipes consomment les secrets.
  1. Configuration d'accès à un backend via un SecretStore (scope namespace) ou ClusterSecretStore (scope cluster).
  2. Declarer un ExternalSecret qui :
    • va chercher telle clé (ou ensemble de clés) dans le provider
    • crée/maintiens un Secret Kubernetes avec ce contenu
  3. ESO exécute une boucle de réconciliation :
    • il lit le secret dans le provider
    • il crée/met à jour le Secret Kubernetes cible
    • il recommence régulièrement (selon refreshInterval) ou quand nécessaire

Résultat : les pods utilisent un Secret Kubernetes classique (env vars, volumes…), mais la source de vérité reste le provider externe.

Concepts

  • Pull vs Push
    • Pull (le plus courant) : ExternalSecret → je récupère depuis Vault et je crée un Secret K8s.
    • Push : PushSecret → je prends un Secret K8s et je l’écris dans Vault.
  • Scope namespace vs cluster
    • SecretStore / ExternalSecret : gestion locale à un namespace.
    • ClusterSecretStore / ClusterExternalSecret : partage/propagation à l’échelle du cluster (plus puissant, plus sensible).
  • Sécurité
    • ESO utilise RBAC Kubernetes + l’auth du provider (ex: Vault Kubernetes Auth).
    • Les droits doivent être minimalistes (least privilege).
  • ESO ne chiffre pas magiquement les secrets dans etcd : à la fin, on obtient un Secret Kubernetes (souvent base64, donc pas de chiffrement).
  • La rotation dépend du provider (ex: Vault) ; ESO se charge surtout de propager les changements dans Kubernetes.

 

Installation sur k8s via helm

  • Ajouter le repo Helm
helm repo add external-secrets https://charts.external-secrets.io
helm repo update
helm search repo external-secrets/external-secrets --versions

 

  • Installation
helm upgrade --install external-secrets external-secrets/external-secrets --version 2.0.1 --namespace external-secrets

 

 

    • Les crds disponibles

 

Commentaires

Connectez-vous pour rejoindre la discussion.

Aucun commentaire pour le moment.