3

我启动了一个启用了服务级别帐户的实例。例如它有 storage-rw 集。我确认该实例具有这些。现在,每当我从实例中运行 gsutil ls gs://my_bucket 时,我都会收到错误消息:失败:未授权客户端。

gcloud auth list 返回

Credentialed accounts:
 - xxxx@developer.gserviceaccount.com (active)

我需要从实例中使用 gcloud sdk,因为我需要 gcutil 和 gsutil 以外的更多组件。

所以我的问题是如何授权 gcloud 使用 xxxx@developer.gserviceaccount.com 帐户,因此仅在实例上指定的权限,而不是对所有内容具有完全权限的个人用户帐户?

4

2 回答 2

6

gcloud CLI 绝对可以处理 Google Compute Engine 服务帐户。如果您在这样做时将其视为“(活动)” $ gcloud auth list,那就足够了。

这里有两件事可能会出错:

  1. 您使用了错误的 gsutil。

    当您安装 Google Cloud SDK 时,它将创建google-cloud-sdk/bin/gsutil,这就是您要运行的那个。做$ which gsutil仔细检查。如果您正在运行google-cloud-sdk/platform/gsutil/gsutil,那就错了,它不会知道 gcloud 可以告诉它的任何事情。

  2. 该帐户无权访问您尝试检查的存储桶。您必须要求存储桶的所有者将其添加到拥有该存储桶的项目中。

资料来源:Google Cloud SDK 工程师

于 2014-03-05T20:43:04.497 回答
-1

请参阅此文档中的“向 Google Compute Engine 进行身份验证”部分:https ://developers.google.com/compute/docs/gcutil/

于 2014-02-28T21:03:21.333 回答