

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

# Amazon S3의 암호화 모범 사례
<a name="s3"></a>

[Amazon Simple Storage Service(S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.

Amazon S3의 서버측 암호화에는 다음 세 가지 옵션이 있습니다.
+ [Amazon S3 관리형 암호화 키(SSE-S3)를 사용한 서버측 암호화](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)
+ [를 사용한 서버 측 암호화 AWS Key Management Service (SSE-KMS)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)
+ [고객 제공 암호화 키(SSE-C)를 사용한 서버측 암호화](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html)를 참조하십시오.

업로드 시 객체를 암호화하는 데 서버 측 암호화가 사용되는 경우 요청에 `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 ](https://aws.amazon.com/blogs/security/how-to-use-bucket-policies-and-apply-defense-in-depth-to-help-secure-your-amazon-s3-data/)AWS 

Amazon S3의 [클라이언트측 암호화](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingClientSideEncryption.html)에는 다음 두 가지 옵션이 있습니다.
+ 에 저장된 키 AWS KMS
+ 애플리케이션 내에 저장되는 키

이 서비스에 대해 다음 암호화 모범 사례를 고려하세요.
+ 에서 [s3-bucket-server-side-encryption-enabled](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-server-side-encryption-enabled.html) AWS 관리형 규칙을 AWS Config구현하여 S3 버킷 암호화를 검증하고 적용합니다.
+ 업로드되는 모든 객체가 `s3:x-amz-server-side-encryption` 조건을 사용하여 암호화되었는지 검증하는 Amazon S3 버킷 정책을 배포합니다. 자세한 내용은 [SSE-S3를 사용한 데이터 보호](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingServerSideEncryption.html)의 버킷 정책 예시와 [버킷 정책 추가](https://docs.aws.amazon.com/AmazonS3/latest/userguide/add-bucket-policy.html)의 지침을 참조하세요.
+ S3 버킷 IAM 정책에 `aws:SecureTransport` 조건을 사용하여 HTTPS(TLS)를 통해 암호화된 연결만 허용합니다. 자세한 내용은 [AWS Config 규칙 sS3bucket-ssl-requests-only](https://aws.amazon.com/premiumsupport/knowledge-center/s3-bucket-policy-for-config-rule/).
+ 에서 SSL 사용 요청을 요구하도록 [s3-bucket-ssl-requests-only](https://docs.aws.amazon.com/config/latest/developerguide/s3-bucket-ssl-requests-only.html) AWS 관리형 규칙을 AWS Config구현합니다.
+ Amazon S3 객체에 대한 크로스 계정 액세스 권한을 부여해야 하는 경우 고객 관리형 키를 사용합니다. 다른 AWS 계정의 액세스를 허용하도록 키 정책을 구성합니다.