问题描述
我在Azure DevOps中有一个管道,该管道应该构建并将Docker映像推送到Azure容器注册表。因此,为了授权推送管道,我准备了一个服务连接(类型:docker注册表)。如果我删除了容器注册表中的网络限制,一切都会很好。
一旦我想限制网络访问,它就不再起作用,并且在docker任务的管道输出中被“拒绝”。我还尝试添加Azure DevOps IP范围(13.107.43.0/24、13.107.42.0/24、13.107.9.0/24、13.107.6.0/24)。
有什么想法吗?
解决方法
实际上,当您使用管道时,所有任务都在代理中运行。以及代理商的网络,您可以看看here。如您所见,您需要允许代理的IP地址,并且IP范围会随时间变化。每周您都需要在组织区域的防火墙规则中添加新的IP地址。所以有点麻烦。
与控制访问IP地址相比,建议您控制ACR凭据的许可。如果一个人没有足够的权限,则即使他可以访问ACR,也无法执行需要特殊权限的操作。 Here是有关ACR权限的详细信息。