[AWS] S3 보안

 S3 보안 


보안은 AWS와 사용자의 공동 책임입니다.
클라우드의 보안에는 AWS 측에서 인프라를 보호할 책임이 있으나 클라우드 내의  보안에서는 사용자가 직접 관리해야할 책임이 있습니다 . 
Amazon S3의 다양한 보안 방식에대해 알아보았습니다 .  



S3 의 데이터 보호 

  • AWS의 서비스 제공 
    • Amazon S3 SLA 의 명시되어있듯이  객체에대한 높은 가용성과 높은 내구성을 제공합니다 . 
    • 두 시설의 데이터가 동시에 손실될 경우에도 작동을 유지할 수 있도록 설계되었습니다 . 

  • 사용자의 데이터 삭제 방지 
    • Amazon S3에서는 버전 관리를 사용하여 데이터에 대한 향상된 보호를 제공
    • MFA 삭제를 사용하여 객체를 삭제하기 위해 다단계 인증을 요구합니다.




SAA-CO2의 예시 


S3 데이터 손실을 방지하는 솔루션에 대한 문제입니다 . 
(A,E)




암호화를 사용하여 데이터 보호


서버 측 암호화 
- 데이터 센터의 디스크에 저장하기 전에 객체를 암호화하고 객체를 다운로드할 때 이를 해독하도록 Amazon S3에 요청합니다.
서버 측 암호화를 구성하려면 AWS KMS(SSE-KMS)를 사용한 서버 측 암호화 지정 또는 Amazon S3 암호화 지정을 설정 합니다 



클라이언트 측 암호화
- 클라이언트 측 데이터를 암호화하여 암호화된 데이터를 Amazon S3에 업로드합니다. 
사용자가 암호화 프로세스, 암호화 키 및 관련 도구를 관리



서버 측 암호화 

  • AWS KMS(SSE-CMK) 사용한 서버 측 암호화
    • 서버 측 암호화는 데이터를 받는 애플리케이션 또는 서비스에 의해 해당 대상에서 데이터를 암호화하는 것입니다. 
    •  AWS KMS 고객 마스터 키(CMK)를 사용하여 Amazon S3 객체(만)를 암호화합니다.(객체 메타데이터는 암호화 X ) 
  • SSE-S3 : S3가 관리하는 암호화 키
    • 서버 측 암호화를 사용하여 저장된 데이터를 보호합니다. Amazon S3는 각 객체를 고유한 키로 암호화합니다. 
    •  서버 측 암호화를 사용하는 경우 새로 요금이 부과되지 않지만  SSE-S3 구성 및 사용 요청에는 표준 Amazon S3 요청 요금이 발생합니다. 




SSE-S3

버킷에 저장된 모든 객체에 대해 서버 측 암호화가 필요할 경우 버킷 정책을 사용합니다. 
예를 들어 다음 버킷 정책은 요청에 서버 측 암호화를 요청하는 x-amz-server-side-encryption 헤더가 포함되지 않을 경우 객체 업로드 권한을 거부합니다.












댓글