Skip to content

Commit 902488d

Browse files
Merge pull request #89 from suprememoocow/partition-aware
fix: Allow non-aws partitions to be used, including GovCloud
2 parents 3d6270b + 4a14bfc commit 902488d

File tree

1 file changed

+24
-18
lines changed

1 file changed

+24
-18
lines changed

data.tf

Lines changed: 24 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
data "aws_partition" "current" {}
2+
3+
locals {
4+
partition = data.aws_partition.current.partition
5+
}
6+
17
data "aws_iam_policy_document" "this" {
28

39
statement {
@@ -21,7 +27,7 @@ data "aws_iam_policy_document" "this" {
2127
"iam:DeleteVirtualMFADevice"
2228
]
2329
resources = [
24-
"arn:aws:iam::${var.account_id}:mfa/&{aws:username}",
30+
"arn:${local.partition}:iam::${var.account_id}:mfa/&{aws:username}",
2531
]
2632
}
2733

@@ -32,8 +38,8 @@ data "aws_iam_policy_document" "this" {
3238
"iam:DeleteVirtualMFADevice",
3339
]
3440
resources = [
35-
"arn:aws:iam::${var.account_id}:mfa/&{aws:username}",
36-
"arn:aws:iam::${var.account_id}:user/&{aws:username}",
41+
"arn:${local.partition}:iam::${var.account_id}:mfa/&{aws:username}",
42+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}",
3743
]
3844
condition {
3945
test = "Bool"
@@ -49,7 +55,7 @@ data "aws_iam_policy_document" "this" {
4955
"iam:ListGroupsForUser",
5056
]
5157
resources = [
52-
"arn:aws:iam::${var.account_id}:user/&{aws:username}",
58+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}",
5359
]
5460
}
5561

@@ -59,7 +65,7 @@ data "aws_iam_policy_document" "this" {
5965
"iam:ListGroups",
6066
]
6167
resources = [
62-
"arn:aws:iam::${var.account_id}:group/",
68+
"arn:${local.partition}:iam::${var.account_id}:group/",
6369
]
6470
}
6571

@@ -70,7 +76,7 @@ data "aws_iam_policy_document" "this" {
7076
"iam:ListAttachedGroupPolicies",
7177
]
7278
resources = [
73-
"arn:aws:iam::${var.account_id}:group/*",
79+
"arn:${local.partition}:iam::${var.account_id}:group/*",
7480
]
7581
}
7682

@@ -81,8 +87,8 @@ data "aws_iam_policy_document" "this" {
8187
"iam:ListMFADevices",
8288
]
8389
resources = [
84-
"arn:aws:iam::*:mfa/*",
85-
"arn:aws:iam::*:user/&{aws:username}"
90+
"arn:${local.partition}:iam::*:mfa/*",
91+
"arn:${local.partition}:iam::*:user/&{aws:username}"
8692
]
8793

8894
}
@@ -102,7 +108,7 @@ data "aws_iam_policy_document" "this" {
102108
"iam:GetLoginProfile",
103109
]
104110
resources = [
105-
"arn:aws:iam::${var.account_id}:user/&{aws:username}",
111+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}",
106112
]
107113
}
108114

@@ -118,8 +124,8 @@ data "aws_iam_policy_document" "this" {
118124
]
119125

120126
resources = [
121-
"arn:aws:iam::*:mfa/&{aws:username}",
122-
"arn:aws:iam::*:user/&{aws:username}"
127+
"arn:${local.partition}:iam::*:mfa/&{aws:username}",
128+
"arn:${local.partition}:iam::*:user/&{aws:username}"
123129
]
124130
}
125131

@@ -132,7 +138,7 @@ data "aws_iam_policy_document" "this" {
132138
"iam:GetSSHPublicKey",
133139
]
134140
resources = [
135-
"arn:aws:iam::${var.account_id}:user/&{aws:username}",
141+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}",
136142
]
137143
}
138144

@@ -143,8 +149,8 @@ data "aws_iam_policy_document" "this" {
143149
"iam:DeactivateMFADevice"
144150
]
145151
resources = [
146-
"arn:aws:iam::*:mfa/&{aws:username}",
147-
"arn:aws:iam::*:user/&{aws:username}"
152+
"arn:${local.partition}:iam::*:mfa/&{aws:username}",
153+
"arn:${local.partition}:iam::*:user/&{aws:username}"
148154
]
149155
condition {
150156
test = "Bool"
@@ -188,7 +194,7 @@ data "aws_iam_policy_document" "this" {
188194
"iam:UpdateAccessKey",
189195
]
190196
resources = [
191-
"arn:aws:iam::${var.account_id}:user/&{aws:username}"
197+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}"
192198
]
193199
condition {
194200
test = "BoolIfExists"
@@ -212,7 +218,7 @@ data "aws_iam_policy_document" "this" {
212218
"iam:UploadSigningCertificate",
213219
]
214220
resources = [
215-
"arn:aws:iam::${var.account_id}:user/&{aws:username}"
221+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}"
216222
]
217223
condition {
218224
test = "BoolIfExists"
@@ -234,7 +240,7 @@ data "aws_iam_policy_document" "this" {
234240
"iam:UploadSSHPublicKey"
235241
]
236242
resources = [
237-
"arn:aws:iam::${var.account_id}:user/&{aws:username}"
243+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}"
238244
]
239245
condition {
240246
test = "BoolIfExists"
@@ -258,7 +264,7 @@ data "aws_iam_policy_document" "this" {
258264
"iam:UpdateServiceSpecificCredential",
259265
]
260266
resources = [
261-
"arn:aws:iam::${var.account_id}:user/&{aws:username}"
267+
"arn:${local.partition}:iam::${var.account_id}:user/&{aws:username}"
262268
]
263269
condition {
264270
test = "BoolIfExists"

0 commit comments

Comments
 (0)