Conversión de conexiones de servicio desde el emisor de Azure DevOps al emisor de Microsoft Entra

Debe convertir las conexiones de servicio que utilizan la federación de identidades de carga de trabajo con el emisor de Azure DevOps para que usen el emisor de Microsoft Entra. El emisor de Azure DevOps usa el https://vstoken.dev.azure.com prefijo, mientras que el emisor de Microsoft Entra usa el https://login.microsoftonline.com/ prefijo.

Esta conversión no se limita a las conexiones de servicio de Azure Resource Manager. Se aplica a cualquier conexión de servicio de federación de identidad de carga de trabajo que use el emisor de Azure DevOps, incluidas las conexiones de servicio de Azure Resource Manager (ARM), las conexiones de servicio de Docker y las conexiones de servicio creadas por extensiones.

Las conexiones de servicio que ya usan el emisor de Microsoft Entra no se ven afectadas.

Importante

El emisor de Azure DevOps para las conexiones del servicio de federación de identidades de carga de trabajo (WIF) dejará de estar disponible el 1 de julio de 2027.

Este desuso solo se aplica a las conexiones de servicio elegibles en la nube pública de Azure que usan aplicaciones Microsoft Entra de un solo inquilino o identidades administradas. Las conexiones de servicio que se dirigen a nubes no públicas, como Azure Government, Azure operado por 21Vianet o Azure Stack, y las conexiones de servicio que usan aplicaciones multiinquilino quedan fuera del ámbito de este desuso. El emisor de Azure DevOps sigue siendo compatible con esos escenarios.

¿Por qué se requiere la conversión?

La federación de identidades de carga de trabajo permite Azure Pipelines autenticarse sin almacenar secretos de larga duración. Las conexiones del servicio de federación de identidades de carga de trabajo anteriores usaban el emisor de Azure DevOps. Microsoft está adoptando ahora como estándar el emisor Microsoft Entra para la federación de identidad de carga de trabajo en todos los servicios, y las conexiones de servicio más recientes usan el emisor Microsoft Entra de forma predeterminada.

Para evitar errores de autenticación después de retirar el emisor de Azure DevOps, convierta las conexiones de servicio afectadas para usar el emisor de Microsoft Entra.

¿Qué conexiones de servicio se ven afectadas?

Una conexión de servicio se ve afectada si usa la federación de identidades de carga de trabajo con el emisor de Azure DevOps. El requisito de conversión se basa en el emisor que usa la conexión de servicio, no en el tipo de conexión de servicio.

Las conexiones de servicio afectadas pueden incluir conexiones de servicio de Azure Resource Manager, conexiones de servicio de Docker y conexiones de servicio creadas por extensiones cuando dichas conexiones usan la federación de identidades de carga de trabajo con el emisor de Azure DevOps.

Antes de empezar

Antes de convertir una conexión de servicio, asegúrese de que tiene permiso para administrar la conexión de servicio en Azure DevOps.

Si puede editar la conexión de servicio en Azure DevOps pero no tiene permiso para actualizar la identidad en Azure o Microsoft Entra, puede iniciar la conversión. Azure DevOps proporciona los valores del identificador del emisor y del identificador del sujeto que puede facilitar a un administrador de Azure o al propietario de la identidad para completar la configuración de la credencial federada.

Ámbito Permiso necesario
Azure DevOps Permiso de administrador de conexiones de servicio o de administrador de puntos de conexión en la conexión de servicio.
Identidad administrada asignada por el usuario Permiso para actualizar la identidad administrada y agregar credenciales federadas. El rol mínimo puede ser Colaborador de credenciales federadas de identidad administrada, Colaborador de identidad administrada u otro rol que permita crear credenciales federadas.
Registro de la aplicación Acceso de propietario al registro de la aplicación u otro rol de Microsoft Entra que permite administrar las credenciales federadas.
Recurso de Azure de destino Permiso para asignar a la identidad el rol requerido, como Colaborador, en la suscripción, el grupo de recursos o el recurso.

Convertir automáticamente una conexión de servicio afectada

Use la experiencia de conversión en Azure DevOps cuando esté disponible. Esto actualiza automáticamente la conexión de servicio para que use el emisor de Microsoft Entra.

Las conexiones de servicio afectadas aparecen en la parte superior de la lista de conexiones de servicio con una advertencia de que requieren acción. Convierta la conexión de servicio existente en lugar de volver a crearla. Reutilizar la conexión de servicio existente evita actualizaciones innecesarias de las canalizaciones que ya hacen referencia a ella.

Cómo convertir una conexión de servicio:

  1. En Azure DevOps, vaya a Configuración del proyecto>Conexiones de servicio.

  2. Busque la conexión de servicio que está marcada con la advertencia del emisor de Azure DevOps.

    Captura de pantalla que muestra las conexiones de servicio marcadas con la advertencia del emisor de Azure DevOps.

  3. Abra la conexión de servicio y, a continuación, seleccione Actualizar.

    Captura de pantalla que muestra la acción Actualizar para una conexión de servicio marcada.

  4. Seleccione Actualizar de nuevo para confirmar su selección y actualice la conexión de servicio para que use el emisor de Entra.

  5. Un panel muestra que la actualización está en curso. La actualización puede tardar unos minutos. Cuando finalice la actualización, un cuadro de diálogo confirma que la conversión se realizó correctamente. La conexión de servicio ahora usa el emisor de Microsoft Entra.

    Captura de pantalla que muestra una confirmación de que la conversión de conexión de servicio se realizó correctamente.

Conversión manual de una conexión de servicio afectada

Si se produce un error en la conversión automática, puede agregar manualmente la credencial federada al registro de la aplicación o a la identidad administrada que usa la conexión de servicio.

Puede ser necesario recurrir a un mecanismo de respaldo manual cuando:

  • No tiene permiso para actualizar la identidad en Microsoft Entra.
  • Otro equipo posee la identidad.
  • La conversión automática no puede crear ni actualizar la credencial federada.

Para crear la credencial federada y completar la conversión de conexión de servicio, siga estos pasos:

  1. En Azure DevOps, si se produce un error en la conversión automática, Azure DevOps proporciona instrucciones para completar la conversión manualmente. En esas instrucciones, busque y copie los valores Emisor e Identificador del sujeto.

  2. Abra el enlace proporcionado en Azure DevOps para acceder a Azure y, a continuación, vaya al panel Credenciales federadas del registro de aplicaciones o de la identidad administrada.

  3. Seleccione Agregar credencial y, a continuación, seleccione Otro.

  4. Escriba los valores de Emisor y de Identificador del sujeto que copió de Azure DevOps.

    Captura de pantalla que muestra cómo escribir los valores de identificador de emisor y firmante al agregar una credencial federada en Azure.

  5. Complete los campos restantes y, a continuación, cree la credencial federada.

  6. Vuelva a Azure DevOps y compruebe la credencial para activar la conexión de servicio.

  7. Espere unos instantes para que la credencial federada se propague y, a continuación, seleccione Probar de nuevo en Azure DevOps para completar la conversión de conexión de servicio.

    Captura de pantalla que muestra las instrucciones de conversión manual en Azure DevOps.

Limitaciones

Algunos escenarios no forman parte de este desuso ni de su experiencia de conversión inicial.

  • Las conexiones de servicio que tienen como destino nubes no públicas están fuera del ámbito.
  • Las conexiones de servicio que usan aplicaciones multiinquilino están fuera del ámbito.

Solución de problemas de escenarios de federación de identidades de carga de trabajo

Se pueden producir los siguientes problemas al convertir o usar las conexiones de servicio:

La canalización muestra una advertencia de emisor de Azure DevOps en desuso

Una advertencia de canalización indica que la canalización está usando una conexión de servicio de federación de identidades de carga de trabajo que aún usa el emisor obsoleto de Azure DevOps.

Para resolver la advertencia:

  1. Abra la conexión de servicio vinculada desde la advertencia.
  2. Convierta la conexión de servicio para que use el emisor de Microsoft Entra.
  3. Si no se completa la conversión automática, siga los pasos de conversión manual en Establecimiento de una conexión de servicio de identidad de carga de trabajo de Resource Manager.
  4. Vuelva a ejecutar la canalización una vez convertida la conexión de servicio.

Error de conversión automática

Azure DevOps primero intenta convertir automáticamente la conexión de servicio. Se puede producir un error en la conversión si Azure DevOps no puede actualizar el registro de aplicaciones asociado o la identidad administrada.

Para resolver el problema:

  1. Confirme que tiene permiso de administrador de conexión de servicio o administrador de punto de conexión en Azure DevOps.
  2. Confirme que usted o el propietario de la identidad pueden agregar credenciales federadas al registro de aplicación asociado o a la identidad administrada.
  3. Copie los valores Emisor, Identificador de asunto y Audiencia que se muestran en Azure DevOps.
  4. Agregue la credencial federada a la identidad asociada en Azure o Microsoft Entra.
  5. Vuelva a la conexión del servicio Azure DevOps y complete la configuración.

Puede editar la conexión de servicio, pero no puede agregar la credencial federada.

Los permisos de la conexión de servicio de Azure DevOps no otorgan permisos para actualizar identidades en Azure o Microsoft Entra. El registro de la aplicación o la identidad administrada pueden ser propiedad de un usuario o equipo diferente.

Para resolver el problema, pida a un administrador de Azure, propietario del registro de aplicaciones o propietario de identidad administrada que agregue la credencial federada. Proporcione los valores de Issuer, Subject identifier y Audience generados desde la conexión del servicio Azure DevOps.

Los valores de credenciales federadas no coinciden

Una conexión de servicio de identidad de carga de trabajo depende de la coincidencia de valores de credenciales federadas. Si el emisor, el identificador de sujeto o la audiencia en Azure o Microsoft Entra no coinciden con los valores generados por Azure DevOps, se puede producir un error en la autenticación.

Para resolver el problema:

  1. Abra la conexión de servicio en Azure DevOps.
  2. Copie los valores de Issuer, Subject identifier y Audience generados.
  3. Abra el registro de aplicaciones asociado o la identidad administrada en Azure o Microsoft Entra.
  4. Compare los valores de las credenciales federadas.
  5. Actualice o vuelva a crear la credencial federada para que los valores coincidan.

No sabe quién es el propietario del registro de la aplicación o la identidad administrada

Algunas organizaciones separan la administración de Azure DevOps de Azure o Microsoft Entra administración de identidades. Si el administrador de conexiones de servicio actual no posee la identidad, es posible que el administrador no pueda completar la conversión.

Para resolver el problema:

  • En el caso de registros de aplicaciones, compruebe los propietarios del registro de aplicaciones en Microsoft Entra.
  • En el caso de las identidades administradas, compruebe quién tiene asignaciones de roles a través de la identidad administrada o su grupo de recursos.
  • Si no puede identificar al propietario, póngase en contacto con el administrador de inquilinos o el administrador de suscripciones.

La conexión del servicio usa una aplicación multiinquilino

Los escenarios de aplicaciones multicliente quedan fuera del alcance de esta deprecación. Las conexiones de servicio que usan aplicaciones multiinquilino no necesitan migrar como parte de este desuso y el emisor de Azure DevOps sigue siendo compatible con esos escenarios.

Solución de problemas de conversión

Durante la conversión, es posible que vea errores de autenticación de Microsoft Entra. Estos errores suelen indicar un problema con el emisor, el sujeto, la audiencia o la configuración de credenciales federadas.

La tabla siguiente enumera los códigos de error comunes de Microsoft Entra ID y los posibles inconvenientes relacionados con las conexiones del servicio de identidad de carga de trabajo.

