피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Edge Config 기반 Secret Rotation으로 재배포 없는 1초 내 보안 업데이트 구현
How I rotate Sanity draft mode secrets at the edge without redeploying Next.js
AI 요약
Context
Next.js App Router의 draft mode 구현 시 process.env 기반의 Secret 관리 체계 채택. Secret 유출 시 60~90초의 재배포 시간이 소요되며 해당 윈도우 동안 구버전 Secret이 활성화되는 보안 취약점 존재.
Technical Solution
- Vercel Edge Config를 도입하여 분산 Key-Value Store 기반의 실시간 Secret 관리 구조 설계
- Route Handler에서 Edge Config SDK를 통해 Secret을 동적으로 검증하여 Redeploy 없이 즉각적인 Rotation 구현
- draftMode() API를 통한 __prerender_bypass 쿠키 제어로 Preview 상태 관리
- Perspective 설정을 통해 draftMode 활성화 여부에 따라 Sanity API의 previewDrafts(Direct API)와 published(CDN) 경로를 분리하여 데이터 유출 방지
- SANITY_API_READ_TOKEN은 장기 유지용 Env-var로, Preview Secret은 단기 회전용 Edge Config로 분리한 계층적 인증 전략 적용
실천 포인트
1. Secret의 변경 주기와 영향도를 분석하여 Env-var와 Edge Config 배치 결정
2. Preview 모드 시 CDN 캐시를 완전히 우회하는 useCdn: false 설정 및 API Token 권한 최소화 적용
3. Local 개발 환경의 HTTPS 미지원으로 인한 쿠키 무효화 방지를 위해 ngrok 또는 --experimental-https 옵션 검토