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.
- Configuration d'accès à un backend via un SecretStore (scope namespace) ou ClusterSecretStore (scope cluster).
- 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
- 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.