
부서별 이름을 입력 받아 그룹을 만드는 Terraform 파일
부서별 이름을 입력 받아 부서별 그룹을 만드는 Terraform 파일
아래 예시는 Azure를 기준으로, departments
라는 리스트 변수를 받아 각 부서별 보안 그룹을 생성하는 Terraform 코드입니다.
terraform {
required_version = ">= 1.5.0"
required_providers {
azuread = {
source = "hashicorp/azuread"
version = "~> 2.47"
}
}
}
provider "azuread" {}
# 변수: 부서 이름 리스트
variable "departments" {
type = list(string)
description = "부서 이름 리스트 (예: [\"Finance\", \"HR\", \"IT\"])"
default = ["Finance", "HR", "IT"]
}
# 각 부서별 Azure AD 그룹 생성
resource "azuread_group" "department_groups" {
for_each = toset(var.departments)
display_name = "${each.key}-group"
security_enabled = true
mail_enabled = false
}
📝 코드 설명
variable "departments"
- 사용자가 부서명을 리스트로 입력할 수 있도록 함
- 예:
["Finance", "HR", "IT"]
for_each = toset(var.departments)
- 부서별 그룹을 자동으로 생성하도록 반복 처리
display_name = "${each.key}-group"
- 그룹 이름은
"부서명-group"
형태로 생성됨
- 그룹 이름은
terraform init
terraform plan -var='departments=["Sales","Engineering","Marketing"]'
terraform apply -var='departments=["Sales","Engineering","Marketing"]'
결과 → Sales-group
, Engineering-group
, Marketing-group
보안 그룹 생성