외부에서 API 를 함부로 호출(비용 발생 enqueue 등)하지 못하도록 정적 키 guard 를 추가한다. '키의 존재'가 토글 — 개발(local/dev)은 env 를 비워 개방 모드(기동 시 WARN), prod 만 키를 주입한다(협의 결정). - router/v1/validator/auth.py: X-API-Key 의존성 — secrets.compare_digest 상수시간 비교, 콤마 구분 복수 키(무중단 키 교체), 매 요청 env 조회 (재기동 없이 테스트 가능). /v1 라우터 전체에 적용. - /healthz·/readyz 는 라우터 밖이라 항상 개방(LB 프로브). - negodata lps_sync_service: LPS_API_KEY env 있으면 헤더 자동 첨부(한 곳). - compose(lps-api·negodata-backend) LPS_API_KEY 패스스루 + .env.example. - prod 체크리스트(operations.md): 키 주입 + lps-api 포트 비공개 + 기동 로그 'API guard ON' 확인. api.md 인증 섹션 추가. - 라이브 스모크: 무헤더/오키 401 · 정키 2종 200 · healthz 200 확인. - 테스트 6건 추가, 전체 141 passed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| v1 | ||
| router.py | ||