NestJS · Audit

로그와 감사 추적의 데이터 경계

로깅은 console에 메시지를 남기는 일이 아니라, 요청 원인과 사용자 행위, 시스템 변경을 나중에 재구성할 수 있는 구조화된 사건으로 남기는 일이다.

01

사건 정의

로그로 남길 시스템 사건과 감사 기록으로 남길 사용자 행동을 구분한다.

02

맥락 부여

요청 식별자, 사용자 id, 조직 id, handler 이름을 공통 필드로 붙인다.

03

저장 분리

일반 로그는 관측 도구로, 감사 로그는 변경 불가능한 저장소로 보낸다.

04

조회 대응

장애 분석과 보안 조사에서 필요한 필드로 검색 가능하게 색인한다.

INFO
정상 흐름 배치 시작, 주요 외부 호출, 상태 전환
과도하면 비용 증가
WARN
복구 가능한 이상 재시도, fallback, 제한 초과 근접
운영 알림 후보
ERROR
실패 사건 예외 타입, 영향 범위, 원인 후보 포함
민감 값 제외
감사 점검
행위 증적 권한 변경, 결제 상태 변경, 관리자 작업
수정·삭제 정책 제한

구조화 · 민감값 · 감사성 점검

구조화 문장 로그만 남기지 않고 검색 가능한 key를 포함한다.
민감값 password, token, authorization header가 남지 않는다.
감사성 관리자 변경과 권한 변경은 별도 감사 기록으로 남는다.
추적 한 요청의 시작부터 외부 호출, 실패까지 같은 식별자로 묶인다.