Какие учетные данные используются для копирования объекта в корзину облачного хранилища - PullRequest
0 голосов
/ 08 января 2020

Мне нужно скопировать объект (файл) в корзину Cloud Storage с именем destination-bucket1.

Только учетная запись службы с именем service-account1 предоставила администратору доступ на запись в destination-bucket1, и ни одна личная учетная запись не имеет доступа к destination-bucket1. Кроме того, не разрешается создавать ключ для этой учетной записи службы (service-account1) по существующей политике.

Я обращаюсь к экземпляру виртуальной машины Compute Engine через S SH с именем instance1, который находится под тем же service-account1, поэтому instance1 имеет доступ к destination-bucket1 через service-account1.

Если я запускаю команду gsutil cp file1.bin gs://destination-bucket1 с использованием учетных данных Cloud SDK, я использую свои собственные учетные данные для доступа к destination-bucket1. Вот почему эти операции должны завершиться неудачей - из-за отказа в доступе.

Вопрос в том, выполню ли я приведенную ниже команду через S SH в instance1

gsutil cp file1.bin gs://destination-bucket1

Должен ли я использовать учетные данные instance1 служебной учетной записи service-account1 или мои собственные учетные данные?

1 Ответ

1 голос
/ 08 января 2020

Вы должны использовать учетные данные учетной записи с разрешениями для записи в корзину.

Если ваша собственная учетная запись имеет разрешения для записи в корзину, и вы хотите использовать ее, вы можете войти в свою учетную запись с виртуальная машина, использующая команду gcloud auth login

Чтобы использовать команду gsutil cp в Compute Engine с использованием собственной учетной записи службы по умолчанию, вам необходимо:

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

Затем go к вашему ведру и отредактируйте ваши разрешения, вы можете создать служебную учетную запись вашего Compute Engine владелец корзины, читатель ... по мере необходимости.

Go для API и служб и включите Storage Transfer API

Затем удалите старые разрешения gsutil из вашей виртуальной машины, выполнив эту команду или Экземпляр:

sudo rm -r ~/.gsutil

Теперь вы должны хорошо выполнить команду go с помощью команды gsutil

...