Fiecare cluster Kubernetes este livrat cu un obiect „Secret” încorporat. Arată ca securitate. Se simte ca securitate. Nu este securitate.

Un secret Kubernetes este, în mod implicit, doar un șir codificat în bază 64 stocat în etcd — care poate fi citit de oricine cu acces la cluster și decodabil trivial cu o linie: echo "c2VjcmV0" | baza64 -d. Cu excepția cazului în care ați activat în mod explicit criptarea în repaus (și majoritatea echipelor nu au făcut-o), parolele bazei de date, jetoanele API și cheile private TLS sunt necriptate în depozitul de date din planul de control al clusterului. Trimiteți un manifest Kubernetes care conține un „Secret” în Git, iar acreditările respective rămân în istoricul depozitului dvs. pentru totdeauna.

Aceasta este problema pe care o nouă generație de instrumente de gestionare a secretelor a apărut pentru a o rezolva - iar în 2026, ecosistemul s-a maturizat semnificativ. Acest ghid acoperă cele mai importante șase instrumente pentru gestionarea secretelor în mediile Kubernetes: ce fac, ce nu fac și care se potrivește nivelului de maturitate al echipei tale.

Lectură similară: Dacă sunteți îngrijorat de scurgerile de secrete prin conducta CI/CD, consultați rezumatul celor mai bune instrumente de pipeline CI/CD. Pentru o imagine mai largă de securitate a containerului, consultați ghidul instrumentelor de scanare a vulnerabilităților.


De ce secretele implicite Kubernetes sunt scurte

Înainte de a vă scufunda în instrumente, merită să fiți precis despre ceea ce le lipsește Kubernetes Secrets - deoarece înțelegerea decalajului este ceea ce vă permite să alegeți soluția potrivită.

Fără criptare în repaus în mod implicit. etcd stochează Kubernetes Secrets ca base64, nu criptat. Activarea Criptare în repaus este un pas de configurare la nivel de cluster pe care furnizorii Kubernetes gestionați (EKS, GKE, AKE) îl gestionează în mod diferit, iar multe clustere autogestionate îl ignoră complet.

Fără rotație secretă. Nu există niciun mecanism încorporat pentru ca un secret Kubernetes să știe că acreditările sale de sprijin s-au schimbat. Rotiți o parolă a bazei de date extern, iar podurile dvs. continuă să o folosească pe cea veche până când actualizați manual secretul și reporniți podurile afectate.

Fără jurnal de audit pentru acces secret. Jurnalul de audit standard Kubernetes înregistrează modificările obiectelor secrete, dar majoritatea configurațiilor nu înregistrează citiri individuale - ceea ce înseamnă că nu poți răspunde „ce serviciu a accesat acest token și când?”

Git-ostil prin proiectare. Sfatul standard este „niciodată să nu comite Secrete către Git”. Dar într-o lume GitOps în care totul-ca-cod este scopul, aceasta este o excepție dureroasă de menținut.

RBAC ca instrument contondent. Kubernetes RBAC vă permite să acordați sau să refuzați accesul la obiectele Secret la nivel de spațiu de nume. Nu poate exprima „Serviciul A poate citi secretul X, dar nu secretul Y” sau „acest secret expiră în 24 de ore”.

Niciunul dintre acestea nu este motive pentru a abandona Kubernetes - sunt motive pentru a folosi instrumente dedicate de gestionare a secretelor pe deasupra.


TL;DR — Comparație de caracteristici

InstrumentCriptare în repausSecrete dinamiceJurnalele de auditNativ K8Multi-CloudPrețuri
Seif HashiCorp⚠️ (prin agent)OSS gratuit / HCP plătit
Operator de secrete externe✅ (prin backend)✅ (prin backend)✅ (prin backend)Gratuit / OSS
Secrete sigilateGratuit / OSS
AWS Secrets Manager⚠️ (prin ESO/CSI)❌ (numai pentru AWS)Prețuri per-secrete
Doppler✅ (operator)Gratuit → niveluri plătite
Infiscal✅ (operator)OSS / cloud plătit

⚠️ = necesită componente suplimentare


1. HashiCorp Vault — Standardul de aur pentru secretele întreprinderii

HashiCorp Vault este punctul de referință în funcție de care este măsurat orice alt instrument de gestionare a secretelor. A fost testat în luptă în medii de întreprindere timp de aproape un deceniu, iar setul său de caracteristici reflectă această profunzime.

