Skip to content

Commit 1da090e

Browse files
authored
Add schema permissions (#7)
1 parent 830691d commit 1da090e

File tree

1 file changed

+24
-2
lines changed

1 file changed

+24
-2
lines changed

roles.tf

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ resource "postgresql_default_privileges" "role_ro" {
8888
privileges = local.privileges_ro
8989
}
9090

91-
resource "postgresql_grant" "role_ro" {
91+
resource "postgresql_grant" "role_ro_table" {
9292
for_each = local.databases
9393

9494
role = postgresql_role.role_ro[each.value].name
@@ -100,6 +100,17 @@ resource "postgresql_grant" "role_ro" {
100100
with_grant_option = false
101101
}
102102

103+
resource "postgresql_grant" "role_ro_schema" {
104+
for_each = local.databases
105+
106+
role = postgresql_role.role_ro[each.value].name
107+
database = each.value
108+
schema = "public"
109+
object_type = "schema"
110+
privileges = ["USAGE"]
111+
with_grant_option = false
112+
}
113+
103114
resource "postgresql_role" "role_rw" {
104115
for_each = local.databases
105116

@@ -135,7 +146,7 @@ resource "postgresql_default_privileges" "role_rw" {
135146
privileges = local.privileges_rw
136147
}
137148

138-
resource "postgresql_grant" "role_rw" {
149+
resource "postgresql_grant" "role_rw_table" {
139150
for_each = local.databases
140151

141152
role = postgresql_role.role_rw[each.value].name
@@ -146,3 +157,14 @@ resource "postgresql_grant" "role_rw" {
146157
objects = []
147158
with_grant_option = false
148159
}
160+
161+
resource "postgresql_grant" "role_rw_schema" {
162+
for_each = local.databases
163+
164+
role = postgresql_role.role_rw[each.value].name
165+
database = each.value
166+
schema = "public"
167+
object_type = "schema"
168+
privileges = ["CREATE", "USAGE"]
169+
with_grant_option = false
170+
}

0 commit comments

Comments
 (0)