繁体   English   中英

Azure DevOps Pipelines 将 Docker 映像推送到 Container Registry 被拒绝

[英]Azure DevOps Pipelines push Docker image to Container Registry Denied

我目前正在尝试使用 Azure Pipelines 来构建 Docker 映像并将其推送到 Azure 容器注册表。 我有一个服务连接设置,但构建失败并出现“拒绝”。 我怀疑这是因为我的 Container Registry 设置为仅允许来自“选定网络”并且仅限于几个 IP。 我通过暂时允许所有网络验证了这一点,然后构建/推送成功。

有什么方法可以让 Azure 管道成功将 Docker 映像推送到只允许选定网络的容器注册表? 我以为这就是服务连接的用途?

选定的网络图像

恐怕你是对的。 可能的原因是您将其设置为 select 网络,并且没有添加 DevOps 的 IP 地址以允许流量。 据我所知,DevOps 的 IP 地址会随着时间的推移而变化, 这里是描述:

在某些设置中,您可能需要知道部署代理的 IP 地址范围。 例如,如果您需要通过防火墙授予托管代理访问权限,您可能希望通过 IP 地址限制该访问。 由于 Azure DevOps 使用 Azure 全球网络,IP 范围随时间变化。

因此,您需要允许 IP 范围,而不是单个 IP 地址。 这不是一种安全的方式。 嗯,根据我的经验,最安全的方法是控制所有人的访问权限,而不是网络。 您可以创建多个服务主体并授予它们不同的角色来控制权限。 例如,使用角色AcrPull ,它只有拉取图像的权限。 有关角色的更多详细信息,请点击此处 您甚至可以控制存储库的权限, 这里有更多关于它的消息。

顺便说一下,防火墙到select这个网络,我觉得它更适合Azure里面的资源,这个可以用endpoint来实现。

请确保您的服务连接具有AcrPush 权限

如果需要,您可以在此处查看或添加:

在此处输入图像描述

(您会在名称“您的组织-您的项目”下找到您的连接)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM