피드로 돌아가기
Zero-Trust RAG: Defeating the Shared Private Link Deadlock in Azure Terraform
Dev.toDev.to
Infrastructure

AzAPI 기반 Shared Private Link 자동 승인으로 403 Forbidden 해결 및 Zero-Trust RAG 구현

Zero-Trust RAG: Defeating the Shared Private Link Deadlock in Azure Terraform

david2026년 5월 20일3advanced

Context

Azure AI Search와 OpenAI 간의 Shared Private Link 연결 시 azurerm 프로바이더가 승인(Approve) 기능을 지원하지 않는 제약 존재. 이로 인해 CI/CD 파이프라인 완료 후에도 수동 승인이 필요한 ClickOps 병목 현상 및 403 Forbidden 에러 발생.

Technical Solution

  • azapi 프로바이더를 통한 Azure Resource Manager REST API 직접 호출로 프로바이더 기능 제약 우회
  • data "azapi_resource_list"를 활용해 런타임에서 생성된 랜덤 GUID 기반의 연결 ID 동적 추출
  • depends_on 설정을 통해 링크 요청 완료 후 승인 프로세스가 실행되도록 논리적 순서 보장
  • try() 래퍼를 적용하여 terraform destroy 시 빈 배열 참조로 인한 파이프라인 크래시 및 자원 고립 방지
  • System Managed Identity와 RBAC 기반 Role Assignment를 통한 정적 API Key 제거 및 Zero credential 관리 체계 구축
  • Private DNS Zone 링크 설정을 통해 public IP 해석을 차단하고 VNet 내부 통신 강제화

1. azurerm 미지원 기능 발견 시 azapi 프로바이더를 통한 ARM API 호출 검토

2. 동적 리소스 ID 추출 시 depends_on과 try() 함수를 조합하여 파이프라인 안정성 확보

3. AI 서비스 간 통신 시 API Key 대신 Managed Identity 및 RBAC 적용 여부 확인

4. Hub & Spoke DNS 구조인 경우 registration_enabled=false 설정을 통한 충돌 방지

원문 읽기