기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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
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 계정의 액세스를 허용하도록 키 정책을 구성합니다.