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

Използвам Google Cloud Storage и Google Compute Engine и се опитвам да кача в моята кофа от моята виртуална машина. Моята кофа има разрешения за четене/запис, както и всеки, който има достъп до нея. Те са обозначени като Собственик. Мога да изтегля от моята кофа добре. Когато се опитам да кача в моята кофа, това е грешката, която получавам. ResumableUploadAbortException: 403 Insufficient Permission . Не съм сигурен защо това е така? Някакви улики?


person superuserdo    schedule 19.02.2015    source източник


Отговори (6)


Променете обхвата на достъпа на Cloud API на виртуалната машина, за да разрешите четене/запис в Storage. Това е в секцията „Обхвати на достъп“ на настройките на VM. Вашият VM трябва да бъде спрян, за да направи това.

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
person Daniel Golden    schedule 12.01.2017
comment
НАКЛОН: rm -rf ~/.gsutil - person Rondo; 07.08.2018
comment
В допълнение към това трябва да се уверите, че акаунтът на услугата може да създава обекти в кофата. Можете да направите това, като отидете в кофата, щракнете върху Разрешения и добавите имейл акаунта за услуга с роля на създател на обект за съхранение. - person foges; 26.12.2018
comment
Само бележка, че вместо да изберете Разрешаване на пълен достъп до всички облачни API, както е препоръчано в текущата версия на документацията, възможно ли е да изберете Задаване на достъп за всеки API и след това да продължите към избора на комбинирания списък за съхранение и да зададете Пълен на то - person manasouza; 15.05.2019
comment
Това свърши работа # VM instance console sudo rm -r ~/.gsutil - person rbyndoor; 15.12.2020

На екземпляра на GCE изпълнете следното, за да настроите: Няма нужда да рестартирате Compute Engine,

gcloud init

Резултатът ще бъде нещо подобно.

Choose the account you would like to use to perform operations for  this configuration:
 [1] [email protected]
 [2] Log in with a new account
Please enter your numeric choice: 1

Изберете номер 1, за да използвате акаунт за услуга. Ако това е споделена машина и влезете с личния си акаунт, вашите идентификационни данни могат да бъдат използвани от всеки друг на машината. За повече подробности Прочетете тук

Ако вече сте инициализирали gcloud, не искате да го инициализирате отново.

gcloud auth login 
person Nanhe Kumar    schedule 31.10.2019
comment
това е добър, работещ отговор, ако не искате да рестартирате VM. - person philshem; 07.04.2020

Използвате ли сервизния акаунт по подразбиране на виртуалната машина за достъп до кофата? Това има само обхват за четене по подразбиране. Опитайте да създадете виртуална машина с обхват за четене/запис.

person Travis Hobrla    schedule 20.02.2015
comment
Трябва да пресъздам друг VM екземпляр? Имам приложения, програмирани да сочат към текущия IP адрес на моята виртуална машина. Ако създам нов VM екземпляр, ще ми бъде присвоен нов IP адрес. Има ли начин да дам на акаунта си разрешения за писане, без да правя това? - person superuserdo; 21.02.2015
comment
Не мисля, че има начин да промените разрешенията на работещ екземпляр. Ако имате нужда конкретен IP адрес да остане постоянен, бих препоръчал да запазите статичен IP адрес: cloud.google.com/compute/docs/ - person Travis Hobrla; 23.02.2015

Когато взаимодействате с други продукти на Cloud Platform, като Google Cloud Storage (кофи), по неинтерактивни начини, като например от VM екземпляр, е препоръчително да използвате обхвати, които на свой ред използват акаунти за услуги, предпочитаният начин за удостоверяване на VM / системи. Допълнителна информация можете да намерите тук.

person Sammy Villoldo    schedule 20.02.2015

позволете ми да въведа по-прости стъпки, ако е възможно:

  1. От конзолата спрете VM, редактирайте контрола на достъпа и променете разрешението „Съхранение“ от READ на Write или пълно.
  2. Стартирайте VM
  3. Изчистете кеша от командния ред

    rm -r ~/.gsutil

Това трябва да работи.

person Ayman Salama    schedule 26.06.2019

Трябва да дадете разрешение на сервизния акаунт на вашия екземпляр да създава обекти във вашата кофа за съхранение. Въпреки че другите отговори постигат това, те може да отворят повече разрешения, отколкото са ви необходими. Ето как да добавите само едно допълнително разрешение:

  1. Вземете имейл адреса на своя акаунт за услуга:
$ gcloud auth list
                  Credentialed Accounts
ACTIVE  ACCOUNT
*       [email protected]
  1. Отворете кофата си в Cloud Console и отидете на раздела „Разрешения“.
  2. Кликнете върху „Добавяне на членове“
  3. Поставете имейл адреса на акаунта на услугата отгоре
  4. Under "Role", select "Storage Object Admin"
    • Note: this gives permission to create, list, and delete objects. If you only need to create objects, you can try "Storage Object Creator" instead.
  5. Щракнете върху „Запазване“

Обърнете внимание, че това дава разрешения на всички екземпляри, които споделят един и същ акаунт за услуга. Ако имате нужда от по-подробен контрол на достъпа, трябва да създадете различен акаунт за услуга за всеки екземпляр.

След като направите тези стъпки, трябва да презаредите разрешенията, както казаха други:

rm -rf ~/.gsutil
rm -rf /root/.gsutil
person sffc    schedule 06.04.2020
comment
ти си рок звездата! - person Bira; 15.02.2021