Skip to content

Commit 9aad929

Browse files
authored
feat: Support External ID with MFA in iam-assumable-role (#159)
1 parent 0f45669 commit 9aad929

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

examples/iam-assumable-role/main.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ module "iam_assumable_role_sts" {
7575
create_role = true
7676

7777
role_name = "custom_sts"
78-
role_requires_mfa = false
78+
role_requires_mfa = true
7979

8080
role_sts_externalid = [
8181
"some-id-goes-here",

modules/iam-assumable-role/main.tf

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
locals {
2-
role_sts_externalid = flatten(tolist(var.role_sts_externalid))
2+
role_sts_externalid = flatten([var.role_sts_externalid])
33
}
44

55
data "aws_iam_policy_document" "assume_role" {
@@ -56,6 +56,15 @@ data "aws_iam_policy_document" "assume_role_with_mfa" {
5656
variable = "aws:MultiFactorAuthAge"
5757
values = [var.mfa_age]
5858
}
59+
60+
dynamic "condition" {
61+
for_each = length(local.role_sts_externalid) != 0 ? [true] : []
62+
content {
63+
test = "StringEquals"
64+
variable = "sts:ExternalId"
65+
values = local.role_sts_externalid
66+
}
67+
}
5968
}
6069
}
6170

0 commit comments

Comments
 (0)