Как настроить разрешение корзины GCS с помощью terraform?
Я хочу установить разрешение для служебной учетной записи sa-email.com в bucket bucket_A.
Как я могу настроить terraform, как показано ниже?
- sa-email.com может создать файл в bucket_A
- sa-email.com не может удалить файл в bucket_A
1 ответ
Обычно вам нужно добавить ошибку, если вам нужна помощь, а не искать готовое решение.
Вам нужно только разрешение storage.objects.create , вам не нужно указывать, что оно не может удалить его, если у него его нет. Это означает, что роль Storage Object Creator вам подходит здесь , как это описано в документации Google:
Позволяет пользователям создавать объекты. Не дает разрешения на просмотр, удаление или замену объектов. Вам потребуется использовать следующий ресурс:
resource "google_storage_bucket_iam_member" "bucket_A" {
bucket = "bucket_A"
role = "roles/storage.objectCreator"
member = var.service_accounts
depends_on = [google_storage_bucket.bucket_A]
}
Где var.service_account — это ваш sa-email.com, потому что он, вероятно, будет зависеть от среды, иначе вы можете просто добавить его как строку.