Terraform - IAM - 기본 구성
This commit is contained in:
28
terraform/iam/users/modules/users.tf
Normal file
28
terraform/iam/users/modules/users.tf
Normal file
@@ -0,0 +1,28 @@
|
||||
variable "aws_region" {}
|
||||
variable "iam_users" {}
|
||||
|
||||
# provider "aws" {
|
||||
# region = var.aws_region
|
||||
# }
|
||||
|
||||
locals {
|
||||
user_policies = flatten([for name, policies in var.iam_users : [for policy in policies.policies : { user = name, policy = policy }]])
|
||||
users = toset([for user in local.user_policies : user.user])
|
||||
}
|
||||
|
||||
resource "aws_iam_user" "iam_user" {
|
||||
for_each = local.users
|
||||
|
||||
name = each.key
|
||||
}
|
||||
|
||||
resource "aws_iam_user_policy_attachment" "policy_attachment" {
|
||||
count = length(local.user_policies)
|
||||
|
||||
user = aws_iam_user.iam_user[local.user_policies[count.index].user].name
|
||||
policy_arn = local.user_policies[count.index].policy
|
||||
}
|
||||
|
||||
# output "users_result" {
|
||||
# value = local.user_policies
|
||||
# }
|
||||
Reference in New Issue
Block a user