Принцип наименьших привилегий для создания файлов в корзинеPython

Программы на Python
Anonymous
Принцип наименьших привилегий для создания файлов в корзине

Сообщение Anonymous »

Я пытаюсь предоставить учетной записи службы ограниченный набор разрешений и разрешить ей создавать файлы в определенной корзине. Вместо создания пользовательской роли я подумал об использовании предопределенной роли roles/storage.objectCreator в корзине.
После этого я запускаю следующие строки кода, олицетворяя SA:

Код: Выделить всё

storage_client = storage.Client("project")
bucket_name = "bucket"
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob("test.txt")
blob.upload_from_string("Hello World")
Однако при выполнении рабочего процесса я получаю сообщение об отказе в разрешении:

Код: Выделить всё

sa-name@project.iam.gserviceaccount.com does not have storage.buckets.get access to the Google Cloud Storage bucket. Permission 'storage.buckets.get' denied on resource (or it may not exist)
Я ожидал, что этого будет достаточно, но, похоже, это не так. Я знаю, что могу создать собственную роль и определить набор разрешений, которые хочу ей предоставить. Однако можно ли загрузить файл, сохранив область действия, ограниченную ролью objectCreator? Может быть, отредактировав код Python и не создавая экземпляр объекта ведра?

Подробнее здесь: https://stackoverflow.com/questions/788 ... n-a-bucket

Вернуться в «Python»