0Pricing
DevOps Bootcamp · Lección

Políticas como código y comprobaciones de cumplimiento

Añada una capa de protección a su estrategia de pruebas analizando los planes de Terraform para detectar infracciones de seguridad y cumplimiento antes de que lleguen a producción.

Políticas como código y comprobaciones de cumplimiento es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

Las pruebas no son solo funcionales

Las pruebas unitarias y de integración demuestran que su infraestructura funciona. Policy as code demuestra que está permitida: no hay buckets de S3 públicos, solo tipos de instancia aprobados y están presentes las etiquetas obligatorias. Estas comprobaciones se ejecutan automáticamente con cada cambio.

Dónde encajan las comprobaciones de políticas

Las comprobaciones de políticas se sitúan entre plan y apply. Se analiza la salida del plan y una infracción bloquea el apply, igual que una prueba fallida bloquea un merge.

Análisis estático con tfsec

tfsec analiza su HCL en busca de configuraciones incorrectas conocidas sin necesitar credenciales de la nube. Es suficientemente rápido para ejecutarse con cada commit.

tfsec .

Lectura de la salida del analizador

Los analizadores informan del ID de la regla, la gravedad y el recurso afectado. Use el ID para consultar las instrucciones de corrección o suprimir un riesgo aceptado.

Result: aws-s3-enable-bucket-encryption
Severity: HIGH
Resource: aws_s3_bucket.data

Checkov para análisis de varios frameworks

Checkov admite Terraform y otros formatos de IaC, y relaciona los hallazgos con frameworks de cumplimiento como CIS y SOC2.

checkov -d . --framework terraform

Analizar el plan, no solo el código

Para detectar problemas que solo aparecen después de resolver las variables, exporte el plan a JSON y analice ese artefacto.

terraform plan -out=tfplan.binary
terraform show -json tfplan.binary > plan.json
checkov -f plan.json

Open Policy Agent y Conftest

Para reglas organizativas personalizadas, OPA junto con conftest permite escribir políticas en el lenguaje Rego y probarlas con el JSON del plan.

conftest test plan.json --policy policy/

Una política sencilla de Rego

Esta regla de Rego rechaza cualquier bucket de S3 cuya ACL esté configurada como public-read. Conftest hace fallar la ejecución si la regla coincide.

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"
}

Supresión de riesgos aceptados

A veces un hallazgo es una excepción conocida. Los comentarios en línea permiten omitir una regla específica dejando un registro para auditoría, en lugar de desactivar todo el análisis.

resource "aws_s3_bucket" "logs" {
  # tfsec:ignore:aws-s3-enable-bucket-encryption
  bucket = "public-logs"
}

Hacer fallar la compilación

En CI, estas herramientas devuelven un código de salida distinto de cero cuando hay infracciones, lo que hace fallar el pipeline e impide que continúe un apply que no cumpla las normas.

tfsec . --soft-fail=false

Capas de comprobaciones

Un pipeline maduro ejecuta primero fmt y validate, después análisis estáticos de políticas (tfsec/checkov), luego reglas OPA personalizadas y, por último, la suite funcional de Terratest. Cada capa detecta una clase de problemas diferente.

Comprobación rápida

Compruebe sus conocimientos sobre policy as code.

Resumen: barreras de protección para la infraestructura

Ha añadido una capa de cumplimiento a las pruebas:

  • tfsec y Checkov para analizar configuraciones incorrectas conocidas.
  • OPA/conftest con Rego para reglas organizativas personalizadas.
  • Analizar el JSON del plan para detectar problemas en valores resueltos.
  • Los códigos de salida distintos de cero bloquean los applies que no cumplen las normas en CI.

Preguntas frecuentes

¿La lección «Políticas como código y comprobaciones de cumplimiento» es gratis?

Sí — el texto completo de «Políticas como código y comprobaciones de cumplimiento» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Políticas como código y comprobaciones de cumplimiento»?

Añada una capa de protección a su estrategia de pruebas analizando los planes de Terraform para detectar infracciones de seguridad y cumplimiento antes de que lleguen a producción. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Políticas como código y comprobaciones de cumplimiento»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. `validate` y `fmt` de Terraform
  2. Pruebas unitarias con Terratest
  3. Pruebas de integración de recursos en la nube
  4. Políticas como código y comprobaciones de cumplimiento
← Volver a DevOps Bootcamp