🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónIdentidades de carga y federación OIDC
5 tareas · 39 min · Principiante
Un pipeline de CI que necesita desplegar en la nube suele guardar una clave larga como secreto. La federación OIDC la sustituye: el CI recibe un token de identidad de unos minutos y la nube decide, por sus reclamaciones, si lo acepta. Todo el riesgo se mueve a las condiciones de confianza. Con los roles de AWS, las credenciales federadas de Azure y los proveedores de un pool de Google Cloud de Curtiembres Barbasco lees qué reclamaciones se comprueban y cuáles se dejaron sin comprobar. Es lectura de configuración; no hay ni un token.
Objetivo de la sala
Un pipeline de CI que necesita desplegar en la nube suele guardar una clave larga como secreto. La federación OIDC la sustituye: el CI recibe un token de identidad de unos minutos y la nube decide, por sus reclamaciones, si lo acepta. Todo el riesgo se mueve a las condiciones de confianza. Con los roles de AWS, las credenciales federadas de Azure y los proveedores de un pool de Google Cloud de Curtiembres Barbasco lees qué reclamaciones se comprueban y cuáles se dejaron sin comprobar. Es lectura de configuración; no hay ni un token.Una carga de trabajo (un job de CI, un contenedor, una función) prueba quién es ante la nube. La forma antigua es una clave de acceso guardada como secreto: dura meses, se copia, se filtra en un registro y hay que rotarla. La forma federada usa un token de identidad que el proveedor de CI emite para cada ejecución, firmado y de vida corta, y que la nube canjea por credenciales temporales.
El token trae reclamaciones: quién lo emitió (iss), para qué servicio (aud) y de quién se trata (sub, el sujeto, que suele codificar el proyecto y la rama o el entorno). Lo que la nube verifica de esas reclamaciones es lo que define el riesgo.
Responde para continuar
¿Qué problema de las claves guardadas como secreto elimina la federación OIDC?
Ver pista de ayuda
La federación cambia cómo se prueba la identidad, no si la carga necesita permisos.
En AWS la condición de la confianza compara las reclamaciones del token. Si solo se comprueba aud, cualquier token emitido por ese proveedor para ese destinatario sirve, sea de la rama principal, de otro proyecto o de una ejecución de pruebas. La condición sobre sub es la que dice qué ejecución concreta puede asumir el rol.
Abre los tres roles de federacion/aws/ y compara las condiciones de cada uno.
Responde para continuar
Escribe el nombre del rol de AWS cuya confianza no comprueba el sujeto del token.
Ver pista de ayuda
Mira qué roles tienen una condición sobre «:sub» y cuál solo tiene la de «:aud».
En Azure, una credencial federada de una aplicación fija el emisor, el sujeto y la audiencia que acepta. El sujeto debe ser tan específico como el despliegue que se quiere permitir. Una solicitud de cambio la puede abrir cualquiera que tenga acceso de escritura al repositorio, a veces con código aún sin revisar; dar a ese sujeto acceso a producción es abrir la puerta antes de la revisión.
Revisa federacion/azure/credenciales-federadas.txt y fíjate en el sujeto de cada una frente a su nombre.
Responde para continuar
Escribe el nombre de la credencial federada cuyo sujeto corresponde a una solicitud de cambio.
Ver pista de ayuda
El nombre promete producción; lee qué tipo de ejecución es el sujeto.
Una buena forma de auditar una confianza es probarla con un caso: tomas un token y compruebas, rol por rol, si cumpliría todas las condiciones. Una condición con comodín (StringLike con un asterisco) acepta lo que case con el patrón; una de igualdad exacta (StringEquals) solo acepta ese valor.
El archivo federacion/token-del-ejemplo.txt trae las reclamaciones de una ejecución de pruebas. No hace falta ejecutar nada: compara cada reclamación con las condiciones de los tres roles.
Responde para continuar
¿Cuántos de los tres roles de AWS aceptarían las reclamaciones de ese token?
Ver pista de ayuda
Un rol lo acepta solo si cumple todas sus condiciones a la vez.
En Google Cloud, un pool de identidades de carga tiene proveedores que reciben tokens de un emisor externo. Cada proveedor puede llevar una condición de atributo que descarta los tokens que no cumplan. Sin ella, cualquier identidad que el emisor firme entra al pool, y de ahí a los permisos que se concedan sobre el pool.
En federacion/gcp/proveedores-del-pool.txt hay dos proveedores. Uno es de un contratista y no tiene condición.
Responde para continuar
¿Cuál es la corrección adecuada para el proveedor del contratista que no tiene condición de atributo?
Ver pista de ayuda
El problema no es cuánto dura el token ni cómo se firma, sino cuáles se aceptan.
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.