Authentication Key Map
인증키 연계 구성도 — 공통 키 · 서비스 고유 키 · 회전 영향도
공통 키 (Shared)
서비스 고유 키 (Service-Owned)
별칭 / 자체 보관
공통 키 Fan-out
Shared Authentication Keys
여러 서비스가 동일 값 공유
OAuth
GOOGLE_CLIENT_ID
Google OAuth 2.0 Client ID — 모든 서비스 콜백 URI를 승인된 리디렉션 URI에 등록
HopenVision
CompanyAnalyzer
Academy
TeacherHub
+AllergyInsight(계획)
회전 난이도 높음
OAuth · 서버 Flow
GOOGLE_CLIENT_SECRET
서버사이드 인가코드 Flow 서비스 전용 — ID 토큰 검증 방식 서비스는 불필요
Academy Admin
TeacherHub
CompanyAnalyzer
회전 난이도 높음
SMTP
GMAIL_APP_PASSWORD
Gmail 발신 앱 비밀번호 — GMAIL_ADDRESS와 함께 사용 · 2FA 필수
AllergyInsight
NewsLetterPlatform
StandUp
CompanyAnalyzer
회전 난이도 중간
SMTP · 별칭
SMTP_USER / SMTP_PASSWORD
GMAIL_* 키의 ${...} 참조 별칭 — 점진적 GMAIL_* 통일 예정
CompanyAnalyzer
GMAIL_* 회전 시 동반
AI API
ANTHROPIC_API_KEY
Claude API 키 — AI 분석 · 자동 코드 수정 배치에서 사용
AllergyInsight
CompanyAnalyzer
Auto-Tobe-Agent
회전 난이도 낮음
권한 · 저민감
SUPER_ADMIN_EMAILS
관리자 이메일 목록(콤마 구분) — 시크릿 아님, 공통 관리 대상
HopenVision
회전 난이도 낮음
Service × Key Matrix
서비스별 인증키 사용 현황
AllergyInsight
DB
JWT
Google·계획
SMTP
AI
외부 API
HopenVision
DB
JWT
Google
Admin API
CompanyAnalyzer
DB
JWT
Google
SMTP·별칭
AI
Academy Admin
DB
Google+Secret
Academy User
Google·ID만
TeacherHub
자체 DB
Google+Secret
NewsLetterPlatform
SQLite
JWT
SMTP
Admin PW
StandUp
DB
SMTP
GitHub PAT
QA Dashboard
DB
API Key
LogAnalyzer
DB
InfraWatcher
SQLite
공통 = §1.1 공통 키 공유 · 고유 = 서비스 전용 키 · 별칭 = 공통 키의 ${...} 참조 · LLMOps는 키 정의 예정(미반영)
GitHub Actions Repo Secrets
.env.production 아님 · 각 repo Actions Secret 보관
QA_DASHBOARD_API_*
fix 커밋 → QA 대시보드 등록 (URL + API Key)
SLACK_WEBHOOK_URL
워크플로우 실행 결과 알림
CR_PAT / DOCKERHUB_TOKEN
컨테이너 레지스트리 이미지 push
QA_PAT / GH_TOKEN
타 repo 워크플로우 트리거
Key Rotation Procedure
인증키를 새로 만들거나 회전(변경)할 때의 표준 절차
공통 키 회전
외부 콘솔 발급
Google / Anthropic
Naver 콘솔
Naver 콘솔
→
.env.production
단일 수정점
해당 줄 1곳만
해당 줄 1곳만
→
대상 컨테이너 재시작
연결된 서비스
일괄 재시작
일괄 재시작
→
헬스체크 · 기록
서비스 확인
변경 이력 기록
변경 이력 기록
↓
서비스 고유 키 회전
DB · env 동시 변경
DB 비밀번호는
한쪽만 바뀌면 기동 실패
한쪽만 바뀌면 기동 실패
→
컨테이너 1개 재시작
해당 서비스만
영향 범위 최소
영향 범위 최소
→
JWT는 저트래픽 시간대
전 사용자
재로그인 발생
재로그인 발생
→
헬스체크 · 기록
서비스 확인
변경 이력 기록
변경 이력 기록
Rotation Principles
키 회전 시 반드시 지켜야 할 4가지 원칙
01
단일 수정점
공통 키는
.env.production 한 줄만 수정하고, 여러 repo에 복제하지 않는다.
02
DB 비밀번호 동시 변경
DB의
ALTER ROLE과 .env.production을 함께 바꾼다. 한쪽만 바뀌면 컨테이너가 기동 실패한다.
03
JWT 회전 = 전원 재로그인
JWT secret 변경은 기존 발급 토큰을 전부 무효화하므로 트래픽이 적은 시간대에 수행한다.
04
회전 이력 기록
회전 후 헬스체크를 확인하고, 회전일을 표준 문서 변경 이력에 남긴다.
Key Inventory Summary
인증키 분류별 집계
공통 키
6종 · 다중 서비스 공유
고유 키
서비스 전용 · {SVC}_ 접두사
연동 서비스
12개 서비스
Repo Secret
CI/CD 전용 4 카테고리
단일 수정점
.env.production
표준 출처
AUTH_KEY_MAP.md