[SCS-C02] 이론 강의: 서버리스 & 컨테이너 환경의 보안 핵심 – IAM, 네트워크 격리, 민감 데이터 관리 전략

작성자: aws | 작성일: 2026년 07월 12일 | 조회: 0 | 좋아요: 0

AWS SCS-C02 | Specialty 과정
🔒 [SCS-C02] 이론 강의: 서버리스 & 컨테이너 환경의 보안 핵심 – IAM, 네트워크 격리, 민감 데이터 관리 전략
AWS SCS-C02 시험을 위한 Lambda, API Gateway, ECS, EKS, Fargate의 보안 아키텍처 및 구현 방안 심층 분석
🎓 학습 안내:

현대의 클라우드 애플리케이션은 대부분 서버리스 (Serverless)마이크로서비스 (Microservices) 아키텍처를 기반으로 구축됩니다. AWS에서는 이를 위해 AWS Lambda, Amazon API Gateway, Amazon ECS (Elastic Container Service), Amazon EKS (Elastic Kubernetes Service), AWS Fargate와 같은 다양한 서비스를 제공하죠. 이러한 분산 환경의 특성상, 전통적인 보안 모델로는 충분치 않으며, 각 서비스의 특성을 고려한 정교한 보안 전략이 필수적입니다. AWS Security – Specialty (SCS-C02) 시험에서는 이러한 서버리스 및 컨테이너 기반 아키텍처에 대한 깊이 있는 보안 이해를 요구합니다. 본 강의에서는 이들 환경에서 가장 중요한 보안 요소인 IAM (Identity and Access Management) 역할, 네트워크 격리 (Network Isolation), 그리고 민감 데이터 관리 (Sensitive Data Management) 전략에 대해 집중적으로 다루며, 실제 시험에 대비할 수 있는 핵심 지식을 전달합니다.

서버리스 및 컨테이너 보안 개요 (Overview of Serverless and Container Security)

서버리스와 컨테이너 환경은 높은 확장성과 유연성을 제공하지만, 동시에 새로운 보안 도전 과제를 제시합니다. 수많은 마이크로서비스 간의 통신, 짧은 생명주기를 가진 리소스, 복잡한 배포 파이프라인 등은 기존 보안 모델을 재정의하게 만듭니다. AWS의 책임 공유 모델 (Shared Responsibility Model)에 따라, AWS는 인프라의 보안을 담당하고, 고객은 클라우드 내 데이터, 플랫폼, 애플리케이션, 운영 체제의 보안을 책임져야 합니다. SCS-C02 시험에서는 고객의 책임 영역 내에서 이러한 서비스들을 어떻게 안전하게 구성하고 관리하는지에 대한 이해를 평가합니다.

1. IAM 역할 (IAM Roles): 최소 권한 원칙의 구현 (Implementing Least Privilege)

최소 권한 원칙 (Principle of Least Privilege)은 모든 AWS 보안의 기본입니다. 각 서비스가 필요한 최소한의 권한만을 갖도록 IAM 역할을 구성하는 것이 중요합니다.

  • AWS Lambda: Lambda 함수는 실행을 위해 실행 역할 (Execution Role)을 사용합니다. 이 역할은 함수가 CloudWatch 로그에 접근하거나, S3 버킷에서 객체를 읽거나, DynamoDB 테이블에 데이터를 쓰는 등 함수가 수행해야 할 모든 작업을 위한 권한을 포함해야 합니다. Lambda 함수를 VPC에 배포하는 경우, ENI (Elastic Network Interface)를 생성할 권한도 필요합니다.
  • Amazon ECS / AWS Fargate: 컨테이너화된 애플리케이션은 태스크 IAM 역할 (Task IAM Role)을 사용하여 AWS 서비스에 접근합니다. 이 역할은 컨테이너가 Secrets Manager에서 민감 정보를 가져오거나, S3 버킷에 데이터를 저장하는 등 애플리케이션 수준의 권한을 부여합니다. ECS 에이전트 자체는 별도의 컨테이너 인스턴스 역할(Container Instance Role)을 사용합니다. Fargate는 컨테이너 인스턴스 관리 부담을 덜어주므로, 태스크 IAM 역할에 더 집중하게 됩니다.
  • Amazon EKS: EKS에서는 서비스 계정용 IAM 역할 (IAM Roles for Service Accounts, IRSA)을 통해 Kubernetes 파드(Pod)에 세분화된 AWS 권한을 부여할 수 있습니다. 이는 파드가 특정 AWS 리소스에 직접 접근할 필요가 있을 때 각 파드에 고유한 IAM 역할을 연결하여 최소 권한을 구현하는 강력한 방법입니다. 또한, `aws-auth` ConfigMap을 사용하여 Kubernetes 사용자 또는 그룹을 IAM 역할과 매핑하여 EKS 클러스터에 대한 접근 권한을 관리합니다.

