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

使用allAuthenticatedUsers拒绝谷歌云存储访问

田丰
2023-03-14

我使用Reactjs创建一个网站并将其托管在Firebase上,并使用google cloud函数上的Firebase admin@google cloud/storage设置serviceCount.json,以处理函数。网站有一个

<Error>
    <Code>AccessDenied</Code>
    <Message>Access denied.</Message>
    <Details>
        Anonymous caller does not have storage.objects.get access to 
        bucket/path/aaa.html.
</Details>
</Error>

如何正确访问?


共有1个答案

喻渊
2023-03-14

您的请求未经验证,您是匿名的。确保你有一个谷歌帐户(电子邮件,服务号,...)

您的用户必须是谷歌(或云身份),才能被视为已知/认证。使用Firebase身份验证,您的用户可以通过外部服务(Facebook,Github,...)进行身份验证,但GCS只信任谷歌认证的帐户。

解决方案是为后端创建一个服务帐户。提供对此服务帐户的GCS Bucket访问,并通过后端向用户提供文件。

 类似资料:
  • 我是谷歌API新手,几天来我一直在尝试使用服务帐户将内容上传到谷歌云存储桶。我能够做到这一点,但只能使用从谷歌API游乐场获得的临时访问令牌,我需要能够获得新的访问令牌,以便服务帐户能够始终上载内容。 我一直在尝试以下方法,但我一直被拒绝访问,即使有问题的帐户具有“所有者”权限。 答复: 当我运行时,我得到了正确的项目,该帐户是我的工作电子邮件,也是谷歌云的所有者。 提前谢谢!

  • 我试图设计一个应用程序,从我的谷歌云存储帐户下载适当的声音文件。该应用程序不访问用户帐户,但我自己的帐户。 我的阅读让我相信,最合适的模式是服务账户https://code.google.com/p/google-api-java-client/wiki/OAuth2#Service_Accounts 不幸的是,开发人员决定不提供Android的例子。他们确实提供了一个很好的例子,只是简单的Jav

  • 我正在使用请求将文件上传到谷歌云存储。 请求是: 我得到以下错误作为响应: 我在某处读到,我需要打开谷歌云存储JSON API。是否必须打开谷歌云存储JSON API,或者是否有其他解决方案来修复此错误?

  • 我找到的签名Google云存储Blob的示例和源代码都需要服务帐户凭据文件(私钥是特定的)。例如: https://cloud.google.com/storage/docs/access-control/signing-urls-with-helpers#storage-签名url获取对象python 但是,由于我遵循此处讨论的授权流程,因此我只有OAuth2.0访问令牌(并且我没有能够访问GC