이 문서는 Atlassian 클라우드 환경에서 고객 데이터의 논리적 격리(Logical Isolation) 를 어떻게 보장하는지를 설명하기 위해 작성되었습니다.
📘 개요: 멀티 테넌트 환경에서의 보안 과제
테넌트란?
Atlassian 클라우드 환경에서 테넌트(Tenant) 는 하나의 고객 조직 단위를 의미합니다.
즉, 한 기업이나 기관이 Atlassian Cloud(Jira, Confluence 등)를 사용하면, 그 조직은 하나의 테넌트로 인식됩니다.
예를 들어, abc-corp.atlassian.net 는 ABC 기업의 고유 테넌트입니다.
하나의 테넌트에는 다음이 포함될 수 있습니다.
여러 제품(Jira, Confluence, Compass 등)
사용자 및 그룹
제품 및 앱 설정
데이터 저장소 및 라이선스 정보
멀티 테넌트 아키텍처란?
여러 고객(테넌트)이 동일한 인프라(서버, 데이터베이스) 를 공유하지만, 각 고객의 데이터는 논리적으로 완벽히 분리된 상태를 말합니다.
❗ 보안 리스크 예시
한 고객의 버그나 요청이 다른 고객의 데이터에 영향을 줄 수 있음
잘못된 접근 제어로 인해 데이터 누출 가능성
이러한 위험을 예방하기 위해 Atlassian은 TCS라는 내부 서비스를 운영합니다.
🔍 TCS란?
Tenant Context Service(TCS) 는 고객별 데이터를 분리하고, 각 요청을 해당 고객의 정보에만 연결되도록 컨트롤하는 핵심 플랫폼 서비스입니다.
각 요청마다 어떤 고객인지 판단하고, 해당 고객의 데이터에만 접근 가능하도록 제한합니다.
주요 역할
고객 (테넌트)마다 고유한 컨텍스트 정보를 중앙에서 관리
서비스 요청 시 어떤 고객의 요청인지 식별하고, 그에 맞는 설정·데이터·권한만 적용
다른 고객 (테넌트)의 리소스에는 절대 접근 불가
🔄 작동 방식
사용자가 Jira 또는 Confluence Cloud에 접근
요청에 포함된 테넌트 ID를 기반으로 TCS 확인
TCS가 고객 컨텍스트 (설정, 권한, 데이터 저장소 정보 등) 를 로드
데이터 저장 위치
사용 가능한 제품/앱/기능
라이선스 상태
인증/권한 범위
요청 전 과정에 걸쳐 이 컨텍스트가 적용되어, 이후 요청마다 이 컨텍스트를 기준으로 동작
👉 해당 고객의 데이터만 접근 가능
👉 다른 고객 데이터에는 격리된 상태 유지
테넌트 별 데이터 저장소 분리
각 테넌트는 논리적으로 분리된 데이터 저장소에 연결됨
실제로는 물리적으로 같은 DB 클러스터일 수 있지만,
DB 내부에서 완전히 분리된 영역 (스키마/네임스페이스) 사용
이를 통해 성능은 유지하면서도 데이터 격리를 달성
🎯 예시 시나리오
A 회사 직원이 Jira에서 이슈를 생성하려고 요청 →
TCS가 요청을 가로채서 이 요청이 'A 회사' 소속인지 확인 →
A 회사에 연결된 저장소 위치, 권한, 기능 범위를 모두 확인 →
요청을 Jira 이슈 저장소에 전달하면서 "A 테넌트만 접근 가능"이라는 경계를 설정 →
처리된 결과를 A 사용자에게만 반환
이 모든 과정이 백엔드에서 자동으로 일어나며, 다른 테넌트에는 전혀 영향을 주지 않음.
🔐 보안 강화 요소
항목 | 설명 |
|---|---|
테넌트별 컨텍스트 격리 | 한 요청이 특정 테넌트에만 영향을 미치며, 다른 테넌트 데이터로의 접근 원천 차단 |
데이터 접근 제한 | 해당 테넌트의 저장소에만 읽기/쓰기 가능 |
컨텍스트 유효성 검사 | 요청 처리 중간에 항상 유효성 검사 수행 |
수평 이동 차단 | 해킹이나 보안 사고가 발생해도, 다른 테넌트 또는 시스템 전체로 전파되지 않음 |
서비스간 격리 | 마이크로서비스 간에도 접근은 명시적으로 통제됨 |
🧭 고객 입장에서의 가치
✅ 내 데이터는 내 회사만 볼 수 있음 (철저한 논리적 격리)
✅ 데이터 무결성 유지: 다른 고객의 요청이 영향을 줄 수 없음
✅ 보안 감사 시 입증 자료로 활용 가능
✅ 규정 준수 대응 가능 (예: ISO 27001, SOC2 등)
🧾 결론: 왜 중요한가?
TCS는 Atlassian이 멀티 테넌트 환경에서 보안을 강력하게 유지하면서도 효율성과 확장성을 제공할 수 있는 핵심 요소다.
고객 입장에서는 각자의 데이터가 안전하게 보호되고
시스템 운영자 입장에서는 확장 가능한 구조를 유지할 수 있으며
보안 감사 시에는 테넌트 분리 근거로 사용될 수 있다.
