Google cloud platform 服务帐户读/写Google容器注册表所需的最低权限/角色是什么?

Google cloud platform 服务帐户读/写Google容器注册表所需的最低权限/角色是什么?,google-cloud-platform,drone,google-container-registry,Google Cloud Platform,Drone,Google Container Registry,我正在尝试为一个无人机实例创建一个服务角色,该实例构建一个docker映像并将其推送到Google容器注册表 它与角色project>owner(大概project>editor也可以工作)。我无法找到一种方法来限制它,只允许它推送到GCR,或者找出最小权限是什么 没有权限只允许它推送到GCR。允许推送的最低权限为“存储对象创建者”。该权限还允许用户根据角色名称向谷歌云存储写入内容 更新:根据当前的实现,允许推送的正确最低权限(IAM角色)是“存储管理员”。这是有道理的,不幸的是,当使用带有“存

我正在尝试为一个无人机实例创建一个服务角色,该实例构建一个docker映像并将其推送到Google容器注册表

它与角色
project>owner
(大概
project>editor
也可以工作)。我无法找到一种方法来限制它,只允许它推送到GCR,或者找出最小权限是什么


没有权限只允许它推送到GCR。允许推送的最低权限为“存储对象创建者”。该权限还允许用户根据角色名称向谷歌云存储写入内容


更新:根据当前的实现,允许推送的正确最低权限(IAM角色)是“存储管理员”。

这是有道理的,不幸的是,当使用带有“存储>对象创建者”角色的服务密钥时,我仍然被拒绝了权限。“Project>Editor”可以工作,但是限制JSON键的范围会更好。当你推到GCR时,你需要创建一个bucket吗?例如,在你的图像名称中,gcr.io/foo/bar:some_标记,当你尝试推送时,“foo”是一个新的bucket(或者,换句话说,当你的服务角色尝试推送gcr.io/foo/some_other_标记时,你是否已经有gcr.io/foo/some_-other_图像)?是的,回购存在。标签显然没有,但我怀疑这有什么区别。也许我应该三思而后行,因为你说的很有道理,所以我可能错过了一些愚蠢的事情。我可以问一下,您是否测试过服务密钥,以确保它具有此权限并可以推送?嗨,在我们花时间调查其他可能性之前,为了确保我们没有遗漏任何明显的内容,当您说“回购存在”时,回购是否属于同一个域?也就是说,如果你已经有了gcr.io/foo/bar:latest,但是你没有任何gcr.io/foo/xxx图像(其中域可以是美国、亚洲、欧盟),那么当你想要推送gcr.io/foo/xxx图像时,仅仅拥有Storage.Object.creator是不够的,因为在幕后需要为这个域创建一个新的专用存储桶,在这种情况下,您需要成为项目编辑器或项目所有者。是的,始终使用eu.gcr.io-对象创建者的权限被拒绝。我会在某个时候测试Storage>Admin(有点忙,不停地回到这个ATM机),然后给你回复。感谢您的帮助,如果您想到了对象创建者不够的原因,请告诉我。