Encryption
1 S3 Encryption
- Amazon S3에서는 네 가지 방법으로 객체를 암호화할 수 있습니다.
2 서버 측 암호화 (SSE)
2.1 Amazon S3 관리 키를 사용하는 서버 측 암호화 (SSE-S3)
![[Pasted image 20240802145236.png]]
- 기본적으로 활성화되어 있습니다.
- AWS가 처리하고 관리하는 키를 사용하여 S3 객체를 암호화합니다.
- 객체는 서버 측에서 AES-256 방식으로 암호화됩니다.
- 헤더 "x-amz-server-side-encryption": "AES256"을 설정해야 합니다.
- 새로운 버킷과 객체에 대해 기본적으로 활성화됩니다.
- Amazon S3는 객체를 암호화하기 위해 자체 관리 키를 사용합니다.
- 이러한 키는 주기적으로 자동으 로 회전됩니다.
- 사용자가 키 관리 또는 회전에 대해 신경 쓸 필요가 없습니다.
2.2 AWS KMS 키를 사용하는 서버 측 암호화 (SSE-KMS)
![[Pasted image 20240802145227.png]]
- AWS Key Management Service (AWS KMS)를 사용하여 암호화 키를 관리합니다.
- KMS의 장점: 사용자 제어 및 CloudTrail을 사용한 키 사용 감사
- 객체는 서버 측에서 암호화됩니다.
- 헤더 "x-amz-server-side-encryption": "aws:kms"를 설정해야 합니다.
2.2.1 SSE-KMS의 제한 사항
- SSE-KMS를 사용할 경우 KMS 제한에 영향을 받을 수 있습니다.
- 업로드 시, GenerateDataKey KMS API가 호출됩니다.
- 다운로드 시, Decrypt KMS API가 호출됩니다.
- 이러한 호출은 초당 KMS 할당량에 포함됩니다
- (지역에 따라 5500, 10000, 30000 요청/초).
- Service Quotas Console을 사용하여 할당량 증가를 요청할 수 있습니다.