我启动了一个启用了服务级别帐户的实例。例如,它设置了 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
时将其视为“(事件)”,那应该就足够了。
这里有两件事可能会出错:
您使用了错误的 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/