Я столкнулся с проблемой при попытке добавить метаданные к экземпляру Compute Engine из себя (изнутри экземпляра).
В IAM я создал специальную учетную запись службы с ролью Compute Instance Admin (v1) test-compute@test.iam.gserviceaccount.com
При создании экземпляра виртуальной машины я указываю предыдущую учетную запись службы: test-compute@test.iam.gserviceaccount.com
При подключении с помощью ssh к виртуальной машине я вижу, что для учетной записи установлена правильная учетная запись службы.
gcloud config list
[core]
account = test-compute@test.iam.gserviceaccount.com
disable_usage_reporting = True
project = test-project
Your active configuration is: [default]
Затем, когда я пытаюсь добавить метаданные в свою ВМ (из самой ВМ), я получаю эту ошибку.
gcloud compute instances add-metadata --metadata "start=true" --zone europe-
west1-b <INSTANCE_NAME>
ERROR: (gcloud.compute.instances.add-metadata) Could not fetch resource:
- The user does not have access to service account 'test-compute@test.iam.gserviceaccount.com'. U
ser: 'test-compute@test.iam.gserviceaccount.com'. Ask a project owner to grant you the iam.service
AccountUser role on the service account