피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Terraform lifecycle 제어로 Azure Policy Drift 해결 및 Zero-Trust NSG 구현
Surviving Azure Policies: Zero-Trust Hub & Spoke with Terraform
AI 요약
Context
Azure Policy의 DeployIfNotExists(DINE) 설정으로 인한 자동 태그 주입이 Terraform State와 충돌하여 파이프라인이 무한 실패하는 Drift 현상 발생. 기본 VNet의 무제한 Lateral Movement 허용으로 인한 ISO 27001 및 KRITIS 보안 감사 취약점 노출.
Technical Solution
- lifecycle ignore_changes 설정을 통한 Policy 주입 태그의 상태 추적 제외로 Terraform Drift 루프 제거
- Hub-Spoke 구조 기반의 Centralized Private DNS 설계를 통한 Spoke별 DNS 설정 중복 제거 및 관리 효율화
- Subnet 생성과 동시에 NSG를 바인딩하는 즉시 적용 구조를 통한 보안 공백 최소화
- NSG Priority를 100(Allow)에서 4096(Deny)까지 넓게 설정하여 기존 Baseline 수정 없는 애플리케이션 전용 규칙 확장성 확보
- VirtualNetwork 간 통신은 허용하고 Internet Inbound는 전면 차단하는 Zero-Trust NSG Baseline 적용
실천 포인트
- Azure Policy의 자동 수정 기능과 Terraform 병행 시 lifecycle { ignore_changes } 대상 태그 정밀 식별 - NSG 설계 시 Priority Gap을 충분히 확보하여 향후 규칙 추가에 따른 전체 번호 재조정 리스크 방지 - 보안 그룹 적용을 별도 티켓이나 후속 작업이 아닌 리소스 생성 단계의 필수 결합 관계로 정의