如何将服务帐户与 gsutil 结合使用,以便从 CS - DCM Google 私有存储桶下载

How to use Service Accounts with gsutil, for downloading from CS - DCM Google private owned bucket

一个项目,一个 Google 组已按照 DCM 指南设置用于控制数据访问:https://support.google.com/dcm/partner/answer/3370481?hl=en-GB&ref_topic=6107456

该项目不包含我想要访问的存储桶(在存储-> 云存储下),因为它是 Google 拥有的存储桶,对此我只有只读访问权限。我可以在浏览器中看到存储桶,因为我可以使用我的 Google 帐户(因为我是 ACL 的成员)。

我使用 gsutil 工具配置了使用

与私有存储桶链接的项目的服务帐户
gsutil config -e

但是当我尝试使用

访问该私有存储桶时
gsutil ls gs://<bucket_name>

我总是收到 403 错误,我不知道为什么会这样。以前有人试过吗?欢迎提出任何想法。

由于存储桶是私有的并且在项目 A 中,您的项目(项目 B)中的服务帐户将无权访问。您的项目(项目 B)的服务帐户需要添加到该存储桶的 ACL。

请注意,由于您可以作为用户以读取权限访问此存储桶,因此您可以 运行 gsutil config 将您的用户凭据授予 gsutil 并使用它来读取存储桶。