부서별 이름을 입력 받아 그룹을 만드는 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
}

📝 코드 설명

  1. variable "departments"
    • 사용자가 부서명을 리스트로 입력할 수 있도록 함
    • 예: ["Finance", "HR", "IT"]
  2. for_each = toset(var.departments)
    • 부서별 그룹을 자동으로 생성하도록 반복 처리
  3. 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 보안 그룹 생성

Leave a Reply

Your email address will not be published. Required fields are marked *

error: Content is protected !!