Skip to content

[BE/Data] 전 테이블 감사 정보를 actor ID·type·email snapshot 기반으로 표준화 #341

Description

@bottlenote-app

목적

전 테이블의 감사 정보를 actor ID + actor type + actor email snapshot 규약으로 표준화합니다.

확인된 현재 상태

  • API 서버에 JPA auditing 구성(JpaConfig, AuditorAwareImpl)과 공통 감사 엔티티(BaseEntity)가 존재합니다.
  • 이번 코드 검색에서 감사 정보와 연관된 email 기반 수집 경로가 확인되어, 식별 안정성과 주체 유형 구분 관점의 개선이 필요합니다.

문제

  • email은 변경 가능하며, 사용자·관리자·향후 AI 에이전트 같은 주체 유형을 명확히 구분하지 못합니다.
  • email만으로는 안정적인 감사 대상 식별과 주체 유형별 타겟팅이 어렵습니다.

요구사항

  • 생성/수정 감사 필드를 actor ID, actor type, actor email snapshot으로 표준화합니다.
  • actor ID + actor type을 감사 주체의 식별·타겟팅 기준으로 사용하고, email은 행위 당시의 표시용 snapshot으로 보존합니다.
  • role은 한 주체가 N개를 소유할 수 있고 변경 가능하여 감사 필드의 단일 snapshot으로 저장하지 않습니다. 권한 판정과 role 이력은 인증·권한 모델에서 관리합니다.
  • actor type은 최소 사용자·관리자·에이전트·시스템·익명 주체를 구분할 수 있어야 합니다.
  • JPA auditing의 현재 주체 해석 경로를 사용자/관리자 JWT 및 향후 에이전트 인증과 일관되게 연결합니다.
  • SYSTEM은 인증 정보가 없다는 이유로 자동 부여하지 않습니다. scheduler·batch·내부 자동화처럼 시스템 작업임이 명시된 실행 경로에서만 기록합니다.
  • 적용 대상 테이블과 기존 email 감사 데이터의 마이그레이션/호환 정책을 명시합니다. 기존 데이터를 무리하게 추정 변환하지 않는 원칙과 null/legacy 처리도 포함합니다.
  • 조회·운영·로그에서 PII 노출을 늘리지 않습니다.

완료 기준

  • 공통 감사 모델 및 마이그레이션이 적용되고, 대상 엔티티가 동일한 감사 규약을 따릅니다.
  • 사용자·관리자·에이전트별 생성/수정 감사값, 익명 처리, 명시적 자동화 작업의 SYSTEM 기록을 검증하는 자동화 테스트가 있습니다.
  • 인증 정보가 없는 일반 실행 경로가 자동으로 SYSTEM으로 기록되지 않음을 검증합니다.
  • 기존 데이터/배포 롤백 호환성, 인덱스 영향, 운영 조회 방식이 문서화됩니다.

의존성

  • 에이전트 API Key + HMAC 인증 도입 시 에이전트 주체를 감사 정보에 반영해야 하므로, 인증 주체 모델과의 정합성 검토가 필요합니다.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions