피드로 돌아가기
Dev Log: 2026-06-29
Dev.toDev.to
Backend

Source of Truth 재정의를 통한 Multi-tenancy 보안 강화 및 확장 가능 구조 설계

Dev Log: 2026-06-29

Nasrul Hazim Bin Mohamad2026년 6월 30일2intermediate

Context

기존 Multi-tenant 애플리케이션의 테넌시 식별 로직이 클라이언트 요청(Request)에 의존하여 데이터 유출 위험 존재. Identity Portal의 비밀번호 초기화 로직이 하드코딩되어 백엔드 확장 시 코드 수정이 불가피한 구조적 한계 직면.

Technical Solution

  • Request 기반 테넌시 식별을 Authenticated User 기반으로 변경하여 클라이언트 제어 가능 요소 제거를 통한 보안 강화
  • Multi-tenant 앱 상위에 조직(Organization) 레이어를 설계하여 사용자 소속 관리 및 테넌트 전환 기능 구현
  • PasswordResetBackend 인터페이스 정의를 통한 드라이버 기반 추상화 레이어 구축
  • 설정(Config) 기반의 드라이버 런타임 선택 구조를 도입하여 기존 플로우 수정 없는 신규 백엔드 추가 환경 조성
  • 테스트 간 상태 전이(Env Leakage) 제거 및 불필요한 테스트 케이스 삭제를 통한 테스트 스위트 신뢰도 회복

1. 데이터 스코프를 결정하는 식별자가 Client-controlled 값인지 확인하고 Server-side 인증 정보로 대체할 것

2. 변경 가능성이 높은 외부 연동 로직은 인터페이스 기반 Driver 패턴을 적용하여 결합도 낮출 것

3. 테스트 간 독립성 확보를 위해 상태 초기화 로직을 점검하고 Dead Test를 주기적으로 제거할 것

원문 읽기