【问题标题】:Google Cloud Storage - Bucket permission within applicationGoogle Cloud Storage - 应用程序内的存储桶权限
【发布时间】:2013-11-15 16:57:21
【问题描述】:

我正在使用 GAE Java 开发一个 Web 应用程序,并使用 Google Cloud Storage 来存储图像。要求是:

  1. Facebook 身份验证。当用户通过身份验证时,我希望将他的个人资料图片上传到 GCS。
  2. 我存储此类图像的存储桶显然不应允许完全用户访问,而只允许读取访问

我设法使用 Spring Social 获取 FB 个人资料图片并上传到 GCS,但前提是我将所有用户设置为该存储桶的所有者或作者。 如何仅在应用程序内授予写入权限以上传图像,但将存储桶 ACL 保留为所有用户的 READ_ONLY?

【问题讨论】:

    标签: facebook google-app-engine google-cloud-storage


    【解决方案1】:

    考虑使用signed URLs。与其授予匿名用户写入存储桶的权限,不如为他们提供一个签名 URL,允许他们将一个特定对象写入存储桶。

    【讨论】:

    • 签名的网址可以在过期前使用一段时间。我想要做的是将存储桶设置为只读并在我的请求处理程序中进行某种授权。
    • 您可以让您的处理程序根据您的应用请求返回一个签名的 URL。或者,个人资料图片非常小。您总是可以让用户直接将图像上传到您的处理程序并让您的处理程序存储图片。
    【解决方案2】:

    我设法解决了这个问题。我刚刚在应用程序设置下的 App Engine 控制台中复制了应用程序服务帐户名称,并将其作为新的“所有者”用户添加到存储桶(存储桶权限)。所有其他用户只是“只读”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-12
      • 2023-02-21
      • 2020-12-03
      • 2020-11-17
      • 2018-06-18
      • 1970-01-01
      • 2021-05-01
      • 2020-11-11
      相关资源
      最近更新 更多