Google Cloud Storage - 使存储桶中的对象公开可见

Google Cloud Storage - make objects in a bucket publicly viewable

我在 Google 云存储中有一个存储桶和一个网站。人们目前可以通过网站上传到存储桶(使用 Google 身份验证)。

但是,我需要设置它以便任何人都可以查看上传的文件(并且不能修改它们)。

这不可能是 Google 需要验证的内容,因为我们的一些客户的 IT 部门已阻止 Google(无论出于何种原因)并拒绝让步。它可能是从我的网站发出请求的地方,它可能允许它(因为我会在网站的数据库中记录 URL)。

如果不使用 gsutil 也能做到这一点,那就更好了。

您可以在存储桶上设置默认对象 ACL,使上传到该存储桶的所有对象 public 可读。例如,您可以使用 gsutil:

gsutil defacl ch -u AllUsers:R gs://your-bucket

注意上面的命令只影响新写入的对象。如果您的存储桶中已经有需要创建的对象 public,您也可以使用 gsutil 完成此操作:

gsutil acl ch -u AllUsers:R gs://your-bucket/**

关于您关于确保任何人都可以查看文件但不能修改它们的观点:您可以通过确保存储桶 ACL 仅允许您(或您的服务帐户)写入对象而不是所有用户来实现此目的。