URL хранилища BLOB-объектов Azure Pipelines - PullRequest
0 голосов
/ 21 октября 2019

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

К сожалению, у нас есть одна проблема с нашими серверами, которые, с одной стороны, защищены брандмауэром (исходящий интернет-трафик в основном заблокирован) и включеныС другой стороны, они входят в группы развертывания Azure DevOps. Как только мы создадим новый выпуск и начнем развертывание на этапе, процесс загрузки артефактов завершится неудачно, поскольку серверу не разрешено загружать артефакты из хранилища BLOB-объектов, где хранятся артефакты.

Warning, https://elgvsblobprodsu6weus10.blob.core.windows.net/dbcXXXXXXX/XXXX
Try 1/5, retryable exception caught. Retrying in 00:00:01. Details: 
2019-10-21T19:59:02.7071549Z No LastRequestResponse on exception HttpRequestException: An error occurred while sending the request. System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.Http.WinHttpException: Error 12029 calling WINHTTP_CALLBACK_STATUS_REQUEST_ERROR, 'A connection with the server could not be established'.
2019-10-21T19:59:02.7071940Z    at System.Threading.Tasks.RendezvousAwaitable`1.GetResult()
2019-10-21T19:59:02.7072055Z    at System.Net.Http.WinHttpHandler.StartRequest(WinHttpRequestState state)
2019-10-21T19:59:02.7072112Z    --- End of inner exception stack trace ---
2019-10-21T19:59:02.7074791Z    at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
2019-10-21T19:59:02.7074976Z    at Microsoft.VisualStudio.Services.Common.TaskCancellationExtensions.EnforceCancellation[TResult](Task`1 task, CancellationToken cancellationToken, Func`1 makeMessage, String file, String member, Int32 line)
2019-10-21T19:59:02.7075133Z    at Microsoft.VisualStudio.Services.BlobStore.WebApi.DedupStoreHttpClient.<>c__DisplayClass56_0.<<GetRedirectResponseAsync>b__0>d.MoveNext()
2019-10-21T19:59:02.7075213Z --- End of stack trace from previous location where exception was thrown ---
2019-10-21T19:59:02.7075312Z    at Microsoft.VisualStudio.Services.Content.Common.AsyncHttpRetryHelper`1.InvokeAsync(CancellationToken cancellationToken)

Итакесть ли список конечных точек, которые используются для хранения артефактов конвейера Azure, которые могут быть добавлены в нашу политику брандмауэра, нужно ли вообще исключать *. blob.core.windows.net или есть какие-то другиеподход?

К сожалению, документы Microsoft предоставляют только список URL-адресов, которые необходимы для установления соединения с DevOps Azure в целом, но не с хранилищем артефактов.

1 Ответ

1 голос
/ 22 октября 2019

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

Конечно, да. Мы храним эти данные в соответствующем региональном центре данных Azure.

Загрузите файл Json по этой ссылке , список файлов IP диапазона различных регионов. Но вот одна важная вещь, на которую нужно обратить внимание. В целях безопасности мы регулярно обновляем этот диапазон IP-адресов. (Кроме того, регулярно публикуем его для пользователей)

Если вы выбираете такой подход для достижения своих целей, вам необходимо регулярно загружать файл JSONзатем внесите необходимые обновления в правила доступа :

[! ВАЖНО] Диапазоны IP-адресов для служб Azure могут измениться, а обновления публикуются еженедельно. Регулярно загружайте файл JSON и вносите необходимые изменения в свои правила доступа. Если ваш сценарий предусматривает настройку правил группы безопасности сети в виртуальной сети Azure для доступа к реестру контейнеров Azure, используйте вместо этого тег службы AzureContainerRegistry.

См. Этот документ: Разрешить доступ по диапазону IP-адресов .

Но, если вы считаете, что этот метод неудобен для вас и вашей команды. Вы используете другой уникальный метод: разрешите доступ ко всем учетным записям хранилища BLOB-объектов Azure, используя подстановочный знак *.blob.core.windows.net.

...