Capacitatea de bază a seifului este secretele dinamice — acreditări care sunt generate la cerere și expiră automat. În loc să stocheze o parolă PostgreSQL statică, Vault generează o pereche unică de nume de utilizator/parolă pentru fiecare serviciu care solicită, valabilă pentru o perioadă de închiriere configurabilă (de exemplu, o oră). Când contractul de închiriere expiră, acreditările sunt revocate. Acest lucru elimină clase întregi de extindere a acreditărilor și facilitează dramatic limitarea încălcării.

Pentru Kubernetes, Vault Agent Injector sau Vault Secrets Operator sunt căile de integrare. Injectorul rulează ca un webhook mutant care transferă automat un agent Vault în podurile dvs., care se autentifică la Vault folosind contul de serviciu Kubernetes al podului și scrie secrete într-un volum partajat în memorie. Vault Secrets Operator (VSO), abordarea mai nouă, sincronizează secretele Vault în obiecte secrete Kubernetes native - mai familiare operatorilor, cu prețul secretelor existente pe scurt în etcd.

Motoarele secrete ale seifului acoperă o gamă impresionantă:

  • Acreditări ale bazei de date (PostgreSQL, MySQL, MongoDB și multe altele)
  • Acreditări dinamice AWS, GCP, Azure
  • Generarea certificatelor PKI și TLS
  • Semnarea certificatului SSH
  • Jetoane de cont de serviciu Kubernetes

Ce face bine Vault: Acreditări dinamice, politici de acces detaliate, un jurnal de audit cuprinzător și un ecosistem matur de pluginuri. Dacă aveți nevoie de o gestionare a secretelor de gradul de conformitate, cu informații complete despre cine-a accesat-ce-când, Vault este adesea singura opțiune rezonabilă.

La ce să fii atent: Vault are complexitate operațională. Rularea acestuia în modul de înaltă disponibilitate necesită o atenție atentă la backend-urile de stocare (Raft este acum alegerea recomandată), procedurile de desigilare și căile de upgrade. Curba de învățare este reală. Bugetul pentru timpul de proiectare a platformei.

Preț: Versiunea open-source este gratuită și acoperă majoritatea nevoilor. HashiCorp Cloud Platform (HCP) Vault este oferta gestionată cu prețuri bazate pe orele cluster și operațiuni secrete. Schimbarea licenței BSL din 2023 a dus la fork-ul OpenTofu pentru Terraform, dar echivalentul furk al lui Vault (OpenBao) este încă în curs de maturizare.

📚 Lectură recomandată: Hacking Kubernetes de Andrew Martin și Michael Hausenblas — acoperire excelentă a suprafețelor de atac Kubernetes, inclusiv scenarii secrete de exfiltrare.


2. External Secrets Operator (ESO) — Stratul de integrare K8s-Native

External Secrets Operator adoptă o poziție arhitecturală fundamental diferită: în loc să fie un magazin de secrete în sine, este o punte între Kubernetes și orice magazin extern pe care îl aveți deja. ESO sincronizează secretele de la AWS Secrets Manager, GCP Secret Manager, Azure Key Vault, HashiCorp Vault, 1Password, Doppler și o listă tot mai mare de alte backend-uri în obiecte native Kubernetes Secret.

Abstracția de bază este resursa personalizată „ExternalSecret”:

apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
  name: database-credentials
spec:
  refreshInterval: 1h
  secretStoreRef:
    name: aws-secrets-manager
    kind: ClusterSecretStore
  target:
    name: db-creds
  data:
    - secretKey: password
      remoteRef:
        key: production/db/password

ESO urmărește această resursă, preia secretul de la AWS Secrets Manager (sau de oriunde) și creează un secret Kubernetes standard. Aplicația dvs. citește db-creds la fel ca orice alt secret Kubernetes - nu sunt necesare modificări de cod. Când se bifează refreshInterval, ESO preia și actualizează automat Secretul.

De ce ESO este atât de popular în 2026: Se joacă bine cu investițiile existente. Organizația dvs. are deja AWS Secrets Manager (sau Vault sau GCP Secret Manager) — ESO face ca aceste secrete să fie consumabile în Kubernetes fără a modifica codul aplicației sau fluxurile de lucru existente de rotație a secretelor.

ESO sau Vault Secrets Operator? Dacă rulați Vault, VSO are o integrare mai strictă specifică Vault-ului (secrete dinamice Vault, Vault PKI). Dacă sunteți în magazinul secret nativ al unui furnizor de cloud, ESO este alegerea mai curată. Multe echipe rulează ambele — ESO pentru secretele statice stocate în cloud, VSO pentru acreditările dinamice gestionate de Vault.

