Solución de problemas de inicio de sesión del registro

Este artículo le ayuda a solucionar los problemas que pueden surgir al iniciar sesión en un registro de contenedor de Azure.

Síntomas

Puede encontrarse con uno o varios de los siguientes:

  • No se puede iniciar sesión en el registro con docker login, az acr login, o ambos
  • No se puede iniciar sesión en el registro y se recibe el error unauthorized: authentication required o unauthorized: Application not registered with AAD
  • No se puede iniciar sesión en el registro y se recibe el error de la CLI de Azure Could not connect to the registry login server
  • No es posible insertar o extraer imágenes y se recibe el error de Docker unauthorized: authentication required
  • No se puede acceder a un registro mediante az acr login y se recibe un error CONNECTIVITY_REFRESH_TOKEN_ERROR. Access to registry was denied. Response code: 403. Unable to get admin user credentials with message: Admin user is disabled. Unable to authenticate using AAD or admin login credentials.
  • No se puede acceder al registro desde Azure Kubernetes Service, Azure DevOps u otro servicio de Azure
  • No se puede acceder al registro y recibe un error Error response from daemon: login attempt failed with status: 403 Forbidden. Consulte Solución de problemas de red con el registro
  • No se puede acceder a la configuración del registro ni verla en Azure Portal; tampoco se puede administrar el registro mediante la CLI de Azure

Causas

  • Docker no está configurado correctamente en el entorno: solución
  • El registro no existe o el nombre es incorrecto: solución
  • Las credenciales del registro no son válidas: solución
  • El acceso público del registro está deshabilitado. Las reglas de acceso de la red pública en el registro impiden el acceso: solución
  • Las credenciales no están autorizadas para las operaciones de inserción, extracción o de Azure Resource Manager: solución
  • Las credenciales han expirado: solución

Diagnóstico detallado

Ejecute el comando az acr check-helth para tener más información sobre el estado del entorno y el acceso opcional a un registro de destino. Por ejemplo, diagnostique errores de configuración de Docker o problemas de inicio de sesión de Microsoft Entra.

Puede encontrar ejemplos de comandos en Comprobación del mantenimiento de un registro de contenedor de Azure. Si se notifican errores, revise la referencia de error y las siguientes secciones para ver las soluciones recomendadas.

Siga las instrucciones del documento de soporte técnico de AKS si no puede extraer imágenes de ACR en el clúster de AKS.

Nota

Algunos errores de autenticación o autorización también pueden producirse si hay configuraciones de firewall o de red que impiden el acceso al registro. Consulte Solución de problemas de red con el registro.

Posibles soluciones

Comprobar la configuración de Docker

La mayoría de los flujos de autenticación de Azure Container Registry requieren una instalación de Docker local, de forma que pueda autenticarse en el registro para realizar operaciones como insertar y extraer imágenes. Confirme que el cliente y el demonio de la CLI de Docker (motor de Docker) se ejecutan en su entorno. Necesita la versión del cliente de Docker 18.03 o posterior.

Vínculos relacionados:

Especificar el nombre de registro correcto

Al usar docker login, proporcione el nombre completo del servidor de inicio de sesión del registro, por ejemplo, myregistry.azurecr.io. Asegúrese de usar solo letras minúsculas. Ejemplo:

docker login myregistry.azurecr.io

Al usar az acr login con una identidad de Microsoft Entra, primero inicie sesión en la CLI de Azure y, luego, especifique el nombre del recurso de Azure del registro. El nombre del recurso es el nombre que se proporcionó cuando se creó el registro, por ejemplo, myregistry (sin un sufijo de dominio). Ejemplo:

az acr login --name myregistry

Vínculos relacionados:

Confirmar las credenciales para acceder al registro

Compruebe la validez de las credenciales que usa para su escenario o que le proporcionó un propietario del registro. Otros problemas posibles:

  • Si usa una entidad de servicio de Active Directory, asegúrese de utilizar las credenciales correctas en el inquilino de Active Directory:
    • Nombre de usuario: identificador de aplicación de la entidad de servicio (también denominado identificador de cliente)
    • Contraseña: contraseña de la entidad de servicio (también denominada secreto de cliente)
  • Si usa un servicio de Azure, como Azure Kubernetes Service o Azure DevOps, para acceder al registro, confirme la configuración del registro del servicio.
  • Si ejecutó az acr login con la opción --expose-token, que habilita el inicio de sesión del registro sin usar el demonio de Docker, asegúrese de autenticarse con el nombre de usuario 00000000-0000-0000-0000-000000000000.
  • Si el registro está configurado para el acceso de extracción anónimo, las credenciales de Docker existentes almacenadas desde un inicio de sesión de Docker anterior pueden impedir el acceso anónimo. Ejecute docker logout antes de intentar realizar una operación de extracción anónima en el registro.

Vínculos relacionados:

Confirmar que las credenciales están autorizadas para acceder al registro

Confirme los permisos del registro asociados a las credenciales, como el rol AcrPull de Azure para extraer imágenes del registro, o el rol AcrPush para insertar imágenes.

Para acceder a un registro en el portal o administrar el registro mediante la CLI de Azure, se necesita como mínimo el rol Reader o permisos equivalentes para realizar operaciones de Azure Resource Manager.

Si los permisos han cambiado recientemente para permitir el acceso al registro a través del portal, quizá deba probar una sesión de incógnito o privada en el explorador para evitar la memora caché o cookies del explorador obsoletas.

El usuario o el propietario del registro deben tener privilegios suficientes en la suscripción para agregar o quitar asignaciones de roles.

Vínculos relacionados:

Comprobar que las credenciales no hayan expirado

Los tokens y las credenciales de Active Directory pueden expirar después de períodos definidos, lo que impide el acceso al registro. Para habilitar el acceso, es posible que sea necesario restablecer o volver a generar las credenciales.

  • Si usa una identidad de AD individual, una identidad administrada o una entidad de servicio para el inicio de sesión del registro, el token de AD expira al cabo de 3 horas. Vuelva a iniciar sesión en el registro.
  • Si usa una entidad de servicio de AD con un secreto de cliente expirado, el propietario de la suscripción o el administrador de la cuenta deben restablecer las credenciales o generar una nueva entidad de servicio.
  • Si usa un token de ámbito de repositorio, es posible que el propietario del registro tenga que restablecer una contraseña o generar un nuevo token.

Vínculos relacionados:

Pasos detallados para solucionar problemas de conexión a Escritorio remoto a máquinas virtuales Windows en Azure

Si la colección de registros de recursos está habilitada en el Registro, revise el registro ContainerRegistryLoginEvents. Este registro almacena los eventos y el estado de autenticación, incluida la identidad entrante y la dirección IP. Consulte el registro para conocer los errores de autenticación del registro.

Vínculos relacionados:

Pasos siguientes

Si no encuentra aquí una solución para su problema, vea las siguientes opciones.