Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Con 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.

0 de 5 · 0%

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.

Inicia sesión para registrar tus puntos y progreso en el ranking.

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