【问题标题】:gcloud: The user does not have access to service account "default"gcloud:用户无权访问服务帐户“默认”
【发布时间】:2017-03-15 01:15:24
【问题描述】:

我尝试使用已激活的服务帐户来创建和删除 gcloud 容器集群(k8s 集群),使用以下命令:

gcloud config configurations create my-svc-account \
   --no-activate \
   --project myProject


gcloud auth activate-service-account my-svc-account@my-project.iam.gserviceaccount.com \
   --key-file=/path/to/keyfile.json \
   --configuration my-svc-account

gcloud container clusters create a-new-cluster \
   --configuration my-svc-account \
   --project= my-project
   --zone "my-zone"

我总是收到错误:

...ERROR: (gcloud.container.clusters.create) ResponseError: code=400, message=The user does not have access to service account "default".

如何授予 my-svc-account 对 GKE 的默认服务帐号的访问权限?

【问题讨论】:

  • 请注意,gcloud config configurations create my-svc-account --no-activate --project myproject 不会在创建的配置中设置项目。事实上 --project 并没有做任何事情。

标签: google-cloud-platform gcloud service-accounts


【解决方案1】:

与 Google 支持人员交谈后,问题是服务帐户没有激活“服务帐户用户”权限。添加“服务帐户用户”可解决此错误。

【讨论】:

  • 干杯。这绝对做到了。唯一需要注意的是,该角色现在称为“服务帐户用户”。
  • 有关上述观点的更多信息,请参阅cloud.google.com/iam/docs/…
【解决方案2】:

【讨论】:

  • 对我来说很好,我的情况是,我从 Google Cloud Build 调用 ssh 到 Google Engine VM Instance
【解决方案3】:

对于那些最终在这里尝试使用以下命令执行Import of Firebase Firestore documents 的人:

gcloud beta firestore import --collection-ids='collectionA','collectionB' gs://YOUR_BUCKET

我通过以下操作解决了这个问题:

  1. Google Cloud Console Storage Bucket Browser,将完成操作的服务帐户添加到角色为Storage Admin成员列表中。
  2. 重新尝试操作。

为了安全起见,我在操作完成后撤销了角色,但这是可选的。

【讨论】:

    【解决方案4】:

    为服务帐户添加了服务帐户用户角色,它对我有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      • 2015-07-30
      • 1970-01-01
      • 2019-09-18
      相关资源
      最近更新 更多