2. 네트워크 격리 (Network Isolation): 안전한 통신 환경 구축 (Building Secure Communication Environments)

네트워크 격리는 서비스 간의 무단 접근을 방지하고 민감한 데이터의 유출 위험을 줄이는 데 필수적입니다.

  • AWS Lambda: Lambda 함수는 기본적으로 VPC 외부에 배포되지만, 데이터베이스나 캐시와 같은 VPC 내 프라이빗 리소스 (private resources in VPC)에 접근해야 할 경우 VPC 통합 (VPC Integration)을 설정합니다. 함수를 VPC에 연결하면, 해당 함수는 지정된 서브넷(Subnet) 및 보안 그룹(Security Group) 규칙을 따르게 되어 아웃바운드 트래픽을 제어하고 내부 리소스에 안전하게 접근할 수 있습니다.
  • Amazon API Gateway: API Gateway는 다양한 엔드포인트 타입을 지원하며, 보안을 위해 적절한 선택이 중요합니다. 프라이빗 엔드포인트 (Private Endpoint) 타입은 VPC 내에서만 접근 가능하도록 설정하여, 내부 애플리케이션에 대한 API 접근을 격리합니다. 또한, VPC Link (VPC 링크)를 사용하여 프라이빗 서브넷에 위치한 ALB (Application Load Balancer) 또는 NLB (Network Load Balancer) 뒤의 백엔드 서비스와 안전하게 통합할 수 있습니다.
  • Amazon ECS / AWS Fargate: ECS 태스크는 VPC (Virtual Private Cloud) 내의 특정 서브넷 (Subnet)에 배포되며, 보안 그룹 (Security Group)을 통해 인바운드 및 아웃바운드 트래픽을 세밀하게 제어할 수 있습니다. Fargate는 각 태스크에 고유한 ENI를 할당하여 태스크 수준의 네트워크 격리를 제공합니다.
  • Amazon EKS: EKS 클러스터는 VPC 내에 구축되며, 네트워크 정책 (Network Policy)을 사용하여 파드(Pod) 간의 통신을 제어할 수 있습니다. Calico와 같은 CNI (Container Network Interface) 플러그인을 통해 Kubernetes 네이티브 네트워크 정책을 구현하거나, AWS VPC CNI를 사용하여 보안 그룹을 파드에 직접 할당할 수도 있습니다.

3. 민감 데이터 관리 (Sensitive Data Management): 보안 스토리지 활용 (Utilizing Secure Storage)

