Un escenario muy común en Azure DevOps, es que tu pipeline de Release tenga que desplegar sobre una suscripción de Azure que no es la que tienes vinculada por defecto. En esta entrada vamos a ver como podemos vincular Azure DevOps y una suscripción de Azure.
La parte en Azure
Lo primero que vamos a hacer es registrar una aplicación en Azure Active Directory, que será la que nos de los permisos necesarios para conectar desde Azure DevOps.
Accedemos a la sección de Azure Active Directory > Registro de aplicaciones y creamos un nuevo registro:
Se asigna un nombre y le decimos que queremos que sea una cuenta multiinquilino (si queremos conectar nuestro Azure DevOps, es por que es de otra organización).
Una vez creado, copia el ID de aplicación y apuntalo.
Lo siguiente que tenemos que hacer, es crear un secreto. Para ello, accedemos a la aplicación que acabamos de crear, hacemos clic sobre Certificados y secretos, y creamos un nuevo secreto de cliente. En mi caso le digo que nunca expira, pero eso ya va según necesidades. Apunta el secreto, ya que luego lo vamos a necesitar.
Todo esto lo estamos haciendo por que Azure DevOps va a necesitar acceder a la suscripción en modo lectura, por lo que el siguiente paso es ir a la suscripcion y acceder a la opcion de control de acceso (IAM), a la asignación de roles.
Acto seguido hacemos clic en Agregar para añadir a aplicación que hemos creado previamente.
Seleccionamos la aplicacion y le damos permisos de lectura:
Tiene que quedar algo así:
Ya tenemos creada la aplicación y los permisos asignados. Ahora ya podemos ir a Azure DevOps y configurar la conexión.
La parte en Azure DevOps
Ves a las opciones del proyecto, a la sección de configuración de conexiones y añade una nueva de tipo «Azure Resource Manager»
Ahora solo tenemos que rellenar los campos con los datos que ya tenemos.
Connection Name: Pon el nombre que quieras. Esto es lo que te aparecerá luego para seleccionar la suscripción.
Suscription ID: En la suscripción de Azure a la que le hemos dado antes los permisos aparece el ID, recuerda en la sección suscripciones de Azure.
Suscription Name: Lo mismo que el ID, copia el nombre de la suscripción que aparece en el portal de Azure,
Service principal client ID: ¿recuerdas que antes cuando hemos creado la aplicación, hemos apuntado el ID? Pues ponlo aquí.
Service principal Key: Aquí va el secreto que hemos creado antes y que también hemos apuntado.
Tenant ID: Este dato lo obtenemos en la sección de propiedades de Azure Active Directory. Pera el ID de directorio.
Ahora, si todo ha funcionado correctamente, verifica la conexión y a partir de ahora ya puedes usar esta suscripción en tus pipelines.
¡Nos leemos!
hola buena tarde, tengo un problema se ralizo un movimiento dentro de la empresa de dominio y al querer hacer la compra de licencias mensuales de visual steudio no puedo terminar de realizar la compra(tengo los permisos necesarios para esta operacion)
Te recomiendo que para estas cosas que tienen que ver con licenciamiento y compras, hables directamente con soporte de Microsoft o el partner que te lleve el tema.
Estoy teniendo este problema cuando intento hacer un deploy desde Azure Devops hacia el App Service, y no he logrado solucionarlo.
Error: Failed to fetch App Service ‘oezz-kc-authentication’ publishing credentials. Error: The client ‘2de4de5a-ed84-461f-859f-6617800fc656’ with object id ‘2de4de5a-ed84-461f-859f-6617800fc656’ does not have authorization to perform action ‘Microsoft.Web/sites/config/list/action’ over scope ‘/subscriptions/81de0da8-d4a8-3423-9819-3d9760c7efe6/resourceGroups/kodoti-resource-oezz/providers/Microsoft.Web/sites/oezz-kc-authentication/config/publishingcredentials’ or the scope is invalid. If access was recently granted, please refresh your credentials. (CODE: 403)
Lo resolví cambiando el rol de Lector a Colaborador.
Me alegro que lo hayas resuelto y gracias por comentarlo por aquí. No había visto el comentario aún