Questão nº 113

Questão de Tecnologia da Informação · FGV CGE-SP 2025 (nº 113)

FGV2025Auditor Estadual de Controle - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Um arquiteto de infraestrutura está revisando a adoção de Infrastructure as Code (IaC) com Terraform em um projeto de modernização. A equipe já criou módulos reutilizáveis e utiliza workspaces para isolar ambientes (dev/hom/prod).
Ao inspecionar o repositório, foram encontrados os seguintes arquivos: main.tf, variables.tf, terraform.tfstate, terraform.tfvars e .terraform.lock.hcl
Considerando as melhores práticas de segurança e gerenciamento de estado em Terraform, assinale a afirmativa correta.

Resposta comentada

Gabarito Alternativa C

O estado do Terraform é um arquivo (terraform.tfstate) que registra a correspondência entre os recursos da sua infraestrutura real e a sua configuração em código. Gerenciar esse arquivo de forma segura e consistente é fundamental para a estabilidade e segurança da sua infraestrutura.

  • A) Incorreta: O arquivo .terraform.lock.hcl deve ser versionado no Git para garantir que todos os membros da equipe e sistemas de CI/CD utilizem as mesmas versões de providers, evitando inconsistências. Incluí-lo no .gitignore é uma má prática.
  • B) Incorreta: O arquivo terraform.tfstate não deve ser versionado diretamente no Git, pois pode conter dados sensíveis, é propenso a conflitos em equipes e o Git não oferece os mecanismos de bloqueio e versionamento adequados para ele. Essa é a armadilha da banca, pois "rastreabilidade de mudanças" soa bem, mas não para o state file no Git.
  • C) Correta: Os arquivos terraform.tfstate devem ser excluídos do controle de versão (Git) e armazenados em um backend remoto (como S3, Azure Blob Storage, GCS) com criptografia e state locking para segurança, colaboração e durabilidade. O arquivo .terraform.lock.hcl deve ser versionado para garantir que as versões dos providers sejam consistentes entre todas as execuções e ambientes.
  • D) Incorreta: O arquivo variables.tf define as variáveis, não seus valores. Valores sensíveis geralmente ficam em terraform.tfvars ou são passados via variáveis de ambiente/secrets manager. Criptografar terraform.tfvars com GPG antes do commit não é a prática recomendada; o ideal é usar um secrets manager. Além disso, múltiplos state files (ou workspaces) em um mesmo backend S3 precisam de isolamento de paths (chaves únicas) para evitar corrupção.
  • E) Incorreta: A produção deve utilizar um backend remoto com versionamento do state file habilitado. O versionamento é crucial para auditoria, recuperação de desastres e reversão de estados em caso de erro. Priorizar performance sobre a segurança e a capacidade de recuperação é uma má prática.

Fonte: FGV CGE-SP 2025 Auditor Estadual de Controle - Tecnologia da Informação (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho