Partekatu honen bidez:


Solución de problemas conexiones de servicio de Azure Resource Manager

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

En este artículo se presentan escenarios comunes de solución de problemas para ayudarle a resolver los problemas que pueden surgir al crear una conexión de servicio de Azure Resource Manager. Consulte Administración de conexiones de servicio para aprender a crear, editar y proteger conexiones de servicio.

¿Qué ocurre cuando se crea una conexión de servicio de Azure Resource Manager?

Si no tiene una conexión de servicio, puede crear una de la siguiente forma:

  1. En el proyecto, seleccione Configuración del proyecto y, después, Conexiones de servicio.

    Captura de pantalla que muestra cómo acceder a las conexiones de servicio desde la configuración del proyecto

  2. Seleccione Nueva conexión de servicio para agregar una nueva y, a continuación, seleccione Azure Resource Manager. Seleccione Siguiente cuando haya terminado.

    Captura de pantalla que muestra los tipos de conexiones de servicio.

  3. Seleccione Registro de aplicaciones (automático) y Federación de identidades de carga de trabajo como credencial.

  4. Seleccione Suscripción y, a continuación, seleccione la suscripción en la lista desplegable. Rellene el resto del formulario y seleccione Guardar cuando haya terminado.

Al guardar la nueva conexión de servicio de Azure Resource Manager, Azure DevOps realiza las siguientes acciones:

  1. Se conecta al inquilino de Microsoft Entra para a la suscripción seleccionada.
  2. Se crea una aplicación en Microsoft Entra ID en nombre del usuario.
  3. Asigna la aplicación como colaborador a la suscripción seleccionada.
  4. Se crea una conexión al servicio Azure Resource Manager mediante los detalles de esta aplicación.

Nota:

Para crear conexiones de servicio, se le debe haber agregado al grupo Creador de puntos de conexión en la configuración del proyecto: Configuración del proyecto>Conexiones de servicio>Seguridad. Los colaboradores se agregan a este grupo de forma predeterminada.

Escenarios de solución de problemas

Es posible que se produzcan los siguientes problemas al crear conexiones de servicio:

El usuario solo tiene permiso de invitado en el directorio

  1. Inicie sesión en Azure Portal con una cuenta de administrador. La cuenta debe ser de propietario o administrador de cuentas de usuario.

  2. Seleccione Microsoft Entra ID en la barra de navegación izquierda.

  3. Asegúrese de que está editando el directorio adecuado correspondiente a la suscripción de usuario. Si no es así, seleccione Cambiar directorio e inicie sesión con las credenciales adecuadas, si es necesario.

  4. Seleccione Usuarios en la sección Administrar.

  5. Seleccione Configuración de usuario.

  6. Seleccione Administrar la configuración de colaboración externa en la sección Usuarios externos.

  7. Cambie la opción Los permisos de usuario invitado están limitados a No.

Como alternativa, si está preparado para conceder al usuario permisos de nivel de administrador, puede convertir al usuario en miembro del rol de Administrador. Siga estos pasos:

Advertencia

Asignar a los usuarios el rol de Administrador global les permite leer y modificar cada opción administrativa de la organización de Microsoft Entra. Como procedimiento recomendado, asigne este rol a menos de cinco personas de su organización.

  1. Inicie sesión en Azure Portal con una cuenta de administrador. La cuenta debe ser de propietario o administrador de cuentas de usuario.

  2. Seleccione Id. de Microsoft Entra del panel de navegación izquierdo.

  3. Asegúrese de que está editando el directorio adecuado correspondiente a la suscripción de usuario. Si no es así, seleccione Cambiar directorio e inicie sesión con las credenciales adecuadas, si es necesario.

  4. Seleccione Usuarios en la sección Administrar.

  5. Use el cuadro de búsqueda para buscar el usuario que quiera administrar.

  6. Seleccione Rol del directorio en la sección Administrar y, a continuación, cambie el rol. Cuando haya terminado, haga clic en Guardar.

Normalmente, los cambios tardan entre 15 y 20 minutos en aplicarse globalmente. A continuación, el usuario puede intentar volver a crear la conexión de servicio.

El usuario no está autorizado para agregar aplicaciones en el directorio

Debe tener permisos para agregar aplicaciones integradas en el directorio. El administrador del directorio tiene permisos para cambiar esta configuración.

  1. Seleccione Microsoft Entra ID en el panel de navegación izquierdo.

  2. Asegúrese de que está editando el directorio adecuado correspondiente a la suscripción de usuario. Si no es así, seleccione Cambiar directorio e inicie sesión con las credenciales adecuadas, si es necesario.

  3. Seleccione Usuarios y, después, Configuración de usuario.

  4. En Registros de aplicaciones, cambie la opción Los usuarios pueden registrar aplicaciones a .

También puede crear la entidad de servicio con un usuario existente que ya tenga los permisos necesarios en Microsoft Entra ID. Para obtener más información, consulte Crear una conexión de servicio de Azure Resource Manager con una entidad de servicio existente.

No se encontró un token de acceso o no se encontró un token de actualización válido

Estos errores suelen producirse cuando la sesión ha expirado. Para resolver estos problemas:

  1. Cierre la sesión de Azure DevOps.
  2. Abra una ventana del explorador de incógnito o InPrivate y vaya a Azure DevOps.
  3. Inicie sesión con las credenciales adecuadas.
  4. Seleccione su organización y su proyecto.
  5. Cree la conexión de servicio.

No se pudo asignar el rol Colaborador

Este error se produce normalmente cuando no tiene permiso de Escritura para la suscripción de Azure seleccionada.

Para resolver este problema, pida al administrador de la suscripción que le asigne el rol adecuado en Microsoft Entra ID.

La suscripción no aparece al crear una conexión de servicio

  • Máximo de 50 suscripciones de Azure enumeradas en los distintos menús desplegables de suscripción de Azure (facturación, conexión de servicio, etc.): si va a configurar una conexión de servicio y tiene más de 50 suscripciones de Azure, algunas de las suscripciones no aparecen en la lista. En este escenario, complete los pasos siguientes:

    1. Cree un usuario nativo de Microsoft Entra en la instancia de Microsoft Entra de la suscripción de Azure.
    2. Configure el usuario de Microsoft Entra para que tenga los permisos adecuados para configurar la facturación o crear conexiones de servicio. Para más información, consulte Incorporación de un usuario que pueda configurar la facturación de Azure DevOps.
    3. Agregue el usuario de Microsoft Entra a la organización de Azure DevOps con un nivel de acceso de Parte interesada y, después, agréguelo al grupo Administradores de la colección de proyectos (para facturación) o asegúrese de que el usuario tenga permisos suficientes en el proyecto de equipo para crear conexiones de servicio.
    4. Inicie sesión en Azure DevOps con las nuevas credenciales de usuario y configure una facturación. Solo verá una suscripción de Azure en la lista.
  • Token de usuario antiguo almacenado en caché en Azure DevOps Services: si la suscripción de Azure no aparece al crear una conexión de servicio de Azure Resource Manager (ARM), podría deberse a un token de usuario antiguo almacenado en caché en Azure DevOps Services. Este escenario no es inmediatamente obvio, ya que la pantalla de lista de suscripciones de Azure no muestra ningún mensaje de error o advertencia que indique que el token de usuario está obsoleto. Para resolver este problema, actualice manualmente el token de usuario almacenado en caché en Azure DevOps Services mediante los pasos siguientes:

    1. Cierre la sesión de Azure DevOps Services y vuelva a iniciarla. Esta acción puede actualizar el token de usuario.
    2. Borre la memoria caché del explorador y las cookies para asegurarse de que se quiten los tokens antiguos.
    3. En el portal de Azure DevOps, vaya a las conexiones de servicio y vuelva a autorizar la conexión a Azure. En este paso se solicita a Azure DevOps que use un nuevo token.

Faltan algunas suscripciones en la lista correspondiente

  • Cambiar la configuración de los tipos de cuenta admitidos: este problema se puede corregir si se cambia la configuración de los tipos de cuenta admitidos y se define quién puede usar la aplicación. Siga estos pasos:

    1. Inicie sesión en Azure Portal.
    2. Si tiene acceso a varios inquilinos, use el filtro Directorio + suscripción del menú superior para seleccionar el inquilino en el que quiere registrar una aplicación.

    Captura de pantalla que muestra el icono de directorio y suscripciones en el portal de Azure.

    1. Seleccione Microsoft Entra ID en el panel izquierdo.
    2. Seleccione App registrations (Registros de aplicaciones).
    3. Seleccione la aplicación en la lista de aplicaciones registradas.
    4. En Autenticación, seleccione Tipos de cuenta admitidos.
    5. En Tipos de cuenta admitidos, ¿Quién puede usar esta aplicación o acceder a esta API?, seleccione Cuentas en cualquier directorio organizativo.

    Captura de pantalla que muestra los tipos de cuenta admitidos.

    1. Cuando haya terminado, haga clic en Guardar.
  • Token de usuario antiguo almacenado en caché en Azure DevOps Services: si la suscripción de Azure no aparece al crear una conexión de servicio de Azure Resource Manager (ARM), podría deberse a un token de usuario antiguo almacenado en caché en Azure DevOps Services. Este escenario no es inmediatamente obvio, ya que la pantalla de lista de suscripciones de Azure no muestra ningún mensaje de error o advertencia que indique que el token de usuario está obsoleto. Para resolver este problema, actualice manualmente el token de usuario almacenado en caché en Azure DevOps Services mediante los pasos siguientes:

    1. Cierre la sesión de Azure DevOps Services y vuelva a iniciarla. Esta acción puede actualizar el token de usuario.
    2. Borre la memoria caché del explorador y las cookies para asegurarse de que se quiten los tokens antiguos.
    3. En el portal de Azure DevOps, vaya a las conexiones de servicio y vuelva a autorizar la conexión a Azure. En este paso se solicita a Azure DevOps que use un nuevo token.

