[AWS Official Document](https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/UsingKMSEncryption.html)
- AWS S3에서 제공하는 **서버 측 암호화(Server-Side Encryption) 방식 중 하나**
- 즉, 데이터를 S3에 저장할 때 **AWS KMS(Key Management Service)를 이용해 암호화 키를 관리하는 방식**
### 특징
- **KMS 기반 키 관리**
- 암호화 키를 AWS KMS에서 생성 및 관리
- 사용자가 직접 키 생성/권한 제어 가능
- **세밀한 접근 제어**
- IAM + KMS 정책을 통해 누가 키를 사용할 수 있는지 제어 가능
- S3 접근 권한 + KMS 키 권한 모두 필요
- **암호화 + 감사(Audit)**
- 키 사용 기록이 AWS CloudTrail에 남음
- 누가 언제 어떤 데이터를 암호화/복호화했는지 추적 가능
- **AES-256 기반 암호화**
- 내부적으로 강력한 암호화 알고리즘 사용
- **Envelope Encryption 구조**
- 데이터는 데이터 키로 암호화
- 데이터 키는 KMS의 마스터 키로 다시 암호화
- **추가 비용 발생**
- KMS 키 사용 및 API 호출에 따라 비용 발생
### 사용 예시
- 금융/헬스케어 등 **보안 및 규제가 중요한 서비스**
- 데이터 접근 및 암호화 이력을 **감사해야 하는 경우**
- 조직 내에서 **암호화 키를 직접 통제해야 하는 경우**
### 한계
- SSE-S3보다 **설정 복잡도 증가**
- KMS API 호출로 인해 **지연(latency) 발생 가능**
- 요청량이 많을 경우 **비용 증가**