Ответ 1
Обновление: по состоянию на 15 декабря 2016 года, функция setServiceAccount
теперь находится в beta
Вы можете изменить учетную запись службы и/или области доступа к существующему экземпляру, если вы хотите работать как другая личность, или вы определяете, что для вызова требуемых API требуется экземпляр другого набора областей. Например, вы можете изменить области доступа, чтобы предоставить доступ к новому API или изменить экземпляр, чтобы он выполнялся как учетная запись службы, созданная вместо учетной записи службы по умолчанию для Compute Engine.
Чтобы изменить учетную запись службы экземпляра и области доступа, экземпляр должен быть временно остановлен. Чтобы остановить ваш экземпляр, прочитайте документацию для Остановка экземпляра. После изменения учетной записи службы или областей доступа не забудьте перезапустить экземпляр.
Документация содержит инструкции по использованию этой функции с помощью Google Cloud Console, gcloud
инструмент CLI, а также API. Вот пример с использованием gcloud
; см. docs для получения дополнительной информации.
gcloud beta compute instances set-scopes [INSTANCE_NAME] \ --service-account [SERVICE_ACCOUNT_EMAIL] \ [--no-scopes | --scopes [SCOPES,...]]
Предыдущий ответ (действителен до 15 декабря 2016 года):
Вы не можете изменить области действия экземпляра виртуальной машины. Вы можете:
-
создать новый экземпляр (возможно, повторно использовать диски вашего текущего экземпляра) с правильными областями, указанными во время создания, например:
gcloud compute instances create [...] --scopes storage-rw
-
если вы хотите вручную использовать
gsutil
изнутри виртуальной машины, вы можете запуститьgsutil config
внутри виртуальной машины и выполнить проверку подлинности следуя его подсказкам -
если вы планируете использовать автоматизированный инструмент с использованием API Google, используйте учетную запись службы