Message Posible problema
AADSTS700016: La aplicación con el identificador '****' no fue encontrada La identidad que se usa para la conexión de servicio ya no existe, puede que se haya quitado de esa conexión de servicio o no se ha configurado correctamente. Si configura la conexión de servicio de forma manual con una identidad creada previamente, compruebe que appID/clientId se ha configurado correctamente.
AADSTS7000215: se ha proporcionado un secreto de cliente no válido. Está usando una conexión de servicio con un secreto que ha caducado. Convierta la conexión de servicio a federación de identidades de carga de trabajo y reemplace el secreto caducado por credenciales federadas.
AADSTS700024: la declaración del cliente no está dentro de su intervalo de tiempo válido Si el error se produce después de aproximadamente 1 hora, use una conexión de servicio con la federación de identidad de carga de trabajo y una identidad administrada en su lugar. Los tokens de identidad administrada tienen una duración de aproximadamente 24 horas.
Si el error se produce antes de 1 hora pero después de 10 minutos, mueva los comandos que (implícitamente) soliciten un token de acceso para, por ejemplo, acceder al almacenamiento de Azure al principio del script. El token de acceso se almacena en caché para los comandos posteriores.
AADSTS70021: no se encontró ningún registro de identidad federado coincidente para la aserción presentada. Emisor de aserciones: https://app.vstoken.visualstudio.com. No se ha creado ninguna credencial federada o la dirección URL del emisor no es correcta. La dirección URL del emisor correcta tiene el formato https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Para corregir la dirección URL del emisor, edite y vuelva a guardar una conexión de servicio. Si Azure DevOps no ha creado la identidad, debe actualizar el emisor manualmente. Puede encontrar el emisor correcto en el cuadro de diálogo de edición de la conexión de servicio o en la respuesta si utiliza la API REST.
AADSTS70021: no se encontró ningún registro de identidad federado coincidente para la aserción presentada. Emisor de aserciones: https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Asunto de aserción: sc://<org>/<project>/<service-connection>. La dirección URL del emisor o el sujeto de federación no coinciden. Se cambió el nombre de la organización o proyecto de Azure DevOps o se cambió el nombre de una conexión de servicio creada manualmente sin actualizar el sujeto de federación en la identidad.
AADSTS700211: No se encontró ningún registro de identidad federado coincidente para el emisor de la aserción presentada No se ha creado ninguna credencial federada o la dirección URL del emisor no es correcta.
AADSTS700213: no se encontró ningún registro de identidad federado coincidente para el sujeto de la aserción presentada No se ha creado ninguna credencial federada o la dirección URL del sujeto no es correcta.
AADSTS700223 La federación de identidades de carga de trabajo se ha restringido o deshabilitado en el inquilino de Microsoft Entra. En este caso, es posible usar en su lugar una identidad administrada para la federación. Para obtener más información, consulte Identidad de trabajo con identidad gestionada.
AADSTS70025: la aplicación cliente no tiene credenciales de identidad federadas configuradas Asegúrese de que las credenciales federadas están configuradas en el registro de aplicaciones o la identidad administrada.
Microsoft Entra rechazó el token emitido por Azure DevOps con código de error AADSTS700238 La federación de identidades de carga de trabajo se ha restringido en el inquilino de Microsoft Entra. El emisor de su organización (https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) no tiene permitido usar la federación de identidad de carga de trabajo con el tipo de identidad de carga de trabajo (registro de aplicaciones o identidad administrada) que está utilizando. Pida al administrador de inquilinos o al equipo de administración de Microsoft Entra que permita la federación de identidades de carga de trabajo en su organización de Azure DevOps.
AADSTS70052: la identidad debe ser una identidad administrada, una aplicación de inquilino único o una cuenta de servicio Los registros de aplicaciones multiinquilino que tienen signInAudience: AzureADMultipleOrgs actualmente no son compatibles con el emisor de Microsoft Entra. Use signInAudience: AzureADMyOrg y divida el acceso a varios inquilinos para usar diferentes conexiones de servicio para cada inquilino en su lugar. Si depende de las operaciones de ARM que acceden a múltiples entidades en una sola solicitud (por ejemplo, interconexión de redes virtuales entre distintos inquilinos), puede contactar con el soporte técnico para que la organización de Azure DevOps use el emisor de Azure DevOps en su lugar.
AADSTS900382: el cliente confidencial no se admite en Cross Cloud Algunas nubes soberanas bloquean la federación de identidades de carga de trabajo.

¿El error AADSTS que ve no figura en la lista anterior? Consulte Códigos de error de autenticación y autorización de Microsoft Entra.

Para obtener más información, consulte Solución de problemas de conexiones de servicio de identidades de carga de trabajo.