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

gcloud 身份验证列表返回

Credentialed accounts:
 - [email protected] (active)

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

所以我的问题是如何授权 gcloud 使用 [email protected] 帐户,从而仅在实例上指定权限,而不是我的个人用户帐户,该帐户对所有内容都具有完全权限?

最佳答案

gcloud CLI 肯定会处理 Google Compute Engine 服务帐户。如果您在执行 $ gcloud auth list 时将其视为“(事件)”,那应该就足够了。

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

  • 您使用了错误的 gsutil。

    当您安装 Google Cloud SDK 时,它会创建 google-cloud-sdk/bin/gsutil ,这就是您想要运行的代码。做 $ which gsutil 来仔细检查。如果您正在运行 google-cloud-sdk/platform/gsutil/gsutil ,那是错误的,它不会知道 gcloud 可以告诉它的任何事情。
  • 该账户无权访问您尝试检查的存储桶。您必须要求存储桶的所有者将其添加到拥有该存储桶的项目中。

  • 来源:Google Cloud SDK 工程师

    关于google-cloud-storage - gcloud 安装在具有服务级别帐户权限问题的 gce 实例上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22082051/

    10-15 20:20