본문으로 건너뛰기

AWS S3 암호화 및 버킷 정책

· 약 3분

S3 암호화

Amazon S3

  • 객체 스토리지 서비스 : 파일 보관만 가능
  • 글로벌 서비스 단, 데이터는 리전에 저장
  • 무제한 용량 : 하나의 객체는 0byte에서 5TB의 용량
  • 내구성 : 99.999999999% 내구성

S3의 보안 설정

  • S3 모든 버킷은 새로 생성시 기본적으로 Private(비공개)
  • 보안 설정은 객체 단위버킷 단위로 구성
  • MFA를 활용해 객체 삭제 방지 가능
  • Versioning을 통해 파일 관리 가능
  • 액세스 로그 생성 및 전송 가능

S3의 객체 암호화

  • On Transit : 통신하는 도중에 암호화 지원
  • At Rest(Sever Side) : S3에서 파일 저장 시 암호화 지원
  • Client Side : 클라이언트가 직접 암호화(가장 강력한 보안)

S3 버전관리 및 객체 잠금

S3 버전 관리

  • 객체의 생성, 업데이트, 삭제의 모든 단계를 저장
  • 버킷 단위로 활성화 필요(기본적으로 비활성화)
  • MFA 인증 후 삭제 기능을 통해 보안 강화 가능
  • 수명 주기 관리와 연동 가능

S3 버전 관리 유의 사항

  • 중지 가능(단, 비활성화 불가능)
  • 모든 버전에 대한 비용이 발생

객체 잠금 종류

  • 보관 모드(Retention Mode)

    • 일정 기간 동안 수정을 방지함
    • 규정 준수 모드 : 누구도 잠금 설정 변경, 객체 삭제 불가능
    • 거버넌스 모드 : 특별한 권한 없이 삭제 혹은 잠금 설정 변경 불가능(권한 있으면 해제 가능)
  • 법적 모드(Legal Mode)

    • Hold(특정한 신호)를 객체에 부여하고, Hold가 존재하는 한 객체 삭제, 수정 불가능

S3 버킷 정책

IAM 정책(Policy)의 종류

  • Identity-based policies(자격 증명 기반 정책)
    • 자격증명에 부여하는 정책(IAM 유저, 그룹, 역할)
    • 해당 자격증명이 무엇을 할 수 있는지 허용
  • Resource-based policies(리소스 기반 정책)
    • 리소스에 부여하는 정책(예 : S3, SQS, VPC Endpoint 등, KMS 등)
    • 해당 리소스에 누가 무엇을 할 수 있는지 허용 가능

S3 버킷 정책

  • 버킷 단위로 부여되는 리소스 기반 정책으로, 해당 버킷의 데이터에 정의 가능
  • 기본적으로 모든 버킷은 Private
    • 접근 불가능