데이터 격리 아키텍처

Data Isolation Architecture

PostgreSQL 스키마 기반 멀티테넌시

하나의 건물(DB)에 여러 호수(스키마)가 있는 아파트처럼, 각 회사는 독립된 호수를 배정받아 절대 다른 집에 들어갈 수 없음

Aurora PostgreSQL Database
A회사 스키마

tenant_001

  • A회사 펀드 데이터
  • A회사 LP 정보
  • A회사만 접근 가능
B회사 스키마

tenant_002

  • B회사 펀드 데이터
  • B회사 LP 정보
  • B회사만 접근 가능
C회사 스키마

tenant_003

  • C회사 펀드 데이터
  • C회사 LP 정보
  • C회사만 접근 가능

3중 보호 체계

1
데이터베이스가 직접 막음
  • PostgreSQL이 스키마 레벨에서 접근 차단
  • 프로그램 버그가 있어도 DB가 거부
  • 예: A회사가 B회사 데이터 조회 시도 → "권한 없음" 에러
2
애플리케이션도 막음
  • 로그인 시 해당 회사 스키마만 연결
  • 다른 스키마 존재 자체를 모름
  • 예: A회사 로그인 → tenant_001 스키마만 보임
3
명시적 동의 시스템
  • 똑똑 지원팀도 고객 동의 없이 접근 불가
  • 데이터 조회 요청서 → 고객 승인 → 제한적 접근
  • 모든 조회 내역 자동 기록 및 즉시 통보