🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCon qué identidad corre la canalización
5 tareas · 40 min · Principiante
La canalización de infraestructura es, sin exagerar, la identidad más poderosa de la empresa: puede crear, cambiar y borrar casi todo. Quien la controle controla la nube. Por eso el trabajo de DevSecOps no se queda en el código de Terraform: incluye revisar con qué credencial corre cada etapa, quién puede asumirla y quién puede hacer correr código dentro de ella. Seguimos en Guayacán Logística, y lees el archivo de la canalización, las confianzas de sus dos roles, la política del rol de plan y una propuesta que llega de fuera.
Objetivo de la sala
La canalización de infraestructura es, sin exagerar, la identidad más poderosa de la empresa: puede crear, cambiar y borrar casi todo. Quien la controle controla la nube. Por eso el trabajo de DevSecOps no se queda en el código de Terraform: incluye revisar con qué credencial corre cada etapa, quién puede asumirla y quién puede hacer correr código dentro de ella. Seguimos en Guayacán Logística, y lees el archivo de la canalización, las confianzas de sus dos roles, la política del rol de plan y una propuesta que llega de fuera.Hay dos maneras de dar a una canalización acceso a la nube. Una es guardar una llave en las variables del proyecto: existe siempre, la puede leer cualquiera con acceso a esas variables, se filtra en los registros y casi nadie la rota. La otra es la federación: la canalización presenta la identidad que su plataforma le emite para cada ejecución y la nube le entrega una credencial que caduca en minutos, limitada a un rol. En la segunda no hay nada que robar de una variable, pero la seguridad pasa a depender de la condición de confianza del rol: qué proyecto y qué rama pueden asumirlo.
Con la federación, el control se desplaza de «proteger la llave» a «acotar quién puede asumir el rol».
Responde para continuar
¿Qué ventaja principal tiene la credencial federada de corta vida frente a una llave guardada como variable del proyecto?
Ver pista de ayuda
La caducidad ayuda, pero no sustituye a la condición de qué proyecto y qué rama pueden asumir el rol.
La confianza de un rol dice quién puede asumirlo. Para el rol que aplica cambios, lo prudente es admitir una sola rama, la principal, y solo después de la aprobación. Un comodín en la rama significa «cualquier rama del proyecto»: quien pueda crear una rama puede, en principio, ejecutar con el poder de aplicar. Compara las confianzas de los dos roles y la etapa de cada uno en el archivo de la canalización.
Responde para continuar
Escribe el nombre del rol que, siendo el de aplicar cambios, puede ser asumido desde cualquier rama del proyecto.
Ver pista de ayuda
Con la terminal, `cat iam/confianza-rol-plan-infra.json` y `cat iam/confianza-rol-apply-infra.json`. Después mira en `pipeline.yml` qué etapa usa cada uno. Para el de plan, el comodín es razonable; para el otro, no.
La etapa de plan corre en propuestas de muchas manos y, por eso, su rol debe ser de lectura: leer el estado y describir los recursos. Cualquier permiso de escritura en ese rol es un permiso que cualquiera con una rama puede ejercer sin aprobación alguna. Se revisa como se revisa una política: acción por acción, preguntando «¿para qué la necesita un plan?».
Responde para continuar
Escribe la acción de escritura que no debería estar en la política del rol de plan.
Ver pista de ayuda
Abre `iam/politica-rol-plan-infra.json`. Las acciones que empiezan por Get, List o Describe son de lectura; busca la que modifica reglas de red.
Al planificar, Terraform lee las fuentes de datos para saber cómo está el mundo. Una de ellas, la fuente de datos externa, funciona llamando a un programa y leyendo lo que devuelve. Eso significa que una propuesta puede hacer correr un programa dentro de la etapa de plan, con la identidad del rol de plan. El hallazgo de revisión no depende de lo que el programa haga —aquí es inofensivo y está a la vista—, sino de quién tiene permiso para llegar hasta ahí: una propuesta de un fork de alguien de fuera corre con las credenciales de la organización.
La regla de la revisión es sencilla: las propuestas de quien no es del equipo no corren etapas con credenciales sin que una persona del equipo las apruebe antes.
Responde para continuar
Escribe el nombre del archivo del cambio MR-77 que añade la fuente de datos que llama a un programa durante el plan.
Ver pista de ayuda
Abre `revisiones/mr-77.diff`: el cambio toca dos archivos; solo uno declara la fuente de datos. El otro es el programa que esta llama.
La canalización conserva una variable heredada con una llave guardada, solo para un trabajo de respaldo. No hay política que lo impida y la llave sigue activa. Una llave sin rotar mide su riesgo en días de exposición. La revisión es del día que se anota en el archivo de revisión.
Responde para continuar
¿Cuántos días hay entre la fecha en que se rotó la variable heredada y la fecha de esta revisión? Escribe solo el número.
Ver pista de ayuda
La fecha de la última rotación está en un comentario de `pipeline.yml`; la de la revisión, en `revisiones/fecha-de-revision.txt`. Cuenta los días entre las dos.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.