"클라우드는 보안이 알아서 되는 것 아닌가요?" 이 오해 때문에 실제 사고가 자주 납니다. AWS S3 버킷을 공개로 열어 데이터가 유출되는 사건의 책임은 클라우드가 아니라 설정한 사용자에게 있습니다. 클라우드 보안은 제공업체와 사용자가 나눠 맡는 구조이고, 이 경계를 정의한 것이 공동 책임 모델(Shared Responsibility Model) 입니다. 누가 무엇을 책임지는지 모르면 빈틈이 생깁니다.
책임의 경계: 클라우드의 보안 vs 클라우드 안의 보안
| 구분 | 책임 주체 | 예시 |
|---|---|---|
| 클라우드 "의" 보안 | 제공업체 | 데이터센터 물리 보안, 하드웨어, 네트워크 인프라 |
| 클라우드 "안의" 보안 | 사용자 | 접근 권한(IAM), 데이터 암호화, 방화벽 규칙, OS 패치 |
핵심 문장은 이것입니다. 제공업체는 인프라 자체(of the cloud) 를 지키고, 사용자는 그 위에 올린 것(in the cloud) 을 지킵니다. AWS는 서버가 놓인 건물과 물리 네트워크를 책임지지만, 그 서버에 누가 접근하게 할지, 데이터를 암호화할지는 사용자 몫입니다.
서비스 모델마다 경계가 움직인다
공동 책임의 경계선은 IaaS·PaaS·SaaS에 따라 위아래로 이동합니다.
| 계층 | IaaS | PaaS | SaaS |
|---|---|---|---|
| 데이터·접근 권한 | 사용자(서비스 기능·암호화 옵션은 제공업체와 공동 확인) | 사용자(서비스 기능·암호화 옵션은 제공업체와 공동 확인) | 사용자와 제공업체가 서비스별로 분담 |
| 애플리케이션 | 사용자 | 사용자 | 제공업체 |
| OS·런타임 | 사용자 | 제공업체 | 제공업체 |
| 물리 인프라 | 제공업체 | 제공업체 | 제공업체 |
데이터의 분류·접근 권한·계정 보안은 대체로 사용자가 관리하지만, 저장·암호화·보존·가용성 기능과 기본 설정은 서비스마다 제공업체와 책임이 나뉩니다. SaaS 협업 도구에서 약한 비밀번호나 잘못된 공유 권한은 사용자 책임이지만, 서비스의 물리 인프라와 플랫폼 보안은 제공업체 책임입니다. 따라서 실제 운영에서는 해당 제공업체의 책임 모델과 서비스별 문서를 함께 확인해야 합니다.
실수가 자주 나는 지점
- S3 버킷 공개 설정 — 기본은 비공개지만 사용자가 공개로 바꿔 유출. 접근 정책은 사용자 책임.
- IAM 권한 과다 부여 — 모든 권한(
*)을 준 키가 유출되면 계정 전체가 위험. 최소 권한 원칙은 사용자 몫. - OS 패치 누락(IaaS) — EC2의 OS 보안 패치는 클라우드가 아니라 사용자가 적용해야 함.
이 사고들의 공통점은 모두 "클라우드가 알아서 해주겠지"라는 가정에서 출발했다는 점입니다. 공동 책임 모델을 먼저 그려보면, 내가 챙겨야 할 보안 항목이 무엇인지 명확해집니다.
요점 정리
- 클라우드 보안은 제공업체(인프라)와 사용자(그 위의 것)가 나눠 맡는다.
- 경계는 IaaS·PaaS·SaaS에 따라 이동하며, 데이터·접근 권한·암호화·가용성의 책임은 서비스별로 확인한다.
- 대형 유출 사고 다수는 사용자 측 설정 실수에서 비롯된다.
IAM 권한과 보안 그룹을 직접 설정하며 책임 경계를 체감하는 실습은 클라우드 트랙에서 회원가입 없이 무료로 할 수 있습니다.