gcloud:用户无法访问服务帐户"默认"

时间:2016-11-01 20:10:38

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

我尝试使用一个已激活的服务帐户作用域来创建和删除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默认服务帐户的权限?

4 个答案:

答案 0 :(得分:17)

与Google支持人员交谈后,问题是该服务帐户没有“服务帐户用户”#34;权限已激活。添加"服务帐户用户"解决了这个错误。

答案 1 :(得分:8)

答案 2 :(得分:0)

对于那些最终尝试使用以下命令执行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. 重新尝试操作。

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

答案 3 :(得分:0)

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