Closed2
terraform for_eachで二重ループのような処理
IAMグループ毎に別々のポリシーを付与するループ処理を行いたいです。
module "iam_group" {
source = "../../modules/iam_group"
iam_group_config = {
target = {
Developers = {
iam_policy_list = [
"arn:aws:iam::aws:policy/ReadOnlyAccess",
"arn:aws:iam::aws:policy/PowerUserAccess"
]
}
Admin = {
iam_policy_list = [
"arn:aws:iam::aws:policy/AdministraterAccess"
]
}
}
}
}
resource "aws_iam_group" "groups" {
for_each = var.iam_group_config.target
name = "${each.key}-Group"
path = "/users/"
}
とグループ作成はいいのですが
aws_iam_group_policy_attachmentでは
ポリシーが一つしか定義できないため、
2重ループのような処理をしないといけないのですが
どのように定義すればいいのかわからない状態です。。
resource "aws_iam_group_policy_attachment" "attach" {
for_each = var.iam_group_config.target
group = aws_iam_group.groups[each.key].name
policy_arn = ?????
}
IAMグループ単位に任意のポリシーを
アタッチするためのお知恵を借りたく。。
module内でfor_eachを利用すればよい。
んでmodule側でfor_eachは使える。
module "elasticache" {
source = "../../modules/elasticache"
for_each = {
test_redis1 = {}
test_redis2 = {}
}
replication_group_id = each.key
}
このスクラップは2022/07/08にクローズされました