Preț: ESO este gratuit și open source (Apache 2.0), întreținut de un proiect sandbox CNCF cu sprijin puternic din partea comunității.


3. Secrete sigilate — Secrete criptate GitOps-Friendly

Sealed Secrets de Bitnami rezolvă o problemă specifică: cum stocați manifestele Kubernetes Secret în Git fără a stoca textul clar real? Răspunsul este criptarea asimetrică.

Controlerul Sealed Secrets rulează în clusterul dvs. și deține o cheie privată. CLI kubeseal criptează un manifest Kubernetes Secret cu cheia publică a clusterului, producând un CRD SealedSecret. Acest manifest criptat poate fi trimis la Git în siguranță - numai cheia privată a clusterului îl poate decripta și poate fi decriptat numai în acel cluster specific (în mod implicit, textul cifrat este legat de spațiu de nume + nume).

# Encrypt a secret for Git storage
kubectl create secret generic db-creds \
  --from-literal=password=s3cr3t \
  --dry-run=client -o yaml | \
  kubeseal --format=yaml > db-creds-sealed.yaml

# This file is safe to commit
git add db-creds-sealed.yaml

Când aplicați SealedSecret pe cluster, controlerul îl decriptează și creează obiectul Secret corespunzător.

Ce face bine Sealed Secrets: fluxurile de lucru GitOps. Dacă utilizați Argo CD sau Flux și doriți ca fiecare resursă de cluster (inclusiv secretele) să fie stocată declarativ în Git, Sealed Secrets se potrivește perfect modelului respectiv. Este nevoie de zero dependențe externe dincolo de controlerul din cluster.

Ce nu face: Rotație, acreditări dinamice sau înregistrare de audit dincolo de evenimentele standard Kubernetes. Sealed Secrets este o soluție de stocare Git, nu o platformă completă de gestionare a secretelor. Dacă parola se schimbă, recriptezi și comite din nou.

Copia de rezervă a cheii private este esențială. Dacă pierdeți cheia privată a controlerului, pierdeți capacitatea de a vă decripta secretele sigilate. Faceți o copie de rezervă a secretului „sealed-secrets-key” într-o locație separată, sigură.

Preț: Complet gratuit și open source (Apache 2.0).


4. AWS Secrets Manager cu Kubernetes

Dacă încărcările dvs. de lucru rulează în principal pe EKS (sau se conectează puternic la serviciile AWS), AWS Secrets Manager asociat cu Secrets Store CSI Driver sau un operator de secrete extern este un operator natural. Păstrați secrete în magazinul AWS gestionat, criptat și înregistrat de audit și le introduceți în Kubernetes atunci când este necesar.

Secrets Store CSI Driver (SSCSID) este abordarea menținută de CNCF: secretele sunt montate direct în pod-uri ca fișiere printr-un volum CSI, niciodată scrise în etcd ca obiecte Kubernetes Secret. Aceasta este calea cu cea mai înaltă securitate - secretele există în memoria podului, dar nu în magazinul secret Kubernetes.

volumes:
  - name: secrets-store
    csi:
      driver: secrets-store.csi.k8s.io
      readOnly: true
      volumeAttributes:
        secretProviderClass: aws-secrets

Capacitățile native ale AWS Secrets Manager includ rotația automată pentru serviciile acceptate (RDS, Redshift, DocumentDB și prin Lambda pentru rotație personalizată), acces între conturi și integrare profundă CloudTrail pentru urmările de audit de conformitate.

Considerarea costurilor: AWS Secrets Manager taxe pe secret pe lună și pe apel API. Pentru flotele mari cu multe secrete mici, costurile pot crește. Consultați ghidul nostru de optimizare a costurilor în cloud pentru strategii de gestionare a cheltuielilor AWS legate de secrete.

Cel mai bun pentru: echipele native EKS care au investit deja în ecosistemul AWS care doresc o integrare strânsă IAM și rotație nativă a acreditărilor RDS.


5. Doppler — Platforma de secrete SaaS pentru dezvoltator

Doppler adoptă o abordare SaaS care prioritizează experiența dezvoltatorului față de complexitatea operațională. Definiți secretele în interfața de utilizare Doppler (sau prin CLI/API), le organizați în funcție de mediu (dezvoltare, staging, producție), iar operatorul Doppler Kubernetes le sincronizează automat în Kubernetes Secrets.

Operatorul interoghează Doppler pentru modificări și actualizează Secretul Kubernetes corespunzător, declanșând opțional repornirea podului atunci când secretele se schimbă. Configurarea este o singură instalare a graficului Helm:

