Authentication Key Map
인증키 연계 구성도 — 공통 키 · 서비스 고유 키 · 회전 영향도
공통 키 (Shared)
서비스 고유 키 (Service-Owned)
별칭 / 자체 보관
공통 키 Fan-out
Shared Authentication Keys
여러 서비스가 동일 값 공유
OAuth
GOOGLE_CLIENT_ID
Google OAuth 2.0 Client ID — 모든 서비스 콜백 URI를 승인된 리디렉션 URI에 등록
EduFit
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
EduFit
NewsLetterPlatform
StandUp
CompanyAnalyzer
회전 난이도 중간
SMTP · 별칭
SMTP_USER / SMTP_PASSWORD
GMAIL_* 키의 ${...} 참조 별칭 — 점진적 GMAIL_* 통일 예정
EduFit
CompanyAnalyzer
GMAIL_* 회전 시 동반
AI API
ANTHROPIC_API_KEY
Claude API 키 — AI 분석 · 자동 코드 수정 배치에서 사용
AllergyInsight
CompanyAnalyzer
Auto-Tobe-Agent
회전 난이도 낮음
권한 · 저민감
SUPER_ADMIN_EMAILS
관리자 이메일 목록(콤마 구분) — 시크릿 아님, 공통 관리 대상
EduFit
HopenVision
회전 난이도 낮음
Service × Key Matrix
서비스별 인증키 사용 현황
AllergyInsight
DB
JWT
Google·계획
SMTP
AI
외부 API
EduFit
DB
JWT
Google
Naver
SMTP·별칭
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