Integración de Azure DevOps con AWS mediante OpenID Connect

¿Necesitas ayuda con AWS de forma segura? ¡Contáctanos! En Trust Network somos expertos en ciberseguridad: +503 2298 6181.

En un reciente artículo, Mathieu Bruneau detalla cómo utilizar las capacidades de OpenID Connect (OIDC) en la versión 1.15.0+ del AWS Toolkit para Azure DevOps. Esta funcionalidad permite la federación con cuentas de AWS y la obtención de credenciales temporales, eliminando la necesidad de gestionar credenciales estáticas de AWS Identity and Access Management (IAM).

Introducción

Azure DevOps Pipelines facilita la construcción, prueba y despliegue continuo en múltiples plataformas y nubes. El AWS Toolkit para Azure DevOps, una extensión gratuita para entornos alojados y locales, simplifica la gestión de recursos de AWS. Este toolkit se integra con servicios clave de AWS como Amazon Simple Storage Service (Amazon S3), AWS CodeDeploy, AWS Lambda, AWS CloudFormation y Amazon SQS.

La compatibilidad de Azure DevOps con la federación de identidad de cargas de trabajo, combinada con las capacidades OIDC del AWS Toolkit, permite a los equipos desplegar y acceder a recursos de AWS utilizando controles IAM estándar. El proceso utiliza un token proporcionado por Azure DevOps para invocar AWS Security Token Service (STS), que genera credenciales de seguridad temporales y de privilegios limitados, alineándose con las mejores prácticas de seguridad.

Descripción general de alto nivel

El proceso descrito en el artículo incluye los siguientes pasos:

  1. Creación de un pipeline YAML en Azure DevOps y obtención del GUID de la organización.
  2. Configuración de un proveedor de identidad en AWS para la federación OIDC.
  3. Creación de un rol IAM en AWS que pueda ser asumido desde el proveedor de identidad.
  4. Ejecución del pipeline de Azure DevOps para confirmar la federación exitosa.

Prerrequisitos

Para seguir el tutorial, se requiere:

  • Una cuenta de AWS con permisos suficientes para crear proveedores IAM y roles y políticas IAM.
  • Un proyecto de Azure DevOps con acceso para configurar conexiones de servicio.
  • El AWS Toolkit para Azure DevOps versión 1.15+ instalado.

Implementación y configuración

El artículo proporciona instrucciones detalladas sobre cómo crear un pipeline YAML en Azure DevOps, configurar un proveedor de identidad en AWS y crear un rol IAM. Se destaca la importancia de obtener el GUID de la organización de Azure DevOps y de utilizar el token OIDC generado para establecer la federación.

Uso con otras herramientas

La técnica de federación descrita puede utilizarse con otras herramientas de terceros, como Terraform. El artículo incluye un ejemplo de cómo configurar las credenciales de AWS para Terraform utilizando el task AWSShellScript.

Limpieza

Se proporcionan instrucciones para limpiar los recursos creados en AWS y Azure DevOps, incluyendo la eliminación del rol IAM, el proveedor de identidad y la conexión de servicio.

Conclusión

La nueva funcionalidad del AWS Toolkit para Azure DevOps permite utilizar credenciales temporales, eliminando la necesidad de gestionar claves estáticas o usuarios IAM. Esto mejora la seguridad y reduce las necesidades operativas.

Consulta: