Устранение неполадок при переносе ACR

В этой статье приводятся рекомендации по устранению распространенных проблем с передачей ACR. Если вы не выполнили предварительные требования, см. предварительные требования для передачи ACR.

Это важно

ACR Transfer поддерживает артефакты с размером слоя до 8 ГБ из-за технических ограничений. Если передача завершается ошибкой, убедитесь, что все слои артефактов находятся в пределах этого ограничения размера.

Сбои или ошибки при развертывании шаблонов

Проблемы с доступом к Key Vault

Замечание

Проблемы с доступом к Key Vault применяются только при использовании режима доступа к хранилищу маркеров SAS . Если вы используете режим доступа к хранилищу Managed Identity, Key Vault не требуется для доступа к учетной записи хранения.

  • Если развертывание PipelineRun завершается ошибкой 403 Forbidden при доступе к Azure Key Vault, убедитесь, что управляемое удостоверение для конвейера имеет достаточные разрешения.
  • PipelineRun использует управляемое удостоверение ExportPipeline или ImportPipeline для извлечения секрета SAS-токена из Key Vault. ЭкспортPipelines и ImportPipelines подготавливаются с помощью управляемого удостоверения, назначаемого системой или назначаемого пользователем. Это управляемое удостоверение требуется для получения secret get разрешений в Key Vault для чтения секрета маркера SAS. Убедитесь, что в Хранилище ключей добавлена политика доступа для управляемого идентификатора. Дополнительные сведения см. в разделе "Предоставление доступа к политике ExportPipeline identity Key Vault " и предоставление доступа к политике ImportPipeline identity Key Vault.

Проблемы с доступом к хранилищу

Режим доступа к хранилищу токенов SAS

  • Если вы видите ошибку 403 Forbidden в хранилище, скорее всего, у вас возникла проблема с маркером SAS.
  • Возможно, маркер SAS в настоящее время недействителен. Возможно, истек срок действия маркера SAS или после его создания были изменены ключи учетной записи хранения. Убедитесь, что маркер SAS действителен: попытайтесь использовать маркер SAS для проверки подлинности для доступа к контейнеру учетной записи хранения. Например, в новом окне Microsoft Edge в режиме InPrivate вставьте в адресную строку существующую конечную точку BLOB-объекта с последующим маркером SAS или отправьте BLOB-объект в контейнер с использованием маркера SAS с помощью команды az storage blob upload.
  • Возможно, маркер SAS не имеет достаточного числа разрешенных типов ресурсов. Убедитесь, что маркер SAS имеет разрешения на типы ресурсов Service (Служба), Container (Контейнер) и Object (Объект) (srt=sco в маркере SAS).
  • Возможно, маркер SAS не имеет достаточных разрешений. Для экспортируемых конвейеров требуются следующие разрешения для токена SAS: чтение, запись, возможность просматривать и добавить. Для импортных конвейеров требуются следующие разрешения для маркера SAS: чтение, удаление и перечисление. (Разрешение на удаление требуется только в случае, когда для импорта конвейера включен параметр DeleteSourceBlobOnSuccess.)
  • Возможно, маркер SAS не настроен для работы только с протоколом HTTPS. Убедитесь, что маркер SAS настроен для работы только с протоколом HTTPS (spr=https в маркере SAS).

Режим доступа управляемой идентичности к хранилищу

  • Если при использовании режима управляемого удостоверения возникает 403 Forbidden ошибка из хранилища, убедитесь, что у управляемого удостоверения конвейера есть соответствующая роль RBAC (например, Storage Blob Data Contributor), назначенная учетной записи хранилища.
  • При использовании управляемого удостоверения, назначаемого системой , убедитесь, что удостоверение включено в ресурсе конвейера и что назначение роли RBAC было создано для идентификатора субъекта удостоверения, назначаемого системой конвейера.
  • При использовании управляемого удостоверения, назначаемого пользователем , убедитесь, что правильный идентификатор ресурса удостоверения был предоставлен во время создания конвейера и что назначение роли RBAC было создано для удостоверения, назначаемого пользователем.
  • Убедитесь, что вы используете версию API 2025-06-01-preview или более позднюю. Режим доступа к хранилищу управляемой идентификации недоступен в предыдущих версиях API.
  • При использовании режима управляемого удостоверения, поле keyVaultUri в ответе конвейера может отображаться как null или пустая строка — это ожидаемое поведение, а не ошибка.
  • При использовании управляемого удостоверения, назначаемого пользователем, в ответе удостоверения конвейера верхнего уровня principalId и tenantId могут отображаться как null. Фактические сведения о личности находятся в разделе userAssignedIdentities. Это ожидаемое поведение.

