공동 책임 모델: IaaS, PaaS, SaaS
세 가지 주요 서비스 모델에서 클라우드 제공자와 고객이 각각 처리하는 보안 제어 항목을 정확히 구분합니다.
공동 책임 모델: IaaS, PaaS, SaaS은(는) CoddyKit의 무료 Security+ Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Security+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Cloud Service 모델 개요
Cloud Service는 세 가지 기본 모델로 제공되며, 각 모델은 서로 다른 수준의 추상화를 제공합니다. Infrastructure as a Service (IaaS)는 원시 Compute, 스토리지 및 네트워킹을 제공합니다. Platform as a Service (PaaS)는 OS, 미들웨어 및 런타임 환경을 추가합니다. Software as a Service (SaaS)는 인터넷을 통해 완전한 기능을 갖춘 App을 제공합니다. 모델마다 보안 책임이 크게 다르므로 이러한 모델을 이해하는 것이 중요합니다.
# Cloud service model examples
# IaaS: AWS EC2, Azure VMs, Google Compute Engine
# You manage: OS, runtime, applications, data
# Provider manages: hypervisor, physical hardware, datacenter
# PaaS: AWS Elastic Beanstalk, Azure App Service, Heroku
# You manage: applications, data, configurations
# Provider manages: OS patches, runtime, scaling
# SaaS: Microsoft 365, Salesforce, Google Workspace
# You manage: user access, data content, configuration
# Provider manages: everything else공동 책임 모델
공동 책임 모델은 어떤 보안 작업이 Cloud Provider의 의무이고 어떤 작업이 고객의 책임인지 정의합니다. 이 모델은 흔히 다음과 같이 요약됩니다. Provider는 Cloud 자체의 보안(물리적 데이터센터, 하이퍼바이저, 네트워크 인프라)을 책임지고, 고객은 Cloud 내부의 보안(데이터, Access 관리, App 보안 및 구성)을 책임집니다. 이 경계를 잘못 이해하는 것은 Cloud 보안 사고의 주요 원인입니다.
IaaS 책임
IaaS에서는 고객이 가장 많은 보안 책임을 맡습니다. Cloud Provider는 물리적 인프라, 하이퍼바이저 및 네트워크 패브릭을 보호합니다. 고객은 다음을 책임집니다. OS 설치, Patch 및 보안 강화, 런타임 및 미들웨어 구성, App 보안, 네트워크 보안 그룹 규칙, IAM Policy 및 사용자 관리, 저장 중 및 전송 중 데이터 Encrypt, 컴플라이언스 구성입니다. IaaS는 최대한의 제어 권한을 제공하지만 그만큼 많은 보안 노력이 필요합니다.
# IaaS security checklist (customer responsibilities)
# AWS EC2 example:
# [ ] Patch OS and installed packages regularly
# [ ] Harden security group rules (least-privilege inbound/outbound)
# [ ] Enable CloudTrail for API logging
# [ ] Encrypt EBS volumes with KMS
# [ ] Rotate IAM access keys regularly
# [ ] Enable VPC Flow Logs for network monitoringPaaS 책임
PaaS에서는 Provider가 OS 및 런타임 관리를 맡습니다. 고객은 더 이상 OS에 Patch를 적용하거나 미들웨어를 관리하지 않으며, Provider가 이를 처리합니다. 그러나 고객은 다음을 계속 책임집니다. App 코드 보안(SQL 삽입, XSS 등이 없어야 함), 데이터 분류 및 Encrypt, Identity 및 Access 관리, App 구성(환경 변수 및 비밀 정보 관리), API 보안입니다. PaaS는 일부 부담을 Provider로 이전하고, 고객은 App 로직에 집중할 수 있게 합니다.
SaaS 책임
SaaS에서는 Provider가 거의 모든 것을 관리합니다. 고객의 주요 보안 책임은 다음과 같습니다. Access 관리(누가 계정을 보유하는지, MFA 적용, 권한 검토), 데이터 거버넌스(어떤 데이터를 업로드하고 얼마나 오래 보관하는지), 구성 보안(개인정보 보호 설정, 공유 권한, 타사 통합), 허용된 사용에 대한 컴플라이언스입니다. 많은 SaaS 침해 사고는 Provider의 장애보다 잘못 구성된 공유 설정이나 과도한 타사 App 권한에서 발생합니다.
혼동의 영역: 공유되는 통제
일부 통제는 제공업체와 고객이 공유합니다. 예를 들어 암호화의 경우, 클라우드 제공업체가 암호화 서비스(KMS, 기본 암호화)를 제공할 수 있지만, 고객은 이를 활성화하고 키 관리를 구성하며 적절한 알고리즘을 선택해야 합니다. 마찬가지로 자격 증명 관리의 경우, 제공업체는 IAM 도구를 제공하지만 고객은 최소 권한 policy를 구성하고 MFA를 적용해야 합니다. 제공업체가 공유되는 통제를 처리한다고 생각하여 이를 구성하지 않는 것은 흔하고 위험한 실수입니다.
실제 실패 사례: 잘못된 구성
공유 책임 모델은 제공업체의 장애가 아니라 대부분 고객의 잘못된 구성으로 인해 실패합니다. 대표적인 사례로 공개 상태로 방치된 S3 bucket(Capital One 침해 사고, 2019년, 1억 건의 기록 노출), 권한 상승을 허용하는 지나치게 광범위한 IAM 역할, 민감한 포트에 대해 인바운드 0.0.0.0/0 규칙이 설정된 보안 그룹, 그리고 클라우드에 배포된 데이터베이스에서 변경하지 않은 기본 자격 증명을 들 수 있습니다. 제공업체의 기본 인프라는 안전했지만 고객의 구성은 그렇지 않았습니다.
# S3 public access — dangerous misconfiguration
aws s3api get-bucket-acl --bucket my-sensitive-bucket
# Check for 'AllUsers' grants — means world-readable!
# Fix: block all public access
aws s3api put-public-access-block \
--bucket my-sensitive-bucket \
--public-access-block-configuration \
'BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true'클라우드의 가시성과 로그 기록
공유 모델의 핵심 과제는 가시성입니다. 온프레미스 환경에서는 보안 팀이 모든 로그 기록을 제어합니다. 클라우드에서는 제공업체 인프라의 로그에 접근하지 못할 수 있습니다. 고객은 클라우드 네이티브 로그 기록 서비스를 활성화해야 합니다. AWS CloudTrail, Azure Monitor, GCP Cloud Audit Logs는 API 호출과 구성 변경 사항을 수집합니다. 이러한 서비스를 활성화하지 않으면 조직은 클라우드 환경에서 누가 무엇을 했는지 보여 주는 감사 추적을 확보할 수 없으며, 이는 규정 준수와 포렌식 조사에 큰 공백이 됩니다.
# Enable CloudTrail for all regions (AWS)
aws cloudtrail create-trail \
--name org-trail \
--s3-bucket-name my-cloudtrail-bucket \
--is-multi-region-trail \
--include-global-service-events
aws cloudtrail start-logging --name org-trail제3자 책임: MSP와 CSP
조직이 Managed Service Provider(MSP)를 사용하여 클라우드 환경을 운영하면 책임이 세 주체로 나뉩니다. 고객은 계약(SLA와 DPA)에 보안 의무가 명확히 정의되어 있는지 확인해야 합니다. SaaS를 통해 액세스하는 제3자 클라우드 앱은 추가적인 복잡성을 유발합니다. 지나치게 광범위한 앱에 OAuth 동의를 부여하면 해당 앱이 사용자의 데이터에 액세스할 수 있습니다. 제3자 OAuth 동의를 검토하고 정기적으로 감사하는 것은 SaaS 보안 위생의 일부입니다.
공유 모델에서의 규정 준수
워크로드가 클라우드로 이동했다고 해서 규정 준수 requirement가 사라지는 것은 아닙니다. HIPAA는 PHI를 처리하는 클라우드 제공업체와 Business Associate Agreement(BAA)를 체결하도록 요구하며, AWS, Azure, GCP는 모두 BAA를 제공합니다. PCI-DSS는 클라우드 환경이 평가 범위에 포함되도록 요구합니다. 제공업체가 제공하는 공유 책임 매트릭스에는 어떤 PCI 통제가 충족되는지가 기록되어 있습니다. 조직은 감사를 통과하기 위해 제공업체가 담당하는 부분과 직접 구현해야 하는 부분을 이해해야 합니다.
계약 및 법적 고려 사항
공유 책임 모델은 법적 효력을 가집니다. 클라우드 제공업체의 서비스 약관과 서비스 수준 계약(SLA)에는 가용성 보장과 제외 사항이 명시됩니다. GDPR에 따른 데이터 처리 계약(DPA)은 처리자의 의무를 정의합니다. 제공업체 측의 장애로 침해가 발생하면 고객은 SLA에 따른 구제 조치를 요구할 근거를 갖습니다. 침해가 고객의 잘못된 구성으로 인해 발생했다면 제공업체는 책임을 지지 않습니다. 계약을 이해하는 것은 기술적 통제를 이해하는 것만큼 중요합니다.
빠른 확인
이 lesson에서 다룬 CompTIA Security+ (SY0-701) 개념을 이해했는지 확인해 보십시오.
lesson 요약
이 lesson에서는 다음을 배웠습니다. 공유 책임 모델은 IaaS, PaaS, SaaS 전반에서 제공업체와 고객의 보안 의무를 정의합니다. 또한 고객은 IaaS에서 가장 많은 보안 책임을, SaaS에서 가장 적은 보안 책임을 지지만, 언제나 액세스 관리와 데이터 거버넌스에 대한 책임을 집니다. 그리고 클라우드 침해의 가장 큰 원인은 제공업체의 장애가 아니라 고객의 잘못된 구성입니다. 다음에는 클라우드 스토리지 보안과 데이터 노출 위험을 살펴보겠습니다.
자주 묻는 질문
“공동 책임 모델: IaaS, PaaS, SaaS” 강의는 무료인가요?
네 — “공동 책임 모델: IaaS, PaaS, SaaS” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Security+ Academy 강의 전체를 잠금 해제할 수 있습니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“공동 책임 모델: IaaS, PaaS, SaaS”에서 뭘 배우나요?
세 가지 주요 서비스 모델에서 클라우드 제공자와 고객이 각각 처리하는 보안 제어 항목을 정확히 구분합니다. 브라우저에서 직접 실행하는 실습 코드로 Security+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Security+ Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Security+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“공동 책임 모델: IaaS, PaaS, SaaS” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Security+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Security+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 공동 책임 모델: IaaS, PaaS, SaaS
- 클라우드 저장소 보안과 데이터 노출 위험
- 클라우드 ID: IAM 역할과 서비스 계정
- 클라우드 보안 상태 관리(CSPM)