资源上的权限“artifactregistry.repositories.downloadArtifacts”被拒绝

Pri*_*aaS 26 python google-cloud-platform google-cloud-ml docker-push google-cloud-vertex-ai

虽然工件存储库已成功创建,但即使向我在 gcloud cli 上使用的会计授予所有工件权限后,运行 docker Push 将图像推送到 google 工件注册表也会失败并出现权限错误。

推送图片的命令:

docker push us-central1-docker.pkg.dev/project-id/repo-name:v2
Run Code Online (Sandbox Code Playgroud)

错误信息:

The push refers to repository [us-central1-docker.pkg.dev/project-id/repo-name]
6f6f4a472f31: Preparing
bc096d7549c4: Preparing
5f70bf18a086: Preparing
20bed28d4def: Preparing
2a3255c6d9fb: Preparing
3f5d38b4936d: Waiting
7be8268e2fb0: Waiting
b889a93a79dd: Waiting
9d4550089a93: Waiting
a7934564e6b9: Waiting
1b7cceb6a07c: Waiting
b274e8788e0c: Waiting
78658088978a: Waiting
denied: Permission "artifactregistry.repositories.downloadArtifacts" denied on resource "projects/project-id/locations/us-central1/repositories/repo-name" (or it may not exist)


Run Code Online (Sandbox Code Playgroud)

Sco*_*t B 51

我能够重新创建您的用例。当您尝试将图像推送到repository其特定主机名(与其存储库位置关联)尚未添加到凭据帮助程序配置以进行身份​​验证时,就会发生这种情况。您可以参考@DazWilkin 在评论中提供的设置 Docker 身份验证以了解更多详细信息。

在我的示例中,我尝试将图像推送到位置为 的存储库上us-east1,但由于尚未将其添加到凭据助手配置中,因此出现了相同的错误。 在此输入图像描述

在我使用以下命令运行身份验证后(特别是对于 us-east1,因为它是location我的存储库的),图像已成功推送:

gcloud auth configure-docker us-east1-docker.pkg.dev
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

快速提示:当您在控制台中打开所需的存储库,然后单击 时,您可能会获得特定于您的存储库的身份验证命令SETUP INSTRUCTIONS在此输入图像描述