Docker en Kubernetes voor ontwikkelaars · Les

Secrets veilig beheren met externe secretstores

Stop met het committen van Secrets in platte tekst en integreer Kubernetes met externe vaults zoals HashiCorp Vault met behulp van de External Secrets Operator.

Les 4 van 413 stappen

Secrets veilig beheren met externe secretstores is een gratis Docker en Kubernetes voor ontwikkelaars-les op CoddyKit. Dit is les 4 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Docker en Kubernetes voor ontwikkelaars. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Docker en Kubernetes voor ontwikkelaars bevat in totaal 4 lessen.

Kubernetes Secrets zijn alleen gecodeerd

Een Kubernetes Secret is standaard alleen met base64 gecodeerd, niet versleuteld. Iedereen met toegang tot de API of tot etcd kan het lezen, tenzij extra bescherming wordt toegevoegd.

Versleuteling tijdens opslag

Een eerste stap is het inschakelen van versleuteling tijdens opslag in de API-server, zodat Secret-gegevens worden versleuteld voordat ze naar etcd worden geschreven.

apiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
  - resources: ["secrets"]
    providers:
      - aescbc:
          keys:
            - name: key1
              secret: <base64-key>

Het Git-probleem

In GitOps lekken inloggegevens wanneer je Secret-YAML naar een repository commit. We hebben Secrets nodig die buiten git blijven, maar toch naar het cluster worden doorgegeven.

Externe Secret-opslagplaatsen

Tools zoals HashiCorp Vault, AWS Secrets Manager en GCP Secret Manager slaan Secrets centraal op, met controleerbaarheid, rotatie en fijnmazige toegang.

De External Secrets Operator

De External Secrets Operator (ESO) synchroniseert waarden uit een externe opslagplaats naar systeemeigen Kubernetes Secrets, zodat werklasten ze normaal kunnen gebruiken.

Een SecretStore definiëren

Een SecretStore vertelt ESO hoe het zich bij de backend moet authenticeren.

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-app

Een ExternalSecret definiëren

Een ExternalSecret koppelt een sleutel in de opslagplaats aan een gegenereerde 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: password

Automatische rotatie

ESO ververst gesynchroniseerde Secrets met vaste tussenpozen. Daardoor wordt een gewijzigde waarde in Vault naar het cluster doorgegeven zonder nieuwe implementaties.

spec:
  refreshInterval: 1h

Alternatief: Sealed Secrets

Als Secrets in git moeten blijven, versleutelt Sealed Secrets ze met een sleutel die alleen in het cluster aanwezig is. Het resultaat is een SealedSecret die je veilig kunt committen en die alleen de controller kan ontsleutelen.

Toegang beperken met RBAC

Beperk met RBAC wie Secrets mag lezen en geef de voorkeur aan het koppelen van Secrets als bestanden boven omgevingsvariabelen, om onbedoeld loggen te beperken.

Lekken voorkomen

Schrijf Secrets nooit naar logs of CI-uitvoer en voeg Secret-scanning toe aan je pijplijn om onbedoelde commits te detecteren.

Korte controle

Test wat je hebt geleerd.

Samenvatting

Je hebt geleerd dat Secrets alleen met base64 zijn gecodeerd, hoe versleuteling tijdens opslag helpt en hoe de External Secrets Operator synchroniseert vanuit Vault en vergelijkbare opslagplaatsen. Ook heb je Sealed Secrets, rotatie en RBAC geleerd om inloggegevens veilig te houden.

Gratis beginnen

Leer Docker en Kubernetes voor ontwikkelaars met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Secrets veilig beheren met externe secretstores” gratis?

Ja — de volledige tekst van “Secrets veilig beheren met externe secretstores” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Docker en Kubernetes voor ontwikkelaars wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Docker en Kubernetes voor ontwikkelaars bevat in totaal 4 lessen.

Wat leer ik in “Secrets veilig beheren met externe secretstores”?

Stop met het committen van Secrets in platte tekst en integreer Kubernetes met externe vaults zoals HashiCorp Vault met behulp van de External Secrets Operator. Je oefent met Docker en Kubernetes voor ontwikkelaars door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Docker en Kubernetes voor ontwikkelaars te beginnen?

Ervaring vooraf is niet nodig. Docker en Kubernetes voor ontwikkelaars op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Secrets veilig beheren met externe secretstores”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Docker en Kubernetes voor ontwikkelaars?

Ja. Elke les over Docker en Kubernetes voor ontwikkelaars bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Op rollen gebaseerde toegangscontrole (RBAC)
  2. Podbeveiliging en images scannen
  3. Netwerkverkeer in Kubernetes beveiligen
  4. Secrets veilig beheren met externe secretstores
← Terug naar Docker en Kubernetes voor ontwikkelaars