在 GCP 中对 Artifact Registry 设置 IAM 策略时出现权限错误

Permission error when setting IAM policy on Artifact Registry in GCP

我正在遵循 this 指南并卡在第 3 步。当我 运行

gcloud artifacts repositories add-iam-policy-binding [myrepo] \
--location us \
--member=serviceAccount:build-robot@[myproject].iam.gserviceaccount.com \
--role=roles/artifactregistry.writer

我得到 PERMISSION_DENIED: The caller does not have permission

gcloud 运行宁作为 roles/Owner(我自己)所以我绝对有权执行该操作。

我可以为具有 roles/cloudbuild.builds.builder 角色的服务帐户添加一个项目绑定,这很有效(我可以使用 build-robot 服务帐户从工件注册表中推送和拉取图像),但是太过分了允许我希望服务帐户执行的操作。

有时,由于 --location 标记中的指定位置不正确,可能会发生此错误。

检查您授予权限的工件是否在美国,因为您共享的教程假设您是在美国创建的,或者相应地更改位置标签。