Gérer les Secrets en toute sécurité avec des magasins externes
Ne validez plus de Secrets en texte brut et intégrez Kubernetes à des coffres externes tels que HashiCorp Vault à l’aide de l’External Secrets Operator.
Gérer les Secrets en toute sécurité avec des magasins externes est une leçon Docker & Kubernetes for Developers gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Docker & Kubernetes for Developers, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Kubernetes Secrets Are Only Encoded
By default a Kubernetes Secret is just base64-encoded, not encrypted. Anyone with API access or etcd access can read it unless extra protection is added.
Encryption at Rest
A first step is enabling encryption at rest in the API server so Secret data is encrypted before being written to etcd.
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources: ["secrets"]
providers:
- aescbc:
keys:
- name: key1
secret: <base64-key>The Git Problem
In GitOps, committing Secret YAML to a repo leaks credentials. We need secrets that live outside git but still flow into the cluster.
External Secret Stores
Tools like HashiCorp Vault, AWS Secrets Manager, and GCP Secret Manager store secrets centrally with auditing, rotation, and fine-grained access.
The External Secrets Operator
The External Secrets Operator (ESO) syncs values from an external store into native Kubernetes Secrets, so workloads consume them normally.
Defining a SecretStore
A SecretStore tells ESO how to authenticate to the backend.
apiVersion: external-secrets.io/v1beta1
kind: SecretStore
metadata:
name: vault-backend
spec:
provider:
vault:
server: https://vault.example.com
path: secret
auth:
kubernetes:
role: my-appDefining an ExternalSecret
An ExternalSecret maps a key in the store to a generated Kubernetes Secret.
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: db-creds
spec:
secretStoreRef:
name: vault-backend
kind: SecretStore
target:
name: db-creds
data:
- secretKey: password
remoteRef:
key: database/prod
property: passwordAutomatic Rotation
ESO refreshes synced secrets on an interval, so rotating a value in Vault propagates into the cluster without redeploys.
spec:
refreshInterval: 1hSealed Secrets Alternative
If you must keep secrets in git, Sealed Secrets encrypts them with a cluster-only key, producing a safe-to-commit SealedSecret that only the controller can decrypt.
Limiting Access With RBAC
Restrict who can read Secrets using RBAC, and prefer mounting secrets as files over environment variables to reduce accidental logging.
Avoiding Leaks
Never echo secrets in logs or CI output, and add secret-scanning to your pipeline to catch accidental commits.
Quick Check
Test what you have learned.
Recap
You learned that Secrets are only base64-encoded, how encryption at rest helps, and how the External Secrets Operator syncs from Vault and similar stores, plus Sealed Secrets, rotation, and RBAC to keep credentials safe.
Apprends Docker & Kubernetes for Developers avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 12
- Leçons
- 48
Questions Fréquemment Posées
La leçon « Gérer les Secrets en toute sécurité avec des magasins externes » est-elle gratuite ?
Oui — le texte complet de « Gérer les Secrets en toute sécurité avec des magasins externes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Docker & Kubernetes for Developers, passe à CoddyKit PRO. Le cours Docker & Kubernetes for Developers comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Gérer les Secrets en toute sécurité avec des magasins externes » ?
Ne validez plus de Secrets en texte brut et intégrez Kubernetes à des coffres externes tels que HashiCorp Vault à l’aide de l’External Secrets Operator. Tu pratiques Docker & Kubernetes for Developers avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Docker & Kubernetes for Developers ?
Aucune expérience préalable n'est requise. Docker & Kubernetes for Developers sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Gérer les Secrets en toute sécurité avec des magasins externes » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Docker & Kubernetes for Developers ?
Oui. Chaque leçon Docker & Kubernetes for Developers inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Contrôle d’accès basé sur les rôles (RBAC)
- Sécurité des pods et analyse des images
- Sécuriser le trafic réseau Kubernetes
- Gérer les Secrets en toute sécurité avec des magasins externes