Compartir a través de


Solución de problemas de transferencia de ACR

Errores o fallos de la implementación de plantillas

Problemas al acceder a Key Vault

  • Si la implementación de pipelineRun produce el error 403 Forbidden al acceder a Azure Key Vault, compruebe que la identidad administrada de la canalización tenga los permisos adecuados.
  • Un objeto pipelineRun usa la identidad administrada exportPipeline o importPipeline para capturar el secreto del token de SAS de Key Vault. Los objetos exportPipeline e importPipeline se aprovisionan con una identidad administrada asignada por el sistema o asignada por el usuario. Esta identidad administrada es necesaria para tener permisos secret get en Key Vault y leer el secreto del token de SAS. Asegúrese de que se haya agregado una directiva de acceso para la identidad administrada a Key Vault. Para más información, consulte Concesión del acceso a la directiva keyvault de identidad de ExportPipeline y Concesión del acceso a la directiva keyvault de identidad de ImportPipeline.

Problemas al acceder al almacenamiento

  • Si ve un error 403 Forbidden del almacenamiento, es probable que tenga un problema con el token de SAS.
  • Es posible que el token de SAS no sea válido. Es posible que el token de SAS haya expirado o que las claves de la cuenta de almacenamiento hayan cambiado desde que se creó el token de SAS. Compruebe que el token de SAS es válido, para lo que debe intentar usarlo para autenticarse para acceder al contenedor de la cuenta de almacenamiento. Por ejemplo, coloque un punto de conexión de blob existente, seguido del token de SAS, en la barra de direcciones de una nueva ventana InPrivate de Microsoft Edge, o bien cargue un blob en el contenedor con el token de SAS mediante az storage blob upload.
  • Es posible que el token de SAS no tenga suficientes tipos de recursos permitidos. Compruebe que se han concedido permisos al token de SAS para Servicio, Contenedor y Objeto en Tipos de recursos permitidos (srt=sco en el token de SAS).
  • Es posible que el token de SAS no tenga suficientes permisos. En el caso de las canalizaciones de exportación, los permisos de token de SAS necesarios son Lectura, Escritura, Lista y Agregar. En el caso de las canalizaciones de importación, los permisos de token de SAS necesarios son Lectura, Eliminación y Lista (el permiso de eliminación solo es necesario si la canalización de importación tiene la opción DeleteSourceBlobOnSuccess habilitada).
  • Es posible que el token de SAS no esté configurado para funcionar solo con HTTPS. Compruebe que el token de SAS está configurado para funcionar solo con HTTPS (spr=https en el token de SAS).

Problemas con la exportación o importación de blobs de almacenamiento

  • Puede que el token de SAS no sea válido o que no tenga permisos suficientes para la ejecución de exportación o importación especificada. Consulte Problemas al acceder al almacenamiento.
  • El blob de almacenamiento existente en la cuenta de almacenamiento de origen no se puede sobrescribir durante varias ejecuciones de exportación. Confirme que la opción OverwriteBlob está establecida en la ejecución de exportación y que el token de SAS tiene permisos suficientes.
  • No se puede eliminar el blob de almacenamiento de la cuenta de almacenamiento de destino después de la ejecución correcta de la importación. Confirme que la opción DeleteBlobOnSuccess está establecida en la ejecución de importación y que el token de SAS tiene permisos suficientes.
  • Blob de almacenamiento no creado o eliminado. Confirme que el contenedor especificado en la ejecución de exportación o importación existe o que el blob de almacenamiento especificado para la ejecución de importación manual existe.

Problemas con las importaciones de desencadenadores de origen

  • El token de SAS debe tener el permiso de enumeración para que las importaciones del desencadenador de origen funcionen.
  • Las importaciones del desencadenador de origen solo se activarán si el blob de almacenamiento tiene una hora de última modificación en los últimos 60 días.
  • El blob de almacenamiento debe tener una propiedad ContentMD5 válida para que la característica Desencadenador de origen pueda importarlo.
  • El blob de almacenamiento debe tener los metadatos de blob "category":"acr-transfer-blob" para que la característica Desencadenador de origen pueda importarlo. Estos metadatos se agregan automáticamente durante una ejecución de canalización de exportación, pero se pueden quitar cuando se mueven de una cuenta de almacenamiento a otra en función del método de copia.

Problemas de AzCopy

Problemas de transferencia de artefactos

  • No se transfieren todos los artefactos o ninguno. Confirme la ortografía de los artefactos en la ejecución de la exportación y el nombre del blob en las ejecuciones de exportación e importación. Confirme que está transfiriendo un máximo de 50 artefactos.
  • Es posible que no se haya completado la ejecución de canalización. Una ejecución de exportación o importación puede tardar algún tiempo.
  • Para otros problemas de canalización, proporcione el id. de correlación de implementación de la ejecución de la exportación o la ejecución de la importación al equipo de Azure Container Registry.
  • Para crear recursos de transferencia de ACR como exportPipelines, importPipelines y pipelineRuns, el usuario debe tener al menos acceso de colaborador en la suscripción de ACR. De lo contrario, verán la autorización para realizar la transferencia denegada o el ámbito no es válido.

Problemas al extraer la imagen en un entorno físicamente aislado

  • Si ve errores relacionados con las capas externas o intenta resolver mcr.microsoft.com al intentar extraer una imagen en un entorno físicamente aislado, es probable que el manifiesto de imagen tenga capas no redistribuibles. Debido a la naturaleza de un entorno físicamente aislado, estas imágenes no se pueden extraer a menudo. Puede confirmar que este es el caso comprobando el manifiesto de la imagen para las referencias a registros externos. En tal caso, tendrá que enviar las capas no redistribuibles al ACR de la nube pública antes de implementar una canalización de exportación: ejecute la imagen. Para obtener instrucciones sobre cómo hacerlo, consulte ¿Cómo enviar capas no redistribuibles a un registro?