Azure Pipelines Blob存储URL的

Azure Pipelines Blob存储URL的,azure,azure-devops,azure-pipelines,Azure,Azure Devops,Azure Pipelines,我们使用Azure DevOps在Azure中构建和部署我们的应用程序和服务。现在,我们也正在将内部部署切换到Azure DevOps 不幸的是,我们的服务器有一个问题,一方面受到防火墙的保护,另一方面传出的internet流量大部分被阻止,另一方面是Azure DevOps部署组的一部分。一旦我们创建一个新版本并开始部署到某个阶段,工件下载过程就会失败,因为不允许服务器从存储工件的blob存储中下载工件 Warning, https://elgvsblobprodsu6weus10.blob.

我们使用Azure DevOps在Azure中构建和部署我们的应用程序和服务。现在,我们也正在将内部部署切换到Azure DevOps

不幸的是,我们的服务器有一个问题,一方面受到防火墙的保护,另一方面传出的internet流量大部分被阻止,另一方面是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文档只提供了与Azure DevOps建立连接所需的URL列表,而没有提供与工件存储的URL列表

是否有用于存储Azure的端点列表 可以添加到防火墙策略的管道工件

当然可以。我们将这些数据存储在相应地区的Azure数据中心中

在此下载Json文件,该文件列出了不同地区的IP地址范围。但是,这里有一件重要的事情你需要注意。为了安全起见,我们定期更新这些IP地址范围。此外,定期向用户发布

如果您选择这种方法来实现您想要的,您需要定期下载JSON文件,然后在您的访问规则中进行必要的更新:

[!重要信息]Azure服务的IP地址范围可以更改,并且 更新每周发布一次。定期下载JSON文件,然后 在访问规则中进行必要的更新。如果您的场景涉及 在Azure虚拟网络中配置网络安全组规则 要访问Azure容器注册表,请使用AzureContainerRegistry 而不是服务标签

请参阅此文档:


但是,如果您认为这种方法对您和您的团队不方便。另一个独特的方法是您现在使用的方法:允许使用通配符*.blob.core.windows.net访问所有Azure blob存储帐户

谢谢你提供的信息。你能告诉我json中的哪些服务必须允许通过防火墙吗?@Mike1991,你能告诉我你的组织在SO论坛的哪个区域托管吗?因为这里是一个开放的论坛,如果你担心安全问题,我可以给你一个安全的方法来分享给我。事实上,最好告诉我你的组织名称,然后我可以从我们的backend@Mike1991,您应该关注的服务是Azure存储。但由于有不同的数据中心区域位置。如果您只是想允许您使用的数据中心,您最好共享一些组织信息。您能为我提供一个安全的方法,然后我将共享我的组织名称吗?@Mike1991我是azure devops团队的工程师,如果需要azure的一些信息,将部分受限于获取一些关键根信息。我可以先帮你。如果还不够,需要azure团队参与,那么您可以提高商业票证。