Laboratorio 11: Seguridad e IAM (Aplicando el Principio de Menor Privilegio)
Autor: Eduardo Martínez Agrelo
Bienvenidos al undécimo laboratorio del curso de Terraform. En este módulo práctico, aprenderemos a gestionar identidades y accesos. Configuraremos políticas de seguridad en Google Cloud para restringir los permisos de forma automatizada y proteger los entornos productivos.
La Identidad Segura: Cuentas de Servicio Personalizadas
El diseño profesional de seguridad cloud exige evitar el uso de identidades compartidas o cuentas predeterminadas. Las cuentas automáticas exponen el proyecto a vulnerabilidades, por lo que crearemos identidades específicas y aisladas:
- Service Account: Constituye la identidad digital que utilizarán nuestras aplicaciones o servidores para autenticarse y realizar acciones en la nube.
- display_name: Definirá el propósito descriptivo de la identidad para facilitar las tareas de auditoría y revisión de los administradores.
Permisos Específicos: Proyecto versus Recursos de Almacenamiento
Para asegurar que cada recurso cuente con los permisos mínimos necesarios, dividiremos la asignación de roles en niveles de alcance de red diferenciados:
role = "roles/storage.objectViewer" (at bucket level)
Esta directiva de Terraform limita el acceso de lectura únicamente al bucket de almacenamiento especificado. Al evitar la asignación de permisos globales sobre todo el proyecto de GCP, blindamos los datos contra fugas o accesos imprevistos.
La Práctica de Producción: Recursos IAM No Autoritativos
Para evitar desastres operacionales que eliminen el acceso de los administradores, debemos elegir de forma correcta el recurso de Terraform. No utilizaremos políticas autoritativas; aplicaremos asignaciones de membresía individuales en Terraform para proteger los permisos existentes:
- google_project_iam_member: Asociará la identidad al proyecto únicamente para enviar métricas a Cloud Monitoring y telemetría de GCP.
- google_storage_bucket_iam_member: Asignará el rol de lectura de forma aditiva en el bucket de Cloud Storage sin sobrescribir otras membresías.
El Recurso de Asignación de Roles
En este laboratorio, resguardarás los recursos de forma rigurosa. Escribiremos la llamada a la membresía aditiva utilizando
el bloque google_storage_bucket_iam_member, garantizando un despliegue de políticas transparente y
seguro.
Conclusión: Infraestructura auditada y segura
Has completado el laboratorio de gestión de identidades y accesos. Has aprendido que el diseño profesional de seguridad consiste en combinar cuentas de servicio personalizadas, roles mínimos restrictivos y asignaciones de membresía aditivas en Google Cloud. Ya tienes la seguridad lista; el siguiente paso es avanzar al Laboratorio 12 para automatizar toda tu infraestructura mediante CI/CD.