Я создал учетную запись службы для Terraform. Помимо нашего процесса, мы создаем несколько сегментов хранилища и поддерживаем их с помощью Terraform.
Однако когда мы бежим terraform apply
получаем следующую ошибку:
google_storage_bucket.state_bucket: googleapi: Error 403: terraform@{project}.iam.gserviceaccount.com does not have storage.buckets.create access to project {project_id}.
Я безрезультатно применил следующие разрешения IAM:
Project Owner
Storage Admin
Storage Object Admin
У меня такая же проблема. Мы используем организации в GCP. И я использовал этот сценарий чтобы создать учетную запись terraform в проекте terraform-admin, который я создал только для хранения главной учетной записи службы terraform, которую мы используем для настройки проектов и сред более высокого уровня.
Оказалось, что роли, которые я установил для terraform@{project}.iam.gserviceaccount.com в проекте администратора, являются локальными для этого проекта. то есть в представлении IAM организации эта сервисная учетная запись отображается только с 'Billing Account User' и 'Project Creator'.
Я не уверен, но я думаю, что другие проекты области организации не могут читать роли, установленные в других проектах (или роли, установленные в других проектах для конкретной учетной записи службы, переопределяются ролями, настроенными в рамках ролей области организации для этой учетной записи службы .)
Добавление ролей «Администратор хранилища» и «Наблюдатель» к учетной записи службы области организации устранило эту ошибку.
PS Я думаю, что использование terraform enterprise позволяет управлять пользователями всей организации и, таким образом, дает возможность создавать и управлять учетными записями служб terraform в области организации, избегая необходимости вручную добавлять роли области организации в учетную запись службы, с которой сталкивается версия сообщества. .
Я не уверен, связано ли это, но я использую учетную запись службы для резервного копирования из Cloudberry в ведро хранилища, и они только сегодня начали отказываться от подобных проблем доступа, которые вы описываете. Я думаю гугл что-то поменял, у них тоже самое