목차 열기
Auth-Guard 500 복구
분류: 인증·데이터베이스 · 환경: Staging EKS · 상태: ✅ 해결
증상
- Auth-Guard의 사용자 생성·저장 구간에서
500에러가 발생함 - 인증 관련 API는 살아 있었지만, 데이터베이스 쓰기 구간에서 요청이 실패함
원인
- 데이터베이스 스키마 소유자(
goormgb_admin)와 애플리케이션 계정(playball_user)이 분리되어 있었음 - 테이블 권한만으로는
BIGSERIAL기반 시퀀스(sequence, 자동 증가 번호를 만드는 DB 객체)를 사용하는INSERT를 정상 처리할 수 없었음 playball_user에 시퀀스USAGE,SELECT권한이 빠져 있어 Auth-Guard 쓰기 경로가500으로 실패함- 새로 생성되는 테이블·시퀀스에 대한 기본 권한도 자동 적용되지 않는 상태였음
해결
playball_user에 테이블SELECT,INSERT,UPDATE,DELETE권한을 명시적으로 부여함- 모든 시퀀스에
USAGE,SELECT권한을 추가함 ALTER DEFAULT PRIVILEGES를 적용해 이후 생성되는 테이블·시퀀스에도 동일 권한이 자동 반영되도록 정리함IF EXISTS조건을 넣어 로컬 환경처럼playball_user가 없는 경우에도 스키마 초기화가 실패하지 않도록 수정함
관측 결과
- Auth-Guard의 데이터베이스 쓰기 경로가 정상화되어
500오류가 재발하지 않음 - 애플리케이션 계정 권한과 스키마 초기화 기준이 함께 정리되어 배포 이후 동일 유형의 권한 누락 가능성이 줄어듦
향후 모니터링
- Auth-Guard 5xx 비율과 인증 API 오류 로그를 우선 확인
- 스키마 변경 또는 시드 데이터 수정 이후 시퀀스 권한이 정상 반영되는지 점검
- 신규 테이블·시퀀스 생성 후
playball_user기본 권한 적용 여부를 배포 점검 항목에 포함
참조
c2a5a4efix: playball_user 시퀀스 권한 누락으로 인한 auth-guard 500 에러 수정/Users/vita/Desktop/techup/grgb/302-goormgb-k8s-bootstrap/db/01-schema.sql