google-cloud-storage - gcloud 安装在具有服务级别帐户权限问题的 gce 实例上

标签 google-cloud-storage google-compute-engine google-cloud-platform gcloud

我启动了一个启用了服务级别帐户的实例。例如,它设置了 storage-rw。我验证了实例有那些。现在,每当我从实例中运行 gsutil ls gs://my_bucket 时,我都会收到错误消息:Failure: unauthorized_client。

gcloud auth 列表返回

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

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

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

最佳答案

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 工程师

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

相关文章:

google-cloud-platform - 使用 GCP 后端访问 Google Colab 中的驱动器时出错

java - 如何使用 Google Cloud Storage Java SDK 获取存储桶中最后创建的文件?

go - 在 Google Cloud Platform 中使用 Buckets 和 Golang

google-compute-engine - compute.instances.host 在实例期间出错

google-compute-engine - 创建新磁盘时,gcloud中的磁盘类型困惑

docker - Google Cloud VM镜像到Docker镜像

python - 使用 Blobstore API 和 Images API 在 GAE 中直接从 GCS 提供图像

google-cloud-platform - 在 Julia 应用程序中使用谷歌云存储

linux - 无法在 Compute Engine 中创建文件夹 - CentOS 6 var/www/html/

google-cloud-platform - Google Cloud Spanner 的外部备份/快照