ANÚNCIO

~/questoes/devops

Como o Pulumi permite diferentes valores de configuração para cada ambiente sem expor secrets?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Aula de referência Deploy de aplicações Node.js na AWS com IaC e Pulumi
Para fixar

Gerenciamento Seguro de Configurações por Stack no Pulumi

Conceito central

O Pulumi permite que cada ambiente (desenvolvimento, staging, produção) tenha suas próprias configurações e secrets, armazenando informações sensíveis de forma criptografada. Dessa forma, você consegue diferentes valores de configuração para cada stack sem expor segredos no Git ou no código-fonte.

Por que essa resposta faz sentido

A alternativa correta descreve exatamente como o Pulumi funciona: através do sistema de stacks, cada ambiente pode ter suas variáveis de configuração definidas separadamente, e os secrets são automaticamente criptografados pela ferramenta. Isso garante segurança sem poluir o repositório Git com dados sensíveis.

Armadilhas comuns

  • Confundir o sistema de stacks do Pulumi com variáveis de ambiente simples do SO - o Pulumi adiciona camada de criptografia automática.
  • Pensar que proteger o repositório Git é suficiente para manter secrets seguros - dados no Git ficarão no histórico para sempre.
  • Usar a mesma configuração para todos os ambientes em vez de criar stacks separados - isso reduz flexibilidade e aumenta riscos de segurança.

Entenda as alternativas

A

Esta é a forma correta de trabalhar com Pulumi. Você define variáveis de configuração específicas para cada stack (dev, staging, prod) usando arquivos como Pulumi.dev.yaml e Pulumi.prod.yaml. Secrets são criptografados automaticamente e nunca aparecem em texto plano no repositório.

B

Fazer commit de secrets no Git é uma prática perigosa e antiética, independente de proteção com password. Uma vez no histórico do Git, os secrets ficam permanentemente expostos. O Pulumi foi projetado justamente para evitar esse cenário.

C

Usar apenas variáveis de ambiente do sistema operacional sem criptografia é inseguro e pouco prático para trabalhar em equipe. O Pulumi oferece um sistema de criptografia nativo que é muito mais confiável e fácil de manter em ambientes de produção.

D

Armazenar secrets em arquivo plain text no repositório é a pior prática possível. Além de expor dados sensíveis, qualquer pessoa com acesso ao código fonte conseguiria acessar essas informações. O Pulumi elimina essa necessidade com seu sistema de secrets criptografados.

Dica prática: Ao iniciar um projeto Pulumi, sempre crie um arquivo de configuração por ambiente (Pulumi.dev.yaml, Pulumi.prod.yaml, etc) e use o comando `pulumi config set --secret` para dados sensíveis. Assim você consegue múltiplos ambientes sem duplicar o código.

Revise pensando: Por que o Pulumi não expõe secrets no Git mesmo definindo valores diferentes para cada stack?