✅ SSE(Server Side Encryption)란?
💡 한 줄 요약 : 서버가 자체적으로 암호화는 방식을 의미한다.
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 : 고객(Customer)이 키를 직접 생성 및 관리
- 고객이 키를 관리하는 게 귀찮고 위험해서 권장되지 않는 방식
✅ S3 Batch Operations 란?
S3 Batch Operations는 S3에 저장된 수백만~수십억 개의 파일에 대해
동일한 작업(복사, 삭제, 설정 적용 등) 을 한 번에 실행할 수 있게 해주는 서비스이다.
** 개발에서 배치(Batch)는 '여러 개를 모아서 한 번에 처리한다'의 의미를 가진다