멀티 테넌트 데이터 접근 패턴과 IAM 정책

AWS 데이터 스토어 활용

Dunieski Otano

AWS Solutions Architect

멀티 테넌트 보안 침해 사례

  • SaaS 애플리케이션이 1,000개 기업에 서비스 제공
  • 애플리케이션 코드 버그로 테넌트 간 접근 허용
  • A사 직원이 B사 데이터를 열람
  • 결과: 고객 이탈, 소송, 신뢰도 손상

테넌트

AWS 데이터 스토어 활용

멀티 테넌시 이해하기

  • 멀티 테넌시란?
    • 여러 고객이 인프라를 공유
  • 장점
    • 비용 효율성, 유지 관리 용이
  • 과제
    • 완전한 데이터 격리 보장

멀티 테넌시

AWS 데이터 스토어 활용

테넌트별 파티션 키 패턴

  • 설계
    • tenantId를 파티션 키로 사용
    • 모든 항목에 tenantId 포함
  • 장점
    • 비용 효율적, 수천 개까지 확장 가능
  • 요구 사항
    • 엄격한 접근 제어 및 IAM 정책

키

AWS 데이터 스토어 활용

테넌트별 분리 테이블 패턴

  • 설계
    • 테넌트마다 전용 테이블 사용
  • 장점
    • 더 나은 격리, 컴플라이언스 용이
  • 단점
    • 복잡성 관리, 테이블 수 제한

분리

AWS 데이터 스토어 활용

테넌트별 분리 데이터베이스 패턴

  • 설계
    • 테넌트마다 전용 데이터베이스 사용
  • 장점
    • 완전한 격리, 맞춤형 구성 가능
  • 단점
    • 가장 높은 비용, 운영 오버헤드

데이터베이스

AWS 데이터 스토어 활용

테넌트 격리를 위한 IAM 조건 키

  • dynamodb:LeadingKeys
    • 파티션 키 접근 제한
  • 정책 예시
    • "tenantId = tenant-123인 경우 허용"
  • 적용
    • AWS가 API 수준에서 강제 적용

차단 정책

AWS 데이터 스토어 활용

심층 방어 구현

  • 계층 1: 애플리케이션
    • 코드에서 tenantId 확인
  • 계층 2: IAM 정책
    • 조건 키로 격리 강제 적용
  • 계층 3: 데이터베이스 설계
    • 파티션 키를 통한 물리적 분리

계층 공격

AWS 데이터 스토어 활용

테스트 및 검증

  • 테넌트 간 접근 테스트
    • 다른 테넌트 데이터 읽기 시도
    • AccessDeniedException으로 실패해야 함
  • 감사 로깅
    • CloudTrail이 모든 접근 시도를 기록
  • 정기 검토
    • IAM 정책 및 접근 패턴 검토

테스트

AWS 데이터 스토어 활용

축하합니다!

  • AWS 데이터 스토어: DynamoDB, S3, ElastiCache, OpenSearch
  • 설계 및 최적화: 테이블 설계, 스토리지 최적화
  • 데이터 보안: 암호화, 시크릿 관리, 멀티 테넌트 격리

강의 완료

AWS 데이터 스토어 활용

연습해 봅시다!

AWS 데이터 스토어 활용

Preparing Video For Download...