helm repo add doppler https://helm.doppler.com
helm install --generate-name doppler/doppler-kubernetes-operator

Unde Doppler strălucește: Dezvoltarea locală și integrarea CI/CD alături de Kubernetes. Doppler CLI înlocuiește în întregime fișierele de mediu (doppler run -- your-command), oferind aceleași secrete în mediile locale, CI și de producție. Pentru conductele CI/CD, integrările native ale Doppler cu GitHub Actions, CircleCI și altele elimină necesitatea de a copia secrete în variabilele de mediu pipeline.

Ceea ce nu acoperă Doppler: Acreditările bazei de date dinamice. Doppler este un magazin static de secrete cu istoric de versiuni și înregistrare de audit - nu este un motor de generare secretă precum Vault.

Preț: Doppler oferă un nivel gratuit pentru echipele mici. Planurile plătite adaugă SSO, solicitări de acces și funcții de conformitate. Verificați pagina de prețuri Doppler pentru nivelurile actuale (modificări ale prețurilor; verificați înainte de buget).


6. Infisical — Alternativă pentru seif cu sursă deschisă

Infisical este cel mai puternic contestator open-source al duopolului Vault/Doppler. Oferă o interfață de utilizare web, CLI, SDK-uri și un operator Kubernetes - implementabil, găzduit sau consumat ca serviciu cloud.

Infisical a adăugat suport pentru secretele dinamice în 2024, vizând generarea de acreditări a bazei de date similar cu motorul de secrete a bazei de date Vault. Operatorul Infisical Kubernetes sincronizează CRD-urile „InfisicalSecret” cu secretele Kubernetes native, cu intervale de reîmprospătare configurabile.

Pentru echipele care doresc UX la nivel SaaS (tablou de bord web, fluxuri de lucru pentru cereri de acces, jurnalele de audit) dar nu pot folosi SaaS extern din cauza cerințelor de conformitate, Infisical self-hosted este convingător. Este mult mai ușor de utilizat decât Vault și are o experiență de integrare mai prietenoasă pentru dezvoltatori.

Preț: Nucleul open-source este gratuit. Versiunea găzduită în cloud are un nivel gratuit și planuri plătite pentru funcții avansate. Licența de întreprindere găzduită de sine este disponibilă pentru mediile cu o conformitate grea.

📚 Pentru o scufundare mai profundă în arhitectura de securitate Kubernetes: Kubernetes Security and Observability pe Amazon acoperă secrete, RBAC, politica de rețea și securitatea de rulare într-un cadru coeziv.


Sfaturi de implementare

Începeți cu criptarea în repaus. Înainte de a adăuga orice instrument suplimentar, activați criptarea Kubernetes etcd în repaus. Pentru clusterele gestionate, aceasta este adesea o singură casetă de selectare. Pentru clustere autogestionate, urmați ghidul oficial. Acest lucru ridică imediat poziția de bază de securitate.

Adoptați RBAC cu cel mai mic privilegiu pentru secrete. Auditați ce conturi de serviciu au permisiuni „obține”, „listă” sau „vizionare” pentru obiectele Secret. Conturile de serviciu implicite din multe diagrame Helm sunt supraprovizionate. Strângeți RBAC înainte de a roti la un depozit extern.

Planificați-vă convențiile secrete de denumire din timp. Secretele proliferează rapid. O ierarhie consecventă ({env}/{service}/{credential-type}) face automatizarea, politicile RBAC și fluxurile de lucru de rotație mult mai simple pentru toate instrumentele.

Nu sări peste testarea secretă de rotație. Indiferent de instrumentul pe care îl alegeți, executați un exercițiu de rotație înainte de a avea nevoie de el. Verificați dacă aplicația dvs. primește noi acreditări fără timp de nefuncționare. Secretele dinamice cu Vault sau ESO fac acest lucru mult mai ușor decât secretele statice actualizate manual.

Monitorizați extinderea secretelor. Pe măsură ce platforma dvs. crește, secretele se acumulează. Integrați rapoartele de gestionare a secretelor în tablourile de bord de inginerie ale platformei dvs. Consultați Ghidul instrumentelor de monitorizare Kubernetes pentru instrumente de observabilitate care pot urmări modele de acces secrete.


Ce instrument pentru care echipă?

Echipă mică, nativă în cloud (AWS/GCP/Azure): Începeți cu External Secrets Operator care se conectează la magazinul secret nativ al furnizorului dvs. de cloud. Cheltuieli operaționale minime, integrare solidă de audit, gratuit.

