Не удается выполнить запись в облачное хранилище Google из экземпляра виртуальной машины

#google-cloud-platform

#google-cloud-platform

Вопрос:

Я пытаюсь запустить следующий код на своем экземпляре виртуальной машины GCP.

 !gsutil cp 'text.csv' 'gs://BucketName/folderName/'
  

Я получаю сообщение об ошибке AccessDeniedException: 403 XXXXXXX-compute@developer.gserviceaccount.com does not have storage.objects.list access to mybucket

Я попытался отредактировать права доступа к IAM и предоставить учетной записи службы права администратора хранилища, но я все еще не мог решить эту проблему.

я также выполняю следующие проверки:

 $ gcloud projects get-iam-policy Project-ID
bindings:
- members:
  - serviceAccount:service-XXXXX@compute-system.iam.gserviceaccount.com
  role: roles/compute.serviceAgent
- members:
  - serviceAccount:XXXXX-compute@developer.gserviceaccount.com
  - serviceAccount:XXXXX@cloudservices.gserviceaccount.com
  - serviceAccount:service-XXXXX@sourcerepo-service-accounts.iam.gserviceaccount.com
  - user:myemail@company.com
  role: roles/owner
- members:
  - user:mycolleagueemail@company.com
  role: roles/resourcemanager.projectOwnerInvitee
- members:
  - serviceAccount:service-XXXX@sourcerepo-service-accounts.iam.gserviceaccount.com
  role: roles/sourcerepo.serviceAgent
- members:
  - serviceAccount:XXXXX-compute@developer.gserviceaccount.com
  - serviceAccount:XXXXXX@cloudservices.gserviceaccount.com
  - serviceAccount:service-XXXXX@compute-system.iam.gserviceaccount.com
  - serviceAccount:service-XXXXXX@sourcerepo-service-accounts.iam.gserviceaccount.com
  - user:myemail@company.com
  role: roles/storage.admin
etag: BwWHPRO76cr=
version: 1
  

Я довольно новичок в GCP, поэтому буду признателен за любой совет / помощь. Спасибо!

Комментарии:

1. Какие области действия вы назначили для экземпляра виртуальной машины Compute Engine при создании экземпляра? Убедитесь, что у вас установлено облачное хранилище для чтения и записи или полное.

2. Привет, я уже установил для своего экземпляра виртуальной машины значение «Разрешить полный доступ ко всем облачным API». но все еще возникает эта проблема.

3. Следующий шаг проверьте фактические разрешения, назначенные учетной записи службы: gcloud projects get-iam-policy PROJECT_ID

4. Примечание: Allow full access to all Cloud APIs не дает вам всех разрешений. Только те, которые назначены участнику учетной записи службы для проекта. Виртуальная машина и корзина должны находиться в одном проекте, или вам нужно назначить учетную запись службы для каждого проекта.

5. PROJECT_ID — это идентификатор проекта, которому принадлежит корзина.