SSE는 서버가 자체적으로 암호화하는 방식을 의미한다. S3 암호화 설정은 파일 보안의 핵심이다. 암호화 설정을 해두지 않으면 해킹당했을 대 해커가 파일을 바로 열어볼 수 있게 된다. 비밀번호를 DB에 저장할 때 암호화해서 저장하듯이, S3에 파일을 저장할 때도 암호화해서 저장해야 한다. 그리고 암호화할 때는 키(Key)가 필요하다.
✅ SSE 종류
SSE-S3 :S3가 키를 알아서 생성 및 관리
가장 기본적이고 관리 쉬운 방식
SSE-KMS : AWS KMS(Key Management Service)가 키를 생성 및 관리
철저한 보안 요구 시 이 방식을 사용
AWS KMS : 암호화 할 때 사용하는 키를 생성 및 관리해주는 서비스
KMS는 암호화 키를 주기적으로 자동 교체해주는 기능을 가지고 있다.
KMS를 쓰면 S3에 저장된 파일마다 키를 별도로 생성해서 암호화를 진행한다. 파일이 많을 경우 비용이 많이 나온다. 이 때, S3 Bucket Key라는 걸 활용하면, 파일마다 키를 별도로 생성하지 않고 Bucket Key를 재사용해서 쓴다. 이로 인해 암호화 비용을 크게 절감할 수 있다.
SSE-C : 고객이 키를 직접 생성 및 관리
고객이 키를 관리하는 게 귀찮고 위험해서 권장되지 않는 방식
✅ S3 Batch Operations란?
S3 Batch Operations는 S3에 저장된 수백만~수십억 개의 파일에 대해 동일한 작업(복사, 삭제, 설정 적용 등)을 한 번에 실행할 수 있게 해주는 서비스이다.
** 개발에서 배치(Batch)는 ‘여러 개를 모아서 한 번에 처리한다’의 의미를 가진다.