WEBBOOK CHAPTER

Spring Security 6, 인증에서 운영까지: 37장. 사고 훈련 — JWK 회전 뒤 API만 401이다

37장. 사고 훈련 — JWK 회전 뒤 API만 401이다

배포는 없는데 401이 급증했다면 issuer metadata, JWK endpoint, kid, 알고리즘, clock skew, DNS/TLS, cache를 확인한다. token 원문을 Slack에 붙이지 않는다. 실패 token의 비밀 제외 header 정보와 서버 log, 공급자 key 목록을 안전한 채널에서 대조한다.


# 실제 운영 token을 출력하지 않는다.
curl -fsS https://id.example.test/.well-known/openid-configuration
curl -fsS https://id.example.test/.well-known/jwks.json

새 key가 보이지 않으면 CDN cache나 egress proxy를 확인한다. old key를 너무 일찍 제거한 공급자 문제라면 이미 발급된 token 수명과 emergency 대응을 조율한다. 검증을 우회하거나 signature 확인을 끄는 임시 조치는 금지한다.

복구 뒤 자동화된 key rotation fixture로 old/new key가 겹치는 기간, 알 수 없는 kid, 잘못된 issuer와 audience를 테스트한다. 시간 동기화와 JWK fetch metric도 dashboard에 추가한다.