🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónAutenticación de cargas con identidad de servicio
5 tareas · 38 min · Principiante
Antes de entregar un secreto, el gestor tiene que saber quién lo pide. Para una persona sirve un inicio de sesión; para una carga de trabajo (un servicio, un trabajo del CI, un pod) hace falta otra forma de demostrar quién es sin llevar una contraseña escrita, que sería el mismo problema un nivel más abajo. Con los roles de AppRole y de Kubernetes de Hilandería Zurriago, una empresa ficticia de hilados, lees qué roles se parecen a una puerta abierta. Es lectura de configuración; no hay valores.
Objetivo de la sala
Antes de entregar un secreto, el gestor tiene que saber quién lo pide. Para una persona sirve un inicio de sesión; para una carga de trabajo (un servicio, un trabajo del CI, un pod) hace falta otra forma de demostrar quién es sin llevar una contraseña escrita, que sería el mismo problema un nivel más abajo. Con los roles de AppRole y de Kubernetes de Hilandería Zurriago, una empresa ficticia de hilados, lees qué roles se parecen a una puerta abierta. Es lectura de configuración; no hay valores.Si una aplicación necesita una contraseña para pedirle contraseñas al gestor, el problema se ha movido de sitio, no resuelto. A eso se le llama a veces el problema del secreto cero. La salida es que la propia plataforma dé una identidad a la carga: un pod de Kubernetes recibe un token de su cuenta de servicio, y el gestor lo valida contra la plataforma. La aplicación no guarda nada que se pueda copiar a un archivo.
Cuando eso no es posible, como en un pipeline fuera de la plataforma, el método AppRole divide la credencial en dos mitades: un role_id que identifica al rol y un secret_id que se entrega a la carga por separado, con vida corta y pocos usos.
Responde para continuar
¿Qué ventaja tiene que un pod se autentique con el token de su cuenta de servicio en lugar de con una contraseña escrita en su configuración?
Ver pista de ayuda
Pregúntate qué hay escrito en el archivo de configuración del pod en cada caso.
Un secret_id de AppRole es de usar y tirar si el rol está bien configurado: vida corta (secret_id_ttl), pocos usos (secret_id_num_uses) y una red de origen permitida (CIDR). Con un cero en vida y usos, y sin red permitida, el secret_id se convierte en una contraseña eterna que sirve desde cualquier parte.
Abre roles-approle.txt. Fíjate en los tres controles de cada rol.
Responde para continuar
Escribe el nombre del rol de AppRole que no limita la vida del secret_id, sus usos ni la red de origen.
Ver pista de ayuda
Busca la fila con ceros en vida y usos y con «ninguna» en redes permitidas.
En el método de Kubernetes, un rol dice qué cuentas de servicio y de qué espacios de nombres pueden autenticarse y con qué políticas. Un asterisco en la cuenta o en el espacio de nombres hace que cualquier pod de cualquier parte del clúster pueda tomar el rol. Que lo pueda tomar no quiere decir que deba: los espacios de nombres suelen ser equipos distintos.
Lee roles-kubernetes.txt y mira qué política concede cada rol.
Responde para continuar
Escribe el nombre del rol de Kubernetes que admite cualquier cuenta de servicio de cualquier espacio de nombres.
Ver pista de ayuda
Busca los asteriscos en las dos columnas de «permitidas».
El archivo secret-ids.txt lista los secret_id emitidos por su accesor, un identificador que permite gestionarlos sin ver su valor. Los hay usados y vencidos, sin usar y vencidos, revocados y vigentes. Un secret_id vigente de un rol sin caducidad es una llave que sigue abriendo.
Cuenta los secret_id del rol del apartado 2 que siguen vigentes (sin contar los revocados).
Responde para continuar
¿Cuántos secret_id del rol que no caduca siguen vigentes?
Ver pista de ayuda
Filtra por el nombre del rol y cuenta las filas con estado «vigente».
El rol sin límites lo usa un proceso antiguo de nómina. Cerrarlo de golpe lo rompe. Una corrección razonable endurece lo que se pueda sin cambiar la aplicación: vida corta y uso único para el secret_id, una red de origen permitida y una entrega a la carga que no deje el valor en un archivo, mientras se planea migrar el proceso a la identidad de la plataforma.
Responde para continuar
¿Qué corrección conviene aplicar a un rol de AppRole sin límites que usa un proceso antiguo?
Ver pista de ayuda
Se busca reducir el riesgo ya, sin quedarse en el aviso y sin tumbar el servicio.
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.