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

谷歌云存储认证混乱

舒浩邈
2023-03-14

我有一个关于谷歌云存储的新手问题。我希望创建一个网站,人们可以上传文件(在概念上类似于Flickr)并查看它们。我在看谷歌的云存储选项,它看起来很有趣。我在认证过程中有点挂断了。是所有用户都需要谷歌账户,还是我只是误读了?我想我的问题是,我能创建一个每个人都不必注册谷歌账户的网站吗?谢谢你的耐心和帮助

共有2个答案

林英朗
2023-03-14

严格来说,没有必要要求用户登录才能写入您的bucket(例如,我们有一个针对bucket的公共读写封装ACL),但这通常是个坏主意。存储在存储桶中的任何数据最终都将由您承担费用,因此允许任何人在未经身份验证的情况下进行写入会导致大量滥用。

同样,您可以将所有对象公开读取,但随后会收取带宽费用,并且无法对其进行控制(尽管这比公开写入更合理)。

一个更安全的选择是为你的用户代理字节——也就是说,只有你/你的应用程序可以写入你的bucket,而你的用户会将他们的字节交给你。

不过,一般来说,我们支持的唯一身份验证类型是谷歌账户、签名URL和匿名用户。

安星汉
2023-03-14

不,客户没有必要拥有自己的谷歌账户。如果你想说“这些账户可以访问这些数据”,谷歌云存储支持这一点,但你也可以让你的应用程序使用你喜欢的任何逻辑或身份验证方案,根据每个请求授予访问权限。

这通常是通过签名URL实现的。基本上,你会使用你的凭证签署一个非常具体的请求(下载对象X,上传一个名为Y的对象),并将该URL传递给用户供他们使用。签名的URL只在你喜欢的时间内有效(其中一个参数是URL的有效期)。

签名URL的文档在这里:https://developers.google.com/storage/docs/accesscontrol#Signed-URLs

 类似资料:
  • 我建立Android应用程序链接到谷歌云存储。我想允许访问GCS到我的Android应用程序只。 谷歌提供三种安全连接地面军事系统的解决方案: Oauth 2.0(谷歌账户也是如此) 资料来源:https://developers.google.com/storage/docs/authentication?hl=FR 是否有其他通过地面军事系统安全连接的解决方案?我希望通过这种方式在地面军事系统

  • 我是一个谷歌云项目的所有者,里面有一个谷歌云存储桶。我们所有的备份都被移到这个桶中。当我试图检索一些备份时,我得到了一个被拒绝的权限。我什么也做不了,只能把桶列出来。 当我尝试用 CommandException:未能为gs://abc/1234.sql设置acl。请确保您拥有对此资源的所有者角色访问权限。 这毫无意义,因为我是项目和桶的所有者。

  • 我很难让GCS JSON API中的“简单上传”方法在Python中工作。文件(https://developers.google.com/storage/docs/json_api/v1/how-tos/upload#simple)使它看起来微不足道,但我无法通过授权。我不完全理解授权/身份验证/密钥/令牌,但我正在尝试。我一直试图上传的bucket允许完全读写(它们是公共的),我已经生成并尝试

  • 我试图与谷歌云存储使用凭证令牌进行身份验证。在node.jsGCS api文档中找不到关于如何做到这一点的示例。它们指示生成并下载包含私钥的json文件,然后链接到文件系统上的路径,如下所示: 这个很好用。 然而,我不想将我的密钥保存为JSON文件,而是创建凭据并将其保存为环境变量: 我尝试使用服务号HMAC访问密钥从桶的设置、互操作性菜单中获取此令牌。 当我尝试使用上面的身份验证方法从bucke

  • 我有一个具有统一访问控制的Google云存储桶,我在权限中添加了“诱惑者”。它说该对象是公共的,但当我尝试打开链接时,仍会收到此消息:“匿名调用方没有storage.objects.get access to the Google Cloud storage object”错误代码为“401”。我希望任何用户都能够访问该链接。我该怎么做?提前谢谢! 向你问好本

  • 我们一直在使用服务,在(AWS)中,我们意外删除了一个目录,因此我们认为它应该在中,但是经过查看,尽管处于打开状态,但它并不存在。