El token de la entidad de servicio ha expirado

Un problema que suele ocurrir con las entidades de servicio que se crean automáticamente es que el token de la entidad de servicio expira y debe renovarse. Sin embargo, si tiene algún problema con la actualización del token, consulte la sección que indica que no se encontró un token de actualización válido.

Si el token ha expirado, puede ver uno de los mensajes de error:

  • AADSTS7000215: Invalid client secret is provided
  • AADSTS7000222: The provided client secret keys for app '***' are expired
  • Invalid client id or client secret

Para renovar el token de acceso de una entidad de servicio creada automáticamente:

  1. Vaya a Configuración del proyecto>Conexiones de servicio y, a continuación, seleccione la conexión de servicio que quiere modificar.

  2. Seleccione Editar en la esquina superior derecha y, después, Comprobar.

  3. Seleccione Guardar.

El token de la entidad de servicio se ha renovado ahora durante tres meses más.

Nota:

Esta operación está disponible incluso si el token de la entidad de servicio no ha expirado.

Asegúrese de que el usuario que realiza la operación tiene los permisos adecuados en la suscripción y el identificador de Microsoft Entra, ya que actualizará el secreto de la aplicación registrada para la entidad de servicio. Para más información, consulte Creación de una conexión de servicio de Azure Resource Manager mediante la seguridad automatizada y ¿Qué ocurre al crear una conexión de servicio de Resource Manager?

No se pudo obtener el JWT mediante el identificador de cliente de la entidad de servicio

Este problema se produce al intentar comprobar una conexión de servicio en la que hay un secreto que ha expirado.

Para solucionar este problema:

  1. Vaya a Configuración del proyecto>Conexiones de servicio y, a continuación, seleccione la conexión de servicio que quiere modificar.

  2. Seleccione Editar en la esquina superior derecha y, a continuación, realice cualquier cambio necesario en la conexión de servicio. El cambio más sencillo y recomendable es agregar una descripción.

  3. Seleccione Guardar para guardar la conexión de servicio.

    Nota:

    Seleccione Guardar. No intente comprobar la conexión de servicio en este paso.

  4. Salga de la ventana de edición de la conexión de servicio y, a continuación, actualice la página de conexiones de servicio.

  5. Seleccione Editar en la esquina superior derecha y, después, seleccione Comprobar.

  6. Seleccione Guardar para guardar la conexión de servicio.

La suscripción de Azure no se transfiere desde la salida de tarea anterior

Si establece la suscripción de Azure de forma dinámica para la canalización de versión y quiere consumir la variable de salida de una tarea anterior, puede que encuentre este problema.

Para resolverlo, asegúrese de que los valores se hayan definido en la sección de variables de la canalización. Después, puede pasar esta variable entre las tareas de la canalización.

¿Qué mecanismos de autenticación se admiten? ¿Cómo funcionan las identidades administradas?

Una conexión de servicio de Azure Resource Manager puede conectarse a una suscripción de Azure mediante una autenticación de la entidad de servicio (SPA) o una autenticación de identidad administrada. Las identidades administradas de los recursos de Azure proporcionan a los servicios de Azure una identidad administrada automáticamente en Microsoft Entra ID. Puede usar esta identidad para autenticarse en cualquier servicio que admita la autenticación de Microsoft Entra sin necesidad de conservar credenciales en el código ni en la conexión de servicio.

Para obtener más información sobre las identidades administradas para máquinas virtuales, consulte la Asignación de roles.

Nota:

Las identidades administradas no se admiten en agentes hospedados por Microsoft. En este escenario, debe configurar un agente autohospedado en una máquina virtual de Azure y configurar una identidad administrada para esa máquina virtual.