POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Variables dinámicas en matrices de GitLab CI con AWS OIDC

Cómo compartir credenciales temporales entre matrix jobs de GitLab CI con AWS OIDC en entornos multi inquilino

Publicado el 08/09/2025

En este artículo explicamos cómo pasar variables de entorno dinámicas entre trabajos paralelos generados por parallel:matrix en GitLab CI usando autenticación OIDC de AWS. Este enfoque es ideal para despliegues multi inquilino donde cada entorno necesita credenciales temporales generadas en tiempo de ejecución. En Q2BSTUDIO, empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud, ayudamos a diseñar pipelines seguros y escalables que incorporan estas prácticas.

Desafío de las variables dinámicas: GitLab CI permite ejecutar matrix jobs con diferentes valores de variables, pero cuando esas variables se generan durante la ejecución del pipeline, como credenciales temporales obtenidas vía OIDC, no existe un mecanismo directo para propagarlas entre trabajos creados por la matriz. El reto es garantizar que cada trabajo paralelo reciba únicamente las credenciales asociadas a su entorno.

Idea principal de la solución: generar, por cada entrada de la matriz, un fichero de entorno con las variables necesarias y compartirlo como artifact entre etapas. Usando una convención de nombres que incluya el identificador del tenant se asegura que cada trabajo de despliegue consuma su propio fichero de credenciales, por ejemplo .aws.alpha.env o .aws.beta.env.

Flujo práctico resumido: un job pre deploy por cada tenant usa aws sts assume role with web identity con el token OIDC de GitLab para asumir el rol correspondiente y escribe las variables AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY y AWS_SESSION_TOKEN en un fichero .aws.TENANT.env. Ese fichero se publica como artifact con expire_in corto. Luego el job de deploy descarga el artifact y ejecuta export $(cat .aws.$TENANT.env | xargs) para cargar las variables en el entorno y realizar las acciones de despliegue, por ejemplo llamadas aws o despliegues a infraestructuras de nube.

Configuración de AWS OIDC en alto nivel: 1 Agregar proveedor OpenID Connect en IAM apuntando al dominio de GitLab y ajustando la audiencia para que coincida con el aud del token OIDC. 2 Crear roles IAM con trust policy que permita sts AssumeRoleWithWebIdentity restringiendo por audiencia y por subject o project path para limitar qué proyectos pueden asumir el rol. 3 Copiar el Role ARN y configurarlo como variable de CI en GitLab para que los jobs puedan usarlo. Evite publicar plantillas JSON con claves abiertas en repositorios públicos; aplique las condiciones necesarias para limitar alcance.

Consideraciones de seguridad: limite el tiempo de vida de los artifacts que contienen credenciales usando expire_in corto; aplique principio de mínimo privilegio en las políticas IAM creando roles con permisos justos para cada tarea; emplee condiciones en la trust policy como project path, ref type o ref para evitar que ramas no autorizadas asuman roles; y prefiera el paso por ficheros temporales en artifacts en lugar de inyectar secretos directamente en variables de pipeline o logs.

Casos de uso extendidos: además de credenciales AWS, esta estrategia funciona para pasar tokens temporales, cadenas de conexión a bases de datos, configuraciones dinámicas por entorno o credenciales de otros proveedores cloud. La técnica de ficheros por tenant combinada con artifacts y una convención de nombres consistente permite pipelines flexibles, aislados y reproducibles.

Si buscas apoyo para implementar pipelines avanzados, integraciones OIDC con AWS o arquitecturas multi inquilino, en Q2BSTUDIO ofrecemos servicios profesionales de desarrollo de aplicaciones a medida y software a medida, además de consultoría en servicios cloud AWS y Azure e inteligencia artificial para empresas. Podemos ayudarte a automatizar despliegues seguros, diseñar roles IAM adecuados, y aplicar controles de ciberseguridad y pentesting para proteger tus pipelines.

Conclusión: pasar variables dinámicas entre matrix jobs en GitLab CI es viable y seguro si se emplean artifacts con ficheros nombrados por entorno, autenticación OIDC para generar credenciales temporales y prácticas de seguridad como expiración corta y políticas de mínimo privilegio. En Q2BSTUDIO combinamos experiencia en automatización, inteligencia de negocio y agentes IA para crear soluciones a medida que integran estas prácticas y optimizan tus procesos de entrega continua.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio