ResumableUploadAbortException: 403 Недостаточно разрешения

Я использую Google Cloud Storage и Google Compute Engine и пытаюсь загрузить в свое ведро с моей виртуальной машины. В моем ковше есть права на чтение/запись, и каждый имеет доступ к нему. Они обозначены как Владелец. Я могу скачать с моего ведра. Когда я пытаюсь загрузить в мое ведро, это ошибка, которую я получаю. ResumableUploadAbortException: 403 Insufficient Permission. Я не уверен, почему это так? Любые подсказки?

Ответ 1

Измените область доступа Cloud API для виртуальной машины, чтобы разрешить чтение и запись в хранилище. Это в разделе "Области доступа" настроек виртуальной машины. Для этого необходимо остановить виртуальную машину.

0. Stop VM instance
1. Open VM instance details
2. Press "Edit"
3. Change Cloud API access scope--> "Allow full access to all cloud APIs"

....

https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances#changeserviceaccountandscopes

ВАЖНЫЙ!! Обратите внимание на этот комментарий на соответствующую запись, в которой вам может потребоваться удалить учетные данные в ~/.gsutil после определения новой области.

# VM instance console
sudo rm -r ~/.gsutil

Ответ 2

Используете ли вы учетную запись службы по умолчанию для виртуальной машины для доступа к ведру? Это значение по умолчанию доступно только для чтения. Попробуйте создать виртуальную машину с областью чтения/записи.

Ответ 3

При взаимодействии с другими продуктами Cloud Platform, такими как облачные хранилища Google (ведра), в неинтерактивных способах, например, из экземпляра виртуальной машины, рекомендуется использовать области, которые, в свою очередь, используют учетные записи служб, предпочтительный способ аутентификации VM/систем. Дальнейшее чтение можно найти здесь.

Ответ 4

позвольте мне сделать более простые шаги, если это возможно:

  1. С консоли остановите виртуальную машину, отредактируйте управление доступом и измените разрешение "Хранилище" с ЧТЕНИЕ на Запись или полное.
  2. Запустите ВМ
  3. Очистить кеш из командной строки

    rm -r ~/.gsutil

Это должно работать.