Azure 容器注册表 - 401 未经授权的错误

时间:2021-05-19 06:45:17

标签: azure authentication azure-container-registry

我一直在尝试将我的 docker 映像推送到我组织的 Azure 容器注册表中,但它一次又一次地失败并出现 401 错误。我知道 401 错误与身份验证/授权有关,但我尝试同时提供“Azure 服务主体 ID”(具有对 ACR 的贡献者访问权限)和“Azure 容器注册表管理员访问密钥” >”。最终结果是一样的,得到 401 未经授权的错误。

我认为 ACR 的“贡献者”角色足以发挥作用,因为它几乎拥有所有特权。

另外让我更困惑的是,即使我使用 ACR 管理员访问密钥,我相信它会拥有所有足够的权限,也会出现 401 错误。

我尝试使用自己的 azure 帐户复制相同的场景,但没有收到此错误。我尝试了所有可能性,一切都在我的帐户中发挥了作用。

我是否遗漏了什么或哪里出错了?

1 个答案:

答案 0 :(得分:0)

似乎是有线的。通常,管理员访问密钥拥有管理 ACR 的所有权限。所以它必须具备将图像推入ACR的能力。

通常,获得身份验证的可能原因如下:

  1. 服务主体没有来自 ACR 的足够权限,这包括分配错误的角色或错误的范围。因此,如果角色和范围正确,您可以检查角色分配。
  2. 不要使用正确的服务器 URL 登录 ACR,因此这需要您使用正确的服务器 URL 和凭据再次登录
  3. 图片名称和标签与您有权推送的ACR不匹配,因此您需要检查图片名称是否正确。例如,myacr.azurecr.io/image:tag