Amazon S3의 암호화 모범 사례 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon S3의 암호화 모범 사례

Amazon Simple Storage Service(S3)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

Amazon S3의 서버측 암호화에는 다음 세 가지 옵션이 있습니다.

Amazon S3는 Amazon S3의 모든 버킷에 대해 Amazon S3 관리형 키(SSE-S3)를 사용한 서버 측 암호화를 기본 암호화 수준으로 적용합니다. 2023년 1월 5일부터 Amazon S3로의 모든 새 객체 업로드는 추가 비용 없이 성능에 영향을 미치지 않고 자동으로 암호화됩니다. S3 버킷 기본 암호화 구성 및 새 객체 업로드의 자동 암호화 상태는 AWS CloudTrail 로그, S3 인벤토리, S3 스토리지 렌즈, Amazon S3 콘솔 및 AWS Command Line Interface (AWS CLI) 및SDK의 추가 Amazon S3 API 응답 헤더에서 사용할 수 있습니다. AWS SDKs 자세한 내용은 기본 암호화 관련 FAQ를 참조하십시오.

업로드 시 객체를 암호화하는 데 서버 측 암호화가 사용되는 경우 요청에 x-amz-server-side-encryption 헤더를 추가하여 Amazon S3에 SSE-S3, SSE KMS 또는 SSE-C를 사용하여 객체를 암호화하도록 지시합니다. x-amz-server-side-encryption 헤더에 가능한 값은 다음과 같습니다.

  • AES256 - Amazon S3에 Amazon S3 관리형 키를 사용하도록 지시합니다.

  • aws:kms: Amazon S3에 AWS KMS 관리형 키를 사용하도록 지시합니다.

  • SSE-C에 대해 값을 True 또는 False로 설정

자세한 내용은 버킷 정책을 사용하고 Defense-in-depth를 적용하여 Amazon S3 데이터를 보호하는 방법(블로그 게시물)의 심층 방어 요구 사항 1: 저장 시 및 전송 중에 데이터를 암호화해야 합니다를 참조하세요. Defense-in-Depth Amazon S3 AWS

Amazon S3의 클라이언트측 암호화에는 다음 두 가지 옵션이 있습니다.

  • 에 저장된 키 AWS KMS

  • 애플리케이션 내에 저장되는 키

이 서비스에 대해 다음 암호화 모범 사례를 고려하세요.

  • 에서 s3-bucket-server-side-encryption-enabled AWS 관리형 규칙을 AWS Config구현하여 S3 버킷 암호화를 검증하고 적용합니다.

  • 업로드되는 모든 객체가 s3:x-amz-server-side-encryption 조건을 사용하여 암호화되었는지 검증하는 Amazon S3 버킷 정책을 배포합니다. 자세한 내용은 SSE-S3를 사용한 데이터 보호의 버킷 정책 예시와 버킷 정책 추가의 지침을 참조하세요.

  • S3 버킷 IAM 정책에 aws:SecureTransport 조건을 사용하여 HTTPS(TLS)를 통해 암호화된 연결만 허용합니다. 자세한 내용은 AWS Config 규칙 sS3bucket-ssl-requests-only.

  • 에서 SSL 사용 요청을 요구하도록 s3-bucket-ssl-requests-only AWS 관리형 규칙을 AWS Config구현합니다.

  • Amazon S3 객체에 대한 크로스 계정 액세스 권한을 부여해야 하는 경우 고객 관리형 키를 사용합니다. 다른 AWS 계정의 액세스를 허용하도록 키 정책을 구성합니다.