Azure DevOps Pipelines pu sh Docker изображение в реестр контейнеров отказано - PullRequest
1 голос
/ 08 мая 2020

В настоящее время я пытаюсь использовать Azure Pipelines для создания образа Docker и sh его в реестре контейнеров Azure. У меня есть настройка подключения к службе, но сборка не выполняется с сообщением «отказано». Я подозреваю, что причина этого в том, что мой реестр контейнеров настроен так, чтобы разрешать только "выбранные сети" и ограничен несколькими IP-адресами. Я подтвердил это, временно разрешив все сети, а затем успешно построил / pu sh.

Есть ли способ получить Azure Pipelines для успешного pu sh a Docker образа в Контейнер Реестр, разрешающий только выбранные сети? Я думал, что это было то, для чего было соединение службы?

Selected Networks image

Ответы [ 2 ]

2 голосов
/ 11 мая 2020

Боюсь, ты прав. Возможная причина заключается в том, что вы устанавливаете его как избранные сети и не добавляете IP-адрес DevOps, чтобы разрешить трафик c. Насколько мне известно, IP-адрес DevOps со временем будет меняться, здесь - это описание:

В некоторых настройках вам может потребоваться знать диапазон IP-адресов, где агенты развернуты. Например, если вам нужно предоставить размещенным агентам доступ через брандмауэр, вы можете использовать sh, чтобы ограничить этот доступ по IP-адресу. Поскольку Azure DevOps использует глобальную сеть Azure, диапазоны IP-адресов со временем меняются.

Таким образом, вам нужно разрешить диапазон IP-адресов, а не отдельный IP-адрес. И это небезопасный способ. По моему опыту, самый безопасный способ - контролировать разрешение доступа для всех людей, а не для сетей. Вы можете создать несколько субъектов-служб и предоставить им разные роли для управления разрешениями. Например, используйте роль AcrPull, у нее есть разрешение только на извлечение изображений. Подробнее о ролях здесь . Вы даже можете контролировать разрешение в репозиториях, здесь - это еще сообщение об этом.

Кстати, брандмауэр для выбора сетей, я думаю, он больше подходит для ресурсов внутри Azure, для этого вы можете использовать конечную точку , чтобы достичь этого.

1 голос
/ 08 мая 2020

Убедитесь, что ваше подключение к услуге имеет AcrPush разрешение .

Вы можете проверить или добавить, если необходимо здесь:

enter image description here

(вы найдете свое соединение под именем «ваша-организация-ваш-проект»)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...