当前位置: 首页 > 知识库问答 >
问题:

无法使用服务号访问谷歌云存储。服务帐户没有storage.objects.list访问权限

白高超
2023-03-14

我想使用gsutil和服务帐户在命令行上访问Goolge播放报告。有一个云存储URI,格式为gs://bucket\u name,我可以用我的用户帐户列出和下载报告,但不能用我创建的服务帐户。错误总是相同的:

AccessDeniedException: 403 "service-account-name" does not have storage.objects.list access to the Google Cloud Storage bucket.

我已向服务帐户授予了所有必需的权限,因此我不明白为什么用户帐户可以使用,而服务帐户却无法使用。

所以如果你知道如何帮助我,我会非常感谢你。

共有1个答案

冯鸿哲
2023-03-14

云存储桶将仅出现在开发人员控制台中创建它们的项目下。此bucket不是在您拥有权限的项目下创建的,因此它不会出现在开发人员控制台中的任何列表中。

为了授予对您创建的服务帐户的访问权限,您只需将其作为具有只读权限的附加用户添加到控制台,这将授予该服务帐户对bucket的访问权限。有关此问题的更多信息,请参阅本帮助中心文章。

需要记住的是,根据要完成的任务,可能需要向服务帐户添加更多角色。例如,如果要查看财务数据,可能需要为SA设置"财务"角色。

 类似资料:
  • 我正在调查AWS/Google云基础架构系统是否可以混合,我的要求之一是从一个系统到另一个系统的安全和简单的身份验证。目前,我需要从一个Google Cloud VM实例连接到一个受限的AWS S3 bucket。 我的问题通常是:有没有办法做到这一点,什么是最好的方法。我相信每个人都希望有机会使用多个云提供商为他们的基础设施提供高安全性、易用性和维护性。 经过一些研究,我发现唯一可能的方法是通过

  • 我正在工作上传文件在谷歌驱动器与服务帐户,我能够插入文件在谷歌驱动器,但我不能查看该文件在谷歌驱动器。 我是创建abc@gmail.com。用abc@gmail.com创建一个服务帐户。有了P12证书和服务客户端电子邮件id,我可以在驱动器中插入文件。但无法在abc@gmail.com的谷歌驱动器上看到该文件。当fatch从应用程序中的文件列表时,它将显示5个文件,但在我的abc@gmail.co

  • 问题内容: 我们想从Google Storage中的应用服务器中下载文件。对单个存储桶进行只读受限访问很重要,而别无其他。 最初,我使用了普通用户帐户(而非服务帐户),该帐户具有访问Google Cloud项目中所有存储桶的权限,并且一切正常- 我的Java代码打开存储桶并下载文件没有问题。 然后,我想切换为使用专门创建的服务帐户,该帐户只能访问一个存储桶。因此,我创建了一个服务帐户,授予读取单个

  • 我正试图从Python脚本中获得一个服务帐户来在Google Cloud Storage中创建Blob,但我遇到了凭据问题。 如果我将环境变量设置为 然后重新运行脚本。但是,我希望它在创建帐户的脚本的一个实例中运行,并继续在桶中创建必要的文件。如果我知道我的json凭据文件在哪里,我如何访问my_bucket。

  • 我们想从应用服务器的Google存储中下载文件。重要的是对单个bucket进行只读限制访问,而不是其他内容。 起初,我使用了一个普通用户帐户(不是服务帐户),该帐户有权访问我们谷歌云项目中的所有bucket,一切正常——我的Java代码打开bucket并下载文件时没有出现问题。 然后我想切换到使用一个专门创建的服务帐户,该帐户只能访问单个bucket。因此,我创建了一个服务帐户,授予读取单个buc

  • 我有一个G套件域,并用域范围的授权打开一个服务号。服务号在项目中也有所有者身份。我启用gmail应用编程接口并添加范围参考(https://developers.google.com/admin-sdk/directory/v1/guides/delegation“将域范围的权限委托给您的服务号”)我也启用不太安全的应用程序设置。 这是我的代码: 但是当我使用这个令牌尝试列出电子邮件时:GETht