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
명시적 동의 시스템
- 똑똑 지원팀도 고객 동의 없이 접근 불가
- 데이터 조회 요청서 → 고객 승인 → 제한적 접근
- 모든 조회 내역 자동 기록 및 즉시 통보