Я пытаюсь получить учетную запись службы для создания Blobs в Google Cloud Storage
из сценария Python, но у меня проблемы с учетными данными. < /p>
< P> 1) Я создаю учетную запись службы для своего проекта, а затем загружаю файл ключа в JSON: < /p>
"home/user/.config/gcloud/service_admin.json"
< /code>
2) Я даю учетной записи службы необходимые учетные данные (через Gcloud в подпроцессе) < /p>
roles/viewer, roles/storage.admin, roles/resourcemanager.projectCreator, roles/billing.user
< /code>
Тогда я хотел бы получить доступ к ведру в GCS < /p>
from google.cloud import storage
import google.auth
credentials, project = google.auth.default()
client = storage.Client('myproject', credentials=credentials)
bucket = client.get_bucket('my_bucket')
< /code>
К сожалению, это приводит к: < /p>
google.api_core.exceptions.Forbidden: 403 GET
https://www.googleapis.com/storage/v1/b ... tion=noAcl:
s_account@myproject.iam.gserviceaccount.com does not have
storage.buckets.get access to my_bucket
< /code>
У меня есть немного удачи, если я установите переменную среды < /p>
export GOOGLE_APPLICATION_CREDENTIALS="home/user/.config/gcloud/service_admin.json"
< /code>
и повторить скрипт. Тем не менее, я хочу, чтобы все это запустило в одном экземпляре сценария, который создает учетные записи и продолжает создавать необходимые файлы в ведрах. Как я могу получить доступ к my_bucket, если я знаю, где мой файл учетных данных JSON.
Подробнее здесь: https://stackoverflow.com/questions/549 ... -in-python
Разрешение на Google Cloud Storage через учетную запись службы в Python ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение