Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Cuentas de servicio y permisos del clúster

5 tareas · 40 min · Principiante

Cada aplicación del clúster habla con la API con una identidad propia, y lo que esa identidad puede hacer lo deciden los roles y sus enlaces. Esta sala lee las cuentas de servicio de Posadas Oicatá, sus enlaces de rol, los roles y la lista de permisos efectivos que corrió y entregó su equipo de plataforma. Ningún token se usa: los permisos se leen, no se prueban.

0 de 5 · 0%

Objetivo de la sala

Cada aplicación del clúster habla con la API con una identidad propia, y lo que esa identidad puede hacer lo deciden los roles y sus enlaces. Esta sala lee las cuentas de servicio de Posadas Oicatá, sus enlaces de rol, los roles y la lista de permisos efectivos que corrió y entregó su equipo de plataforma. Ningún token se usa: los permisos se leen, no se prueban.

Las personas entran al clúster como usuarios; las aplicaciones, como cuentas de servicio. Cada espacio tiene una cuenta llamada default, y un pod que no declara ninguna usa esa. Salvo que se desactive, el clúster monta dentro de cada contenedor un token de su cuenta de servicio, en una ruta conocida del sistema de archivos. Ese token es lo que la aplicación presenta a la API.

La consecuencia para el evaluador: lo que puede hacer la cuenta de servicio de un contenedor es lo que podría hacer cualquiera que controle ese contenedor. Por eso una aplicación que no habla con la API no debería tener el token montado, y la cuenta default no debería tener permisos.

Responde para continuar

Una aplicación no llama nunca a la API del clúster. ¿Qué se recomienda para su cuenta de servicio?

Ver pista de ayuda

Si la aplicación no usa el token, ¿quién más podría usarlo?

Abre el laboratorio y lee los enlaces de rol. Un permiso se arma en dos piezas: el rol dice qué verbos sobre qué recursos, y el enlace dice a quién se le da. Un Role y un RoleBinding valen dentro de un espacio; un ClusterRole enlazado con un ClusterRoleBinding vale en todo el clúster. El rol cluster-admin permite cualquier verbo sobre cualquier recurso, y es normal que lo tenga el grupo de administradores. Que lo tenga una cuenta de servicio quiere decir que el contenedor que la usa administra el clúster entero.

Responde para continuar

Escribe el nombre del enlace que da todos los permisos del clúster a una cuenta de servicio.

Ver pista de ayuda

Escribe `cat salidas/enlaces-de-rol.txt` y mira la columna del sujeto en cada enlace con cluster-admin.

Un RoleBinding puede tener como sujeto una cuenta de otro espacio. Es legítimo cuando está pensado, pero rompe la idea de que cada espacio es un compartimento. Y hay verbos que valen más de lo que parecen: con list sobre secretos se reciben los secretos completos, con su contenido, no solo sus nombres.

Responde para continuar

Escribe el nombre de la cuenta de servicio de otro espacio que puede leer los secretos del espacio de pagos.

Ver pista de ayuda

Cruza `salidas/roles.txt` con `salidas/enlaces-de-rol.txt` y confirma en `salidas/permisos-efectivos.txt`.

La documentación oficial de Kubernetes lo advierte de forma explícita: quien puede crear pods en un espacio puede, en la práctica, llegar a los secretos de ese espacio y usar cualquiera de sus cuentas de servicio, porque un pod declara qué secretos y qué cuenta usa. Por eso un permiso de crear pods se evalúa como si incluyera la lectura de secretos, aunque el rol no nombre los secretos.

Responde para continuar

La cuenta soporte puede crear pods en datos, pero su rol no menciona secretos. ¿Cómo queda?

Ver pista de ayuda

Un rol se mide por lo que permite alcanzar, no solo por los recursos que nombra.

Una cuenta default con el token montado y sin ninguna carga que la use no hace daño hoy, pero es la que recibirá cualquier pod que se cree sin declarar cuenta, y cualquier permiso que alguien le dé por comodidad. Se reporta como endurecimiento: desactivar el montaje automático en las cuentas que no lo necesitan.

Responde para continuar

¿Cuántas cuentas default tienen el montaje automático activado y no las usa ninguna carga?

Ver pista de ayuda

Escribe `cat salidas/cuentas-de-servicio.txt` y cuenta.

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