Política como código e verificações de conformidade
Adicione uma camada de proteção à sua estratégia de testes verificando planos do Terraform em busca de violações de segurança e conformidade antes que cheguem à produção.
Política como código e verificações de conformidade é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Os Testes Não São Apenas Funcionais
Os testes unitários e de integração comprovam que sua infraestrutura funciona. O Policy as Code comprova que ela é permitida: nenhum bucket S3 público, apenas tipos de instância aprovados e tags obrigatórias presentes. Essas verificações são executadas automaticamente em cada alteração.
Onde as Verificações de Políticas se Encaixam
As verificações de políticas ficam entre plan e apply. A saída do plano é analisada, e uma violação bloqueia o apply, assim como um teste malsucedido bloqueia uma mesclagem.
Verificação Estática com tfsec
tfsec verifica seu HCL em busca de configurações incorretas conhecidas, sem precisar de credenciais de nuvem. Ele é rápido o suficiente para ser executado a cada commit.
tfsec .Leitura da Saída do Scanner
Os Scanners informam um ID de regra, a gravidade e o recurso problemático. Use o ID para consultar orientações de correção ou suprimir um risco aceito.
Result: aws-s3-enable-bucket-encryption
Severity: HIGH
Resource: aws_s3_bucket.dataCheckov para Verificações em Vários Frameworks
Checkov abrange Terraform e outros formatos de IaC, além de associar as descobertas a frameworks de conformidade, como CIS e SOC2.
checkov -d . --framework terraformVerificando o Plano, Não Apenas o Código
Para detectar problemas que só aparecem depois da resolução das variáveis, exporte o plano para JSON e verifique esse artefato.
terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > plan.json
checkov -f plan.jsonOpen Policy Agent e Conftest
Para regras organizacionais personalizadas, o OPA com o conftest permite escrever políticas na linguagem Rego e testá-las no JSON do plano.
conftest test plan.json --policy policy/Uma Política Rego Simples
Esta regra Rego nega qualquer bucket S3 cuja ACL esteja definida como public-read. O Conftest faz a execução falhar se a regra corresponder.
package main
deny[msg] {
r := input.resource_changes[_]
r.type == "aws_s3_bucket"
r.change.after.acl == "public-read"
msg := "S3 buckets must not be public-read"
}Suprimindo Riscos Aceitos
Às vezes, uma descoberta é uma exceção conhecida. Comentários embutidos permitem ignorar uma regra específica com um registro de auditoria, em vez de desativar toda a verificação.
resource "aws_s3_bucket" "logs" {
# tfsec:ignore:aws-s3-enable-bucket-encryption
bucket = "public-logs"
}Fazendo a Compilação Falhar
Na CI, essas ferramentas retornam um código de saída diferente de zero quando há violações, fazendo o pipeline falhar e impedindo a execução de um apply fora de conformidade.
tfsec . --soft-fail=falseEstratificando as Verificações
Um pipeline maduro executa primeiro fmt e validate, depois verificações estáticas de políticas (tfsec/checkov), em seguida regras OPA personalizadas e, somente então, o conjunto de testes funcionais do Terratest. Cada camada detecta uma classe diferente de problema.
Verificação Rápida
Teste seus conhecimentos sobre Policy as Code.
Recapitulação: Barreiras de Proteção para a Infraestrutura
Você adicionou uma camada de conformidade aos testes:
- tfsec e Checkov para verificações de configurações incorretas conhecidas.
- OPA/conftest com Rego para regras organizacionais personalizadas.
- Verifique o JSON do plano para detectar problemas nos valores resolvidos.
- Códigos de saída diferentes de zero bloqueiam applies fora de conformidade na CI.
Perguntas Frequentes
A aula “Política como código e verificações de conformidade” é grátis?
Sim — o texto completo de “Política como código e verificações de conformidade” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Política como código e verificações de conformidade”?
Adicione uma camada de proteção à sua estratégia de testes verificando planos do Terraform em busca de violações de segurança e conformidade antes que cheguem à produção. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Política como código e verificações de conformidade”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- `validate` e `fmt` do Terraform
- Testes unitários com Terratest
- Testes de integração de recursos de nuvem
- Política como código e verificações de conformidade