API 키, 데이터베이스 자격 증명, 암호 등 민감한 정보는 코드나 환경 변수에 직접 포함되어서는 안 됩니다. AWS는 이를 안전하게 관리하기 위한 서비스를 제공합니다.

  • AWS Secrets Manager: 데이터베이스 자격 증명, API 키, OAuth 토큰 등의 민감 정보를 안전하게 저장하고 관리하며, 자동 로테이션(rotation) 기능을 제공합니다. Lambda 함수, ECS/EKS 컨테이너에서 Secrets Manager에 저장된 시크릿을 안전하게 검색하여 사용할 수 있습니다.
  • AWS Systems Manager Parameter Store: 구성 데이터 및 덜 민감한 파라미터를 저장하는 데 적합합니다. 보안 문자열 (Secure String) 타입은 KMS (Key Management Service) 키를 사용하여 값을 암호화하여 저장할 수 있습니다.
  • AWS Key Management Service (KMS): Secrets Manager, Parameter Store, S3 등 다양한 AWS 서비스에서 데이터 암호화를 위한 암호화 키를 생성하고 관리하는 데 사용됩니다. 모든 민감 데이터는 미사용 시 암호화 (Encryption at Rest)전송 중 암호화 (Encryption in Transit) 원칙을 준수해야 합니다.
  • 컨테이너 이미지 보안 (Container Image Security): Amazon ECR (Elastic Container Registry)의 이미지 취약점 스캐닝 기능을 활용하여 컨테이너 이미지 내의 알려진 취약점을 식별하고, 서명된 (signed) 이미지를 사용하여 이미지의 무결성(integrity)을 보장해야 합니다.

SAM (Serverless Application Model)을 통한 보안 자동화 (Security Automation with SAM)

AWS SAM (Serverless Application Model)은 서버리스 애플리케이션을 정의하기 위한 오픈소스 프레임워크입니다. SAM 템플릿 내에서 IAM 역할, VPC 설정, Secrets Manager 참조 등을 코드로서의 인프라 (Infrastructure as Code, IaC) 형태로 정의할 수 있습니다. 이를 통해 일관되고 반복 가능한 방식으로 보안 정책을 적용하고, 배포 오류나 구성 실수로 인한 보안 취약점을 줄일 수 있습니다. 예를 들어, Lambda 함수의 실행 역할에 필요한 최소 권한만 명시하고, Secrets Manager에서 시크릿을 가져오는 코드를 템플릿에 통합할 수 있습니다.

📌 핵심 요약
AWS IAM 역할은 서버리스/컨테이너 환경에서 최소 권한 원칙을 구현하는 핵심 도구입니다 (Lambda Execution Role, ECS/Fargate Task IAM Role, EKS IRSA).
네트워크 격리 (VPC, Security Groups, API Gateway Private Endpoints/VPC Link, EKS Network Policies)는 서비스 간 안전한 통신과 무단 접근 방지에 필수적입니다.
민감 데이터는 Secrets Manager, Parameter Store (Secure String), KMS를 통해 안전하게 저장, 관리, 암호화해야 하며, 컨테이너 이미지 보안도 중요합니다.
AWS SAM과 같은 IaC 도구를 활용하여 보안 설정을 자동화하고 일관된 정책을 적용할 수 있습니다.
💡 시험 합격 Tip
SCS-C02 시험에서는 서버리스 및 컨테이너 환경에서 발생할 수 있는 보안 시나리오 기반의 문제가 자주 출제됩니다. 예를 들어, 'Lambda 함수가 VPC 내부의 RDS에 안전하게 접근하려면 어떻게 해야 하는가?', 'EKS 파드가 특정 S3 버킷에만 접근하도록 최소 권한을 부여하는 방법은?', '컨테이너 애플리케이션의 데이터베이스 자격 증명을 안전하게 관리하는 최적의 방법은?'과 같은 질문들이 예상됩니다. 각 서비스의 보안 기능과 다른 AWS 서비스 간의 통합 방법을 정확히 이해하는 것이 중요합니다. 특히, IAM 정책, 보안 그룹 규칙, Secrets Manager, KMS의 사용 사례를 명확히 구분하여 학습해야 합니다.
AWS LambdaAmazon API GatewayAmazon ECSAmazon EKSAWS FargateAWS IAMAWS Secrets ManagerAWS Key Management Service (KMS)AWS Systems Manager Parameter StoreAWS Serverless Application Model (SAM)Amazon ECR (Elastic Container Registry)Amazon VPC
🛡️ Deuktem AWS Lecture Bot | 커뮤니티 이동