我有两个不同的服务帐户。
他们有同样的角色:
my-user@my-computer:~$ service_account_basename=working-account
my-user@my-computer:~$ service_account="$service_account_basename@$project.iam.gserviceaccount.com"
my-user@my-computer:~$ gcloud projects get-iam-policy "$(gcloud config get-value project)" \
> --flatten="bindings[].members" \
> --format='table(bindings.role)' \
> --filter="bindings.members:$service_account"
ROLE
roles/compute.instanceAdmin.v1
roles/compute.securityAdmin
roles/iam.serviceAccountUser
roles/storage.admin
roles/storage.objectViewermy-user@my-computer:~$ service_account_basename=broken-account
my-user@my-computer:~$ service_account="$service_account_basename@$project.iam.gserviceaccount.com"
my-user@my-computer:~$ gcloud projects get-iam-policy "$(gcloud config get-value project)" \
> --flatten="bindings[].members" \
> --format='table(bindings.role)' \
> --filter="bindings.members:$service_account"
ROLE
roles/compute.instanceAdmin.v1
roles/compute.securityAdmin
roles/iam.serviceAccountUser
roles/storage.admin
roles/storage.objectViewer一个帐户可以很好地列出桶:
my-user@my-computer:~$ service_account_basename=working-account
my-user@my-computer:~$ service_account="$service_account_basename@$project.iam.gserviceaccount.com"
my-user@my-computer:~$ key_file="$service_account_basename.json"
my-user@my-computer:~$ gcloud iam service-accounts keys create "$key_file" --iam-account "$service_account"
created key [8ead916d3d004522aa6e51608d42e85e] of type [json] as [working-account.json] for [working-account@my-project.iam.gserviceaccount.com]
my-user@my-computer:~$ gcloud auth activate-service-account --key-file "$key_file"
Activated service account credentials for: [working-account@my-project.iam.gserviceaccount.com]
my-user@my-computer:~$ gsutil ls
gs://bucket-1
gs://bucket-2
gs://bucket-3
gs://bucket-4
gs://bucket-5..。如果另一种失败:
my-user@my-computer:~$ service_account_basename=broken-account
my-user@my-computer:~$ service_account="$service_account_basename@$project.iam.gserviceaccount.com"
my-user@my-computer:~$ key_file="$service_account_basename.json"
my-user@my-computer:~$ gcloud iam service-accounts keys create "$key_file" --iam-account "$service_account"
created key [9930c9c6ded24e87a44633aaf35f5ae5] of type [json] as [broken-account.json] for [broken-account@my-project.iam.gserviceaccount.com]
my-user@my-computer:~$ gcloud auth activate-service-account --key-file "$key_file"
Activated service account credentials for: [broken-account@my-project.iam.gserviceaccount.com]
my-user@my-computer:~$ gsutil ls
AccessDeniedException: 403 broken-account@my-project.iam.gserviceaccount.com does not have storage.buckets.list access to project 533113984589.错误消息引用的项目是我的项目,因为打印出来的数字(533113984589)是我的项目编号:
my-user@my-computer:~$ gcloud projects describe my-project --format="get(projectNumber)"
533113984589有人知道出了什么问题吗?
发布于 2019-01-22 02:57:04
https://serverfault.com/questions/944024
复制相似问题