GitOps-prima echipă (Argo CD/Flux): Sealed Secrets pentru configurația stocată în GitOps, combinată cu ESO pentru acreditări sensibile de rulare care nu ar trebui să fie în Git nici măcar criptate.

Entreprindere cu cerințe de conformitate (SOC 2, PCI, HIPAA): HashiCorp Vault - fie cluster Raft găzduit de sine, fie gestionat HCP Vault. Jurnalul de audit, acreditările dinamice și motorul de politici cu granulație fină sunt greu de replicat în altă parte.

Mediu mixt, concentrat pe experiența dezvoltatorului (K8s + local + CI/CD): Doppler pentru DX unificat în toate mediile sau găzduit automat în Infisical dacă rezidența datelor contează.

Echipă de platformă mare care gestionează medii cu mai multe clustere: External Secrets Operator ca strat de abstractizare K8s, susținut de Vault sau de un magazin nativ din cloud. Centralizarea sursei adevărului într-un singur magazin în timp ce folosiți ESO ca adaptor universal între grupuri este un model bine dovedit în 2026.

Legat: Pentru riscurile de securitate introduse de instrumentele de codare AI în manifestele Kubernetes și conductele CI/CD, consultați ghidul nostru despre riscurile de securitate de codificare vibe în 2026.


FAQ

Secretele Kubernetes sunt criptate implicit?

Nu. Secretele Kubernetes sunt codificate în mod implicit 64 – codare, nu criptare. Datele sunt stocate în etcd fără criptare, cu excepția cazului în care activați în mod explicit Criptarea în repaus. Verificați întotdeauna configurația clusterului și luați în considerare instrumentele externe de gestionare a secretelor pentru sarcinile de lucru de producție.

Care este diferența dintre Sealed Secrets și External Secrets Operator?

Sealed Secrets criptează manifestele secrete pentru stocare Git în siguranță — este o soluție GitOps. External Secrets Operator preia secrete live din magazine externe (Vault, AWS Secrets Manager etc.) și creează secrete Kubernetes native din acestea. Ele rezolvă probleme diferite și sunt adesea folosite împreună.

Ce sunt secretele dinamice și de ce contează ele?

Secretele dinamice sunt acreditări generate la cerere cu expirare automată – mai degrabă decât parole statice stocate pe termen nelimitat. HashiCorp Vault este sursa principală de secrete dinamice pentru Kubernetes. Dacă o acreditare dinamică este compromisă, aceasta expiră după propriul program. Acest lucru limitează în mod dramatic raza exploziei în comparație cu secretele statice de lungă durată.

Ar trebui să folosesc Doppler sau HashiCorp Vault pentru Kubernetes?

Doppler câștigă din experiența dezvoltatorului și adoptarea rapidă. Vault câștigă în ceea ce privește conformitatea întreprinderii - acreditări dinamice, jurnale de audit granulare și politică detaliată. Pentru echipele mici și mijlocii, Doppler este adesea calea mai rapidă. Pentru mediile SOC 2, PCI DSS sau HIPAA, Vault este de obicei alegerea mai susținută.

Cum pot împiedica scurgerea secretelor în jurnalele containerului?

Montați secretele ca fișiere, mai degrabă decât variabile de mediu (variabilele de mediu pot fi expuse prin /proc și punctele finale de depanare). Utilizați driverul CSI Secrets Store pentru a ocoli complet etcd. Scanați pentru comiteri secrete accidentale în conducta dvs. CI/CD cu instrumente precum scanerul secret Trivy - consultați ghidul instrumentelor de scanare a vulnerabilităților pentru detalii de configurare.

Care este cel mai bun instrument de gestionare a secretelor pentru o echipă Kubernetes mică?

Începeți cu External Secrets Operator susținut de magazinul secret nativ al furnizorului dvs. de cloud. Operațiuni minime, înregistrare solidă de audit, gratuit. Adăugați nivelul gratuit Doppler dacă doriți și o experiență unificată de secrete de dezvoltare/CI/producție.

Cum integrez AWS Secrets Manager cu Kubernetes?

Utilizați External Secrets Operator cu un ClusterSecretStore care indică AWS Secrets Manager. Pe EKS, utilizați IRSA (Roluri IAM pentru conturi de serviciu) pentru autentificarea IAM la nivel de pod - nu sunt necesare acreditări statice. Pe clusterele care nu sunt EKS, utilizați un utilizator IAM cu secretsmanager:GetSecretValue încadrat în ARN-urile dvs. secrete specifice.