이 문서는 Atlassian 클라우드 환경에서 고객 데이터의 논리적 격리(Logical Isolation) 를 어떻게 보장하는지를 설명하기 위해 작성되었습니다.




📘 개요: 멀티 테넌트 환경에서의 보안 과제

테넌트란?

Atlassian 클라우드 환경에서 테넌트(Tenant) 는 하나의 고객 조직 단위를 의미합니다.
즉, 한 기업이나 기관이 Atlassian Cloud(Jira, Confluence 등)를 사용하면, 그 조직은 하나의 테넌트로 인식됩니다.

예를 들어, abc-corp.atlassian.net 는 ABC 기업의 고유 테넌트입니다.


  • 하나의 테넌트에는 다음이 포함될 수 있습니다.

    • 여러 제품(Jira, Confluence, Compass 등)

    • 사용자 및 그룹

    • 제품 및 앱 설정

    • 데이터 저장소 및 라이선스 정보

light bulb 멀티 테넌트 아키텍처란?

여러 고객(테넌트)이 동일한 인프라(서버, 데이터베이스) 를 공유하지만, 각 고객의 데이터는 논리적으로 완벽히 분리된 상태를 말합니다.

멀티 테넌트 아키텍처

❗ 보안 리스크 예시

  • 한 고객의 버그나 요청이 다른 고객의 데이터에 영향을 줄 수 있음

  • 잘못된 접근 제어로 인해 데이터 누출 가능성

이러한 위험을 예방하기 위해 Atlassian은 TCS라는 내부 서비스를 운영합니다.

🔍 TCS란?

Tenant Context Service(TCS) 는 고객별 데이터를 분리하고, 각 요청을 해당 고객의 정보에만 연결되도록 컨트롤하는 핵심 플랫폼 서비스입니다.

각 요청마다 어떤 고객인지 판단하고, 해당 고객의 데이터에만 접근 가능하도록 제한합니다.

주요 역할

  • 고객 (테넌트)마다 고유한 컨텍스트 정보를 중앙에서 관리

  • 서비스 요청 시 어떤 고객의 요청인지 식별하고, 그에 맞는 설정·데이터·권한만 적용

  • 다른 고객 (테넌트)의 리소스에는 절대 접근 불가

🔄 작동 방식

  1. 사용자가 Jira 또는 Confluence Cloud에 접근

  2. 요청에 포함된 테넌트 ID를 기반으로 TCS 확인

  3. TCS가 고객 컨텍스트 (설정, 권한, 데이터 저장소 정보 등) 를 로드

    • 데이터 저장 위치

    • 사용 가능한 제품/앱/기능

    • 라이선스 상태

    • 인증/권한 범위

  4. 요청 전 과정에 걸쳐 이 컨텍스트가 적용되어, 이후 요청마다 이 컨텍스트를 기준으로 동작
    👉 해당 고객의 데이터만 접근 가능
    👉 다른 고객 데이터에는 격리된 상태 유지


테넌트 별 데이터 저장소 분리

  • 각 테넌트는 논리적으로 분리된 데이터 저장소에 연결됨

  • 실제로는 물리적으로 같은 DB 클러스터일 수 있지만,
    right arrow DB 내부에서 완전히 분리된 영역 (스키마/네임스페이스) 사용

  • 이를 통해 성능은 유지하면서도 데이터 격리를 달성

🎯 예시 시나리오

A 회사 직원이 Jira에서 이슈를 생성하려고 요청 →
TCS가 요청을 가로채서 이 요청이 'A 회사' 소속인지 확인 →
A 회사에 연결된 저장소 위치, 권한, 기능 범위를 모두 확인 →
요청을 Jira 이슈 저장소에 전달하면서 "A 테넌트만 접근 가능"이라는 경계를 설정 →
처리된 결과를 A 사용자에게만 반환

right arrow 이 모든 과정이 백엔드에서 자동으로 일어나며, 다른 테넌트에는 전혀 영향을 주지 않음.

🔐 보안 강화 요소

항목

설명

테넌트별 컨텍스트 격리

한 요청이 특정 테넌트에만 영향을 미치며, 다른 테넌트 데이터로의 접근 원천 차단

데이터 접근 제한

해당 테넌트의 저장소에만 읽기/쓰기 가능

컨텍스트 유효성 검사

요청 처리 중간에 항상 유효성 검사 수행

수평 이동 차단

해킹이나 보안 사고가 발생해도, 다른 테넌트 또는 시스템 전체로 전파되지 않음

서비스간 격리

마이크로서비스 간에도 접근은 명시적으로 통제됨

🧭 고객 입장에서의 가치

내 데이터는 내 회사만 볼 수 있음 (철저한 논리적 격리)

데이터 무결성 유지: 다른 고객의 요청이 영향을 줄 수 없음

보안 감사 시 입증 자료로 활용 가능

규정 준수 대응 가능 (예: ISO 27001, SOC2 등)

🧾 결론: 왜 중요한가?

TCS는 Atlassian이 멀티 테넌트 환경에서 보안을 강력하게 유지하면서도 효율성과 확장성을 제공할 수 있는 핵심 요소다.

  • 고객 입장에서는 각자의 데이터가 안전하게 보호되고

  • 시스템 운영자 입장에서는 확장 가능한 구조를 유지할 수 있으며

  • 보안 감사 시에는 테넌트 분리 근거로 사용될 수 있다.



참고 문서


  • 레이블 없음