데이터를 암호화로 보호하기
데이터를 암호화로 보호하기
데이터 보호(DATA PROTECTION)
Amazon S3의 데이터를 암호화를 사용해 보호할 수 있어요. Amazon S3는 다음 옵션을 조합해 사용할 수 있는 저장 데이터(encryption at rest) 옵션을 제공해요.
- 클라이언트 제공 마스터 키 또는 AWS Key Management Service(AWS KMS)를 사용한 클라이언트 측 암호화
- Amazon S3 관리 키를 사용한 서버 측 암호화(SSE-S3)
- AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS)
- 고객 제공 키를 사용한 서버 측 암호화(SSE-C)
Amazon S3는 [AWS 리전] 내부 및 [AWS 리전] 간의 모든 트래픽에 대해 기본적으로 전송 중 암호화(encryption in transit)를 제공하며, AWS 리전 내에서는 최소 [TLS 1.2] 이상의 [TLS 1.2+]를, 교차 인터리저널 트래픽에는 [TLS 1.2+]/[TLS 1.3+]를 사용해요. 또한 [AWS PrivateLink]를 다른 네트워크 경로(Network Load Balancer 등)에 선택적으로 사용할 수도 있어요. 잘못 구성된 암호화 관련 설정은 보안 위험을 유발할 수 있으므로 주의해야 해요.
암호화 옵션
저장 데이터 암호화(Encryption at rest)
Amazon S3는 저장 데이터를 보호하기 위한 다음과 같은 서버 측 암호화 옵션을 제공해요.
- SSE-S3 – Amazon S3 관리 키로 각 객체를 고유 키로 암호화하고, 추가 보호 계층으로 키 자체도 주기적으로 회전되는 루트 키로 암호화해요. 추가 비용 없이 사용할 수 있어요.
- SSE-KMS – AWS KMS 키로 데이터를 암호화해요. 키 관리, 회전, 감사 제어를 세밀하게 할 수 있으며, KMS 키에 대한 액세스 제어를 통해 데이터 접근을 제어할 수도 있어요.
- SSE-C – 직접 제공한 암호화 키를 사용해 데이터를 암호화해요. 키를 Amazon S3에 저장하지 않으며, HTTPS를 통해 제공한 키는 처리 후 폐기돼요.
또한 AWS SDK를 사용해 클라이언트 측에서 데이터를 암호화한 뒤 Amazon S3에 업로드할 수도 있어요.
전송 중 암호화(Encryption in transit)
Amazon S3는 HTTPS(TLS)를 통한 요청을 지원해 전송 중 데이터를 암호화해요. 콘솔, AWS CLI, AWS SDK는 기본적으로 HTTPS를 사용하며, 전송 중 암호화는 모든 Amazon S3 엔드포인트에서 지원돼요.
출처: 문서
본문
Encryption options (암호화 옵션)
Amazon S3의 저장 데이터 및 전송 중 데이터 암호화 옵션을 설명했어요. 저장 데이터는 SSE-S3, SSE-KMS, SSE-C, 클라이언트 측 암호화로 보호하고, 전송 중 데이터는 TLS로 기본 암호화돼요.