Google云端存储ACL不适用于存储桶

时间:2014-08-15 19:39:19

标签: google-app-engine acl google-cloud-storage gsutil

我通过托管在Google云端存储上的电子邮件授予了对某些用户的访问权限。 (比如... jane@gmail.com)。但是,无论何时该人登录Chrome的gmail帐户,他们都无法访问该文件。它只是说许可被拒绝了。发生了什么事?

我使用的链接是这样的:     http://storage.googleapis.com/my-bucket/my-object

并且在我的信息中心上,我已经完全配置了他们的gmail帐户,以便能够访问我的存储桶(甚至是特定文件)。

我也尝试使用gsutil工具,如下:

gsutil acl ch -u jane@gmail.com:R gs://finance-marketing

但我不断收到一些代码401 Login Required消息。我误会了什么吗?特定用户是否必须以某种方式下载gsutil并授予自己访问权限?

1 个答案:

答案 0 :(得分:3)

授予访问权限时,您授予用户使用OAuth2凭据访问该对象的权限。开发人员控制台在幕后执行此身份验证,但Chrome对此不了解,这就是您显示的链接不起作用的原因。

在不授予用户访问项目本身的权限(此时他们可以使用控制台浏览器),您需要用户使用了解OAuth2的工具,例如gsutil。

您还可以通过向控制台本身提供链接来利用控制台的幕后OAuth2,例如: https://console.developers.google.com/m/cloudstorage/b/your-bucket-name/o/your-object-name - 如果用户已登录,这应该可以在Chrome中使用。

最后,通过Chrome访问的另一个选项是使用Cookie验证,如此处所述https://developers.google.com/storage/docs/authentication。然后,您可以提供表单的URL: https://storage.cloud.google.com/your-bucket-name/your-object-name

如果选择gsutil路线,则需要运行:

gsutil config

设置gsutil以使用您的凭据(同样适用于您要授予其访问权限的用户)。