Crear Service Connections en Azure DevOps

David

En el corazón de la automatización y la integración continua/entrega continua (CI/CD) en Azure DevOps se encuentran las Service Connections. Estas configuraciones, son la llave que permite a los pipelines interactuar de forma segura y automatizada con una amplia gama de servicios externos, desde la nube de Azure hasta repositorios de código y herramientas de terceros.

¿Qué es service connection?

Es una configuración que permite a Azure DevOps interactuar con servicios externos y recursos. Piénsalo como una credencial almacenada de forma segura que le da permiso a tus pipelines (tanto de Build como de Release) para acceder y ejecutar tareas en otros sistemas.

Imagina que quieres desplegar tu aplicación en Azure App Service, o aprovisionar infraestructura en Azure, o incluso interactuar con un servidor Jenkins o un repositorio de Docker Hub. Para que Azure DevOps pueda hacer esto, necesita saber cómo autenticarse y acceder a esos servicios. Ahí es donde entran en juego las Service Connections.

En esencia, una Service Connection almacena la información de autenticación y autorización necesaria para conectar Azure DevOps con:

Otros servicios web y APIs: Utilizando diferentes métodos de autenticación como tokens, nombres de usuario y contraseñas, certificados, etc.

Proveedores de Nube: Como Azure (Azure Resource Manager, Azure Container Registry, Azure App Service, etc.), AWS, Google Cloud Platform.

Sistemas de Control de Versiones: Como GitHub, Bitbucket (aunque generalmente se configuran directamente como “Conexiones de Repositorio”, las Service Connections pueden ser necesarias para ciertas integraciones).

Servicios de Orquestación y Contenedores: Como Kubernetes, Docker Hub.

Herramientas de Gestión de Servicios de TI: Como ServiceNow.

Servidores Remotos: A través de SSH.

Esto significa que la seguridad no es algo que se “agrega” al final, sino que está integrada desde el inicio, permitiendo detectar y corregir vulnerabilidades mucho antes de que el software llegue al usuario final.

¿Cómo crear un service connections?

Ingresar a Azure DevOps, Project settings>service connections>New service connections

En este caso vamos a seleccionar Azure resource Manager

Conexión de Servicio de Azure Resource Manager (ARM):

Esta conexión se utiliza para interactuar con la capa de administración de Azure. Esto incluye la creación, modificación, eliminación y gestión de los propios recursos de Azure, como máquinas virtuales, App Services, bases de datos, redes virtuales, etc.

Crear service connection Azure container Registry (ACR):

Esta conexión se utiliza específicamente para autenticarse y acceder a tu registro de contenedores de Azure (ACR). Su función principal es permitir que Azure DevOps pueda hacer push a imágenes de Docker a tu ACR y pull (descargar) imágenes desde tu ACR para desplegarlas en otros servicios como Azure Kubernetes Service (AKS), Azure Container Instances (ACI) o Azure App Service (para contenedores).

David Guzmán López

Ingeniero Electrónico

Electronic Engineer | DevOps Engineer | SRE | Cloud Engineer | Infrastructure Engineer