首页 > 解决方案 > Azure DevOps Pipeline - 构建 Docker 映像并将其推送到具有受限网络访问权限的 Azure 容器注册表

问题描述

我在 Azure DevOps 中有一个管道,它应该构建 Docker 映像并将其推送到 Azure 容器注册表。因此,我有一个服务连接(类型:docker registry)以授权管道推送。如果我删除容器注册表中的网络限制,一切都会好起来的。

一旦我想限制网络访问,它就不再起作用,并且我在 docker 任务的管道输出中得到“拒绝”。我还尝试添加 Azure DevOps IP 范围(13.107.43.0/24、13.107.42.0/24、13.107.9.0/24、13.107.6.0/24)。

知道有什么问题吗?

标签: azuredockerazure-devopsazure-container-registry

解决方案


实际上,当您使用 Pipeline 时,所有任务都在代理中运行。还有代理商的网络,你可以看看这里。如您所见,您需要允许代理的 IP 地址,并且 IP 范围随时间而变化。每周您都需要在组织区域的防火墙规则中添加新的 IP 地址。所以有点麻烦。

与控制访问IP地址相比,我建议您控制ACR凭证的权限。如果一个人没有足够的权限,即使他可以访问ACR,他也不能做需要特殊权限的事情。以下是有关权限 oo ACR 的详细信息。


推荐阅读