#google-cloud-platform #google-cloud-storage
#google-облачная платформа #google-облачное хранилище
Вопрос:
Я уверен, что предоставил все разрешения, которые я могу предоставить:
louchenyao@dev ~> gcloud auth list
Credentialed Accounts
ACTIVE ACCOUNT
* 290002171211-compute@developer.gserviceaccount.com
louchenyao@gmail.com
To set the active account, run:
$ gcloud config set account `ACCOUNT`
louchenyao@dev ~> curl -H 'Metadata-Flavor: Google' "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/scopes"
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write
https://www.googleapis.com/auth/service.management.readonly
https://www.googleapis.com/auth/servicecontrol
https://www.googleapis.com/auth/trace.append
louchenyao@dev ~> gsutil cp pgrc.sh gs://hidden-buckets-name
Copying file://pgrc.sh [Content-Type=text/x-sh]...
AccessDeniedException: 403 Insufficient Permission
И я предоставил администратору хранилища учетной записи облачных вычислений по умолчанию.
Если я переключусь на свою личную учетную запись, это сработает. Итак, мне интересно, пропустил ли я некоторые важные разрешения.
Комментарии:
1. Какие области включены для экземпляра? Убедитесь, что у вас включено «Хранилище для чтения и записи» ИЛИ «Хранилище заполнено». Я рекомендую использовать роли IAM вместо областей. Установите «Разрешить полный доступ ко всем облачным API». Затем управляйте разрешениями, используя роли IAM.
2. Также: помните, что после предоставления этих областей вы перезапускаете свой экземпляр.
3. @BrandonYarbrough — Спасибо. Вам не нужно перезапускать экземпляр, вы должны сначала завершить работу экземпляра, чтобы изменить области. Я должен был упомянуть об этом.
4. @JohnHanley Спасибо. Но мне любопытно, почему недостаточно установить область видимости в devstorage.read_write.
5. Я не понимаю, что вы имеете в виду под
is not enough
. Способ, которым разрешения работают с экземплярами GCE. Сначала вы подключаете разрешения IAM к учетной записи службы, которую использует GCE. Вы можете уменьшить эти разрешения, используя области, но вы не можете добавить разрешения, используя области, которых у учетной записи службы еще нет.
Ответ №1:
Чтобы предоставить доступ к записи в корзину из экземпляра виртуальной машины, используя учетную запись службы по умолчанию: измените области доступа API для экземпляра виртуальной машины, выполните следующие действия:
Stop
экземпляр- Введите
VM instance details
>Edit
- Изменить
Cloud API access scopes
>Storage: Full
Save
внесите изменения и запустите экземпляр
Также можно установить области доступа при создании экземпляра виртуальной машины в Identity and API access
разделе консоли
Если вы не хотите использовать учетную запись службы по умолчанию, создайте новую учетную запись службы для своего экземпляра виртуальной машины и используйте ее для доступа к корзине.