Hantera Secrets säkert med externa Secret Stores
Sluta committa Secrets i klartext och integrera Kubernetes med externa valv som HashiCorp Vault med hjälp av External Secrets Operator.
Hantera Secrets säkert med externa Secret Stores är en gratis lektion i Docker och Kubernetes för utvecklare på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Docker och Kubernetes för utvecklare, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Docker och Kubernetes för utvecklare innehåller totalt 4 lektioner.
Kubernetes Secrets är endast kodade
Som standard är en Kubernetes-Secret endast base64-kodad, inte krypterad. Alla med åtkomst till API:t eller etcd kan läsa den om ytterligare skydd inte läggs till.
Kryptering i vila
Ett första steg är att aktivera kryptering i vila i API-servern, så att Secret-data krypteras innan den skrivs till etcd.
apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources: ["secrets"]
providers:
- aescbc:
keys:
- name: key1
secret: <base64-key>Git-problemet
I GitOps läcker autentiseringsuppgifter om Secret-YAML committas till ett repo. Vi behöver Secrets som lagras utanför Git men ändå förs in i klustret.
Externa Secret-lager
Verktyg som HashiCorp Vault, AWS Secrets Manager och GCP Secret Manager lagrar Secrets centralt med granskning, rotation och detaljerad åtkomstkontroll.
External Secrets Operator
External Secrets Operator (ESO) synkroniserar värden från ett externt lager till inbyggda Kubernetes-Secrets, så att arbetslaster kan använda dem på vanligt sätt.
Definiera en SecretStore
En SecretStore talar om för ESO hur autentisering mot backend ska ske.
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-appDefiniera en ExternalSecret
En ExternalSecret kopplar en nyckel i lagret till en genererad 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: passwordAutomatisk rotation
ESO uppdaterar synkroniserade Secrets med ett visst intervall, så att rotation av ett värde i Vault sprids till klustret utan nya distributioner.
spec:
refreshInterval: 1hAlternativet Sealed Secrets
Om Ni måste behålla Secrets i Git krypterar Sealed Secrets dem med en nyckel som endast finns i klustret och skapar en SealedSecret som kan committas säkert och endast dekrypteras av controllern.
Begränsa åtkomst med RBAC
Begränsa vilka som får läsa Secrets med RBAC och föredra att montera Secrets som filer framför miljövariabler för att minska risken för oavsiktlig loggning.
Undvika läckor
Skriv aldrig ut Secrets i loggar eller CI-utdata och lägg till Secret-skanning i pipelinen för att upptäcka oavsiktliga committar.
Snabbtest
Testa vad Ni har lärt Er.
Sammanfattning
Ni har lärt Er att Secrets endast är base64-kodade, hur kryptering i vila hjälper och hur External Secrets Operator synkroniserar från Vault och liknande lager, samt hur Sealed Secrets, rotation och RBAC bidrar till att skydda autentiseringsuppgifter.
Lär dig Docker och Kubernetes för utvecklare med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Hantera Secrets säkert med externa Secret Stores” gratis?
Ja – hela texten till ”Hantera Secrets säkert med externa Secret Stores” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Docker och Kubernetes för utvecklare, kan Ni uppgradera till CoddyKit PRO. Kursen i Docker och Kubernetes för utvecklare innehåller totalt 4 lektioner.
Vad lär jag mig i ”Hantera Secrets säkert med externa Secret Stores”?
Sluta committa Secrets i klartext och integrera Kubernetes med externa valv som HashiCorp Vault med hjälp av External Secrets Operator. Ni övar på Docker och Kubernetes för utvecklare med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Docker och Kubernetes för utvecklare?
Du behöver inga förkunskaper. Utbildningen i Docker och Kubernetes för utvecklare på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Hantera Secrets säkert med externa Secret Stores”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Docker och Kubernetes för utvecklare-lektionen?
Ja. Varje Docker och Kubernetes för utvecklare-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Rollbaserad åtkomstkontroll (RBAC)
- Podsäkerhet och avbildsskanning
- Skydda Kubernetes-nätverkstrafik
- Hantera Secrets säkert med externa Secret Stores