1

我通过托管在 Google Cloud Storage 上的存储桶中的电子邮件向某些用户授予了访问权限。(例如... 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

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

4

1 回答 1

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 以使用您的凭据(您要授予访问权限的用户也是如此)。

于 2014-08-15T21:32:13.660 回答