I want to set permission for service account sa-email.com on bucket bucket_A.
How can I configure as below with terraform?
- sa-email.com can create file in bucket_A
- sa-email.com can not delete file in bucket_A
UPDATE:
Now in my project, sa-email is Storage Object Admin.
resource "google_project_iam_member" "aaaa" {
member = "sa-email.com"
project = "pid"
role = "roles/storage.objectAdmin"
}
I have about 20 bucket in my project.
I only want to change the permission to one bucket.
Do I have to use google_storage_bucket_iam_member to set for 20 buckets?
Is there a way to do just a little update ?
Update2:
My solution
google_project_iam_member with "conditioon"
resource "google_project_iam_member" "aaaa" {
member = "sa-email.com"
project = "pid"
role = "roles/storage.objectAdmin"
condition {
title = " bucket can delete "
expression = "!resource.name.startsWith(\"projects/_/buckets/bucket_can_not_delete\")"
}
}
resource "google_project_iam_member" "bbbb" {
member = "sa-email.com"
project = "pid"
role = "roles/storage.objectCreator"
condition {
title = " bucket can not delete "
expression = "resource.name.startsWith(\"projects/_/buckets/bucket_can_not_delete\")"
}
}