Проблемы с экспортом или импортом хранилищ BLOB

  • Возможно, маркер SAS недействителен или у него недостаточно разрешений для запуска указанного экспорта или импорта. См. раздел Проблемы с доступом к хранилищу.
  • При использовании режима доступа к хранилищу управляемого удостоверения убедитесь, что управляемое удостоверение имеет достаточные разрешения RBAC в учетной записи хранения (например, Storage Blob Data Contributor).
  • При многократных запусках экспорта существующий блоб в исходной учетной записи хранения может не перезаписываться. Убедитесь, что параметр OverwriteBlobs задан при выполнении операции экспорта, а маркер SAS (или управляемое удостоверение) обладает достаточными правами.
  • После успешного выполнения импорта, BLOB-объект в целевой учетной записи хранилища может не быть удалён. Убедитесь, что параметр DeleteSourceBlobOnSuccess установлен при выполнении импорта, а маркер SAS (или управляемое удостоверение) имеет достаточные разрешения.
  • BLOB-объект хранилища не был создан или удалён. Убедитесь, что контейнер, указанный при выполнении экспорта или импорта, существует, или что указанный объект BLOB-хранилища существует для запуска импорта вручную.

Проблемы с импортом исходного триггера

  • При использовании режима доступа к хранилищу с маркером SAS маркер должен иметь разрешение "список" для работы импорта исходных триггеров. При использовании режима управляемого удостоверения у управляемого удостоверения должна быть соответствующая роль управления доступом RBAC в учетной записи хранения, которая разрешает перечисление объектов BLOB.
  • Импорт исходного триггера срабатывает только в том случае, если у BLOB-объекта в хранилище время последнего изменения за последние 60 дней.
  • Чтобы функция источника триггера могла импортировать BLOB-объект, он должен иметь допустимое свойство ContentMD5.
  • BLOB-объекты должны иметь метаданные блоба "category":"acr-transfer-blob", чтобы быть импортированы функцией исходного триггера. Эти метаданные добавляются автоматически во время процесса выполнения экспортного конвейера, но могут быть удалены при перемещении из одной учетной записи хранения данных в другую в зависимости от метода копирования.

Проблемы c инструментом AzCopy

Проблемы с передачей артефактов

  • Передаются либо не все артефакты, либо вообще никакие. Проверьте корректность написания артефактов при выполнении экспортных запусков, а также название BLOB-объекта при экспортных и импортных запусках. Убедитесь, что вы передаете не более 50 артефактов.
  • Выполнение конвейера может быть еще не завершено. Экспортная или импортная операция может занять некоторое время.
  • При возникновении других проблем с конвейером предоставьте команде Реестра контейнеров Azure идентификатор корреляции развертывания для выполнения экспорта или импорта.
  • Чтобы создать ресурсы ACR Transfer, такие как ExportPipelines, ImportPipelines и PipelineRuns, пользователь должен иметь, по крайней мере, Container Registry Transfer Pipeline Contributor доступ к подписке ACR. В противном случае они увидят, что авторизация для выполнения передачи запрещена или область недопустимая ошибка.

Проблемы с загрузкой образа в физически изолированной среде

  • Если при попытке извлечения изображения в физически изолированной среде возникают ошибки, связанные с внешними слоями, или предприняты попытки резолвить mcr.microsoft.com, манифест изображения, скорее всего, имеет нераспределяемые слои. Из-за особенностей физически изолированной среды такие образы часто не загружаются. Вы можете подтвердить, что это так, проверив манифест образа на наличие ссылок на внешние реестры. В этом случае необходимо отправить нераспространяемые слои в публичное облако ACR перед запуском конвейера экспорта для этого образа. Сведения о том, как это сделать, см. в статье Как отправлять нераспределяемые слои в реестр?.

Предупреждения режима доступа к хранилищу

  • Если вы видите предупреждение CLI о параметре --storage-access-mode, явно укажите --storage-access-mode SasToken для использования аутентификации SAS Token или --storage-access-mode ManagedIdentity для использования аутентификации Managed Identity для доступа к хранилищу. Всегда указывайте этот параметр при создании конвейеров.
  • Критические изменения в расширении CLI соответствуют расписанию мая и ноября . Расширения могут технически вводить критические изменения за пределами этого расписания, но команда по передаче ACR следует за расписанием мая/ноября.