File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -19,6 +19,7 @@ locals {
1919 create_service_account = var. service_account == null || var. service_account == " " ? true : false
2020 service_account = local. create_service_account ? google_service_account. sql_backup_serviceaccount [0 ]. email : var. service_account
2121 backup_name = " sql-backup-${ var . sql_instance } ${ var . unique_suffix } "
22+ role_name = var. enable_export_backup ? " roles/cloudsql.editor" : " roles/cloudsql.viewer"
2223 export_name = var. use_sql_instance_replica_in_exporter ? " sql-export-${ var . sql_instance_replica } ${ var . unique_suffix } " : " sql-export-${ var . sql_instance } ${ var . unique_suffix } "
2324}
2425
@@ -38,8 +39,15 @@ resource "google_service_account" "sql_backup_serviceaccount" {
3839resource "google_project_iam_member" "sql_backup_serviceaccount_sql_admin" {
3940 count = local. create_service_account ? 1 : 0
4041 member = " serviceAccount:${ google_service_account . sql_backup_serviceaccount [0 ]. email } "
41- role = " roles/cloudsql.admin "
42+ role = local . role_name
4243 project = var. project_id
44+ condition {
45+ title = " Limit access to instance ${ var . sql_instance } "
46+ expression = <<- EOT
47+ (resource.type == "sqladmin.googleapis.com/Instance" &&
48+ resource.name == "projects/${ var . project_id } /instances/${ var . sql_instance } ")
49+ EOT
50+ }
4351}
4452
4553resource "google_project_iam_member" "sql_backup_serviceaccount_workflow_invoker" {
You can’t perform that action at this time.
0 commit comments