Zum Inhalt springen

Kubernetes-Secret-Decoder

Kubernetes Secret Decoder

Dekodiert jeden Base64-Wert in einem Secret-Manifest und kodiert ein bearbeitetes wieder zum Anwenden – ohne Upload, komplett im Browser.

Öffnet ein Kubernetes-Secret-Manifest, dekodiert jeden Base64-Wert, damit Sie ihn lesen können, lässt Sie jeden davon bearbeiten und baut das Manifest mit den neu kodierten Werten wieder auf. Es läuft vollständig im Tab – ein Secret ist das Letzte, das zum Dekodieren zu einem Server reisen sollte.

🔒 Läuft vollständig in Ihrem Browserkubernetessecretbase64devops

Secret-Manifest

Eine secret.yaml ablegen

Wird in diesem Tab gelesen. Nichts wird hochgeladen.

Läuft vollständig in diesem Tab: Nichts wird irgendwohin gesendet und nichts in den Speicher geschrieben.

4 Werte

Werte
username

YWRtaW4=

password

c3VwZXItc2VjcmV0LXBhc3N3b3Jk

DATABASE_URL

cG9zdGdyZXM6Ly9hZG1pbjpzdXBlci1zZWNyZXQtcGFzc3dvcmRAZGI6NTQzMi9hcHA=

NOT_ENCODEDstringData — kein Base64

dGhpcyBvbmUgaXMgcGxhaW4gdGV4dA==

Neu kodiertes Manifest

Ändern Sie oben einen Wert, und das hier zieht nach. `stringData`-Einträge werden als Base64 in `data` eingefaltet, was `kubectl apply` ohnehin täte.

Base64 ist eine Kodierung, keine Verschlüsselung. Ein Kubernetes-Secret schützt für sich genommen nichts — das tun RBAC und die Verschlüsselung im Ruhezustand.

So funktioniert es

  1. Fügen Sie das Manifest ein

    Die Ausgabe von `kubectl get secret name -o yaml` oder die Datei aus Ihrem Repository. Sowohl `data` als auch `stringData` werden gelesen.

  2. Lesen Sie die Werte

    Jeder Schlüssel wird mit seinem dekodierten Wert und dem Base64 darunter angezeigt. Ein `stringData`-Eintrag ist beschriftet, weil er nie kodiert war.

  3. Bearbeiten Sie und nehmen Sie das neu gebaute Manifest

    Ändern Sie einen Wert, und das Manifest darunter aktualisiert sich. `stringData`-Einträge werden als Base64 in `data` eingefaltet, was genau das ist, was `kubectl apply` auf dem Weg hinein tut.

Häufige Fragen

Verschlüsselt ein Kubernetes-Secret irgendetwas?

Von sich aus nein. Base64 ist eine Kodierung – das Manifest ist für jeden lesbar, der es lesen kann. Was ein Secret schützt, sind RBAC im Cluster und Verschlüsselung im Ruhezustand in etcd, und keins von beiden ist im YAML sichtbar.

Warum wird ein Wert als Fehler angezeigt?

Weil er kein gültiges Base64 ist, was meist heißt, dass das Manifest von Hand bearbeitet wurde oder der Wert unter `stringData` gehört. Kubernetes würde ihn ebenfalls ablehnen.

Ist es sicher, ein Produktions-Secret hier einzufügen?

Nichts wird irgendwohin gesendet und nichts in einen Speicher geschrieben – das Dekodieren geschieht in Ihrem Browser. Die üblichen Vorbehalte zu Bildschirmfreigabe und Browserverlauf gelten weiterhin, denn die Werte sind jetzt auf dem Bildschirm sichtbar.

Eingabe aus

Danach

Diese Tools nehmen an, was dieses hier erzeugt, das Ergebnis kann also direkt weiter.