Pular para o conteúdo

Decodificar Secret do Kubernetes

Kubernetes Secret Decoder

Decodifica cada valor Base64 de um manifesto Secret e recodifica um editado pronto para aplicar — tudo na aba, o Secret nunca sai do seu navegador.

Abre um manifesto de Secret do Kubernetes, decodifica cada valor Base64 para você conseguir ler, deixa você editar qualquer um deles e reconstrói o manifesto com os valores recodificados. Roda inteiramente na aba: um Secret é a última coisa que deveria viajar até um servidor para ser decodificado.

🔒 Roda inteiramente no seu navegadorkubernetessecretbase64devops

Manifesto do Secret

Solte um secret.yaml

Lido nesta aba. Nada é enviado.

Roda inteiramente nesta aba: nada é enviado para lugar nenhum e nada é escrito no armazenamento.

4 valores

Valores
username

YWRtaW4=

password

c3VwZXItc2VjcmV0LXBhc3N3b3Jk

DATABASE_URL

cG9zdGdyZXM6Ly9hZG1pbjpzdXBlci1zZWNyZXQtcGFzc3dvcmRAZGI6NTQzMi9hcHA=

NOT_ENCODEDstringData — não é Base64

dGhpcyBvbmUgaXMgcGxhaW4gdGV4dA==

Manifesto recodificado

Edite um valor acima e isto se atualiza. As entradas de `stringData` são dobradas em `data` como Base64, que é o que o `kubectl apply` faria de qualquer forma.

Base64 é codificação, não criptografia. Um Secret do Kubernetes sozinho não protege nada: quem protege são o RBAC e a criptografia em repouso.

Como usar

  1. Cole o manifesto

    A saída de `kubectl get secret nome -o yaml`, ou o arquivo do seu repositório. Tanto `data` quanto `stringData` são lidos.

  2. Leia os valores

    Cada chave é mostrada com seu valor decodificado e o Base64 abaixo. Uma entrada de `stringData` recebe um rótulo, porque para começar ela nunca foi codificada.

  3. Edite e pegue o manifesto reconstruído

    Mude um valor e o manifesto abaixo se atualiza. Entradas de `stringData` são dobradas em `data` como Base64, que é exatamente o que `kubectl apply` faz na entrada.

Perguntas frequentes

Um Secret do Kubernetes criptografa alguma coisa?

Por si só, não. Base64 é uma codificação: o manifesto é legível por qualquer um que consiga lê-lo. O que protege um Secret é o RBAC do cluster e a criptografia em repouso no etcd, e nenhum dos dois é visível no YAML.

Por que um valor aparece como erro?

Porque não é Base64 válido, o que normalmente significa que o manifesto foi editado à mão ou que o valor pertence a `stringData`. O Kubernetes também o rejeitaria.

É seguro colar um Secret de produção aqui?

Nada é enviado a lugar nenhum e nada é gravado em armazenamento: a decodificação acontece no seu navegador. As ressalvas de sempre sobre compartilhamento de tela e histórico do navegador continuam valendo, porque os valores agora estão visíveis na tela.

Pode receber de

Em seguida

Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.