Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정 - Amazon Simple Storage Service

Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정

중요

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

모든 Amazon S3 버킷에는 기본적으로 암호화가 구성되어 있으며, 객체는 Amazon S3 관리형 키(SSE-S3)를 통한 서버 측 암호화를 사용하여 자동으로 암호화됩니다. 이 암호화 설정은 Amazon S3 버킷의 모든 객체에 적용됩니다.

키 교체 및 액세스 정책 권한 부여 관리와 같이 키를 더 세밀하게 제어해야 하는 경우 AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS) 또는 AWS KMS 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS)를 사용하는 방법도 있습니다. KMS 키 편집에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서키 편집을 참조하세요.

참고

새 객체 업로드를 자동으로 암호화하도록 버킷을 변경했습니다. 이전에 기본 암호화 없이 버킷을 생성한 경우 Amazon S3는 SSE-S3를 사용하여 버킷에 대해 기본적으로 암호화를 활성화합니다. 이미 SSE-S3 또는 SSE-KMS가 구성된 기존 버킷은 기본 암호화 구성이 변경되지 않습니다. SSE-KMS로 객체를 암호화하려면 버킷 설정에서 암호화 유형을 변경해야 합니다. 자세한 내용은 AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS) 사용 단원을 참조하십시오.

SSE-KMS의 기본 암호화를 사용하도록 버킷을 구성할 때 S3 버킷 키를 사용하면 Amazon S3에서 AWS KMS로의 요청 트래픽을 줄이고 암호화 비용을 절감할 수 있습니다. 자세한 내용은 Amazon S3 버킷 키를 사용하여 SSE-KMS 비용 절감 단원을 참조하십시오.

SSE-KMS가 기본 암호화로 사용 설정된 버킷을 식별하려면 Amazon S3 스토리지 렌즈 지표를 사용하면 됩니다. S3 스토리지 렌즈는 조직 전반에서 객체 스토리지 사용 및 활동에 대한 가시성을 확보하는 데 사용할 수 있는 클라우드 스토리지 분석 기능입니다. 자세한 내용은 Using S3 Storage Lens to protect your data(S3 스토리지 렌즈를 사용한 데이터 보호)를 참조하세요.

서버 측 암호화를 사용하는 경우 Amazon S3에서는 객체를 디스크에 저장하기 전에 암호화하고 객체를 다운로드할 때 이를 해독합니다. 서버 측 암호화를 사용한 데이터 보호 및 암호화 키 관리에 대한 자세한 내용은 서버 측 암호화를 사용하여 데이터 보호 섹션을 참조하세요.

기본 암호화에 필요한 권한에 대한 자세한 내용은 Amazon Simple Storage Service API 참조의 PutBucketEncryption 섹션을 참조하세요.

Amazon S3 콘솔, AWS SDK, Amazon S3 REST API 및 AWS Command Line Interface(AWS CLI CLI)를 사용하여 S3 버킷에 대한 Amazon S3 기본 암호화 동작을 구성할 수 있습니다.

기존 객체 암호화

기존에 암호화되지 않은 Amazon S3 객체를 암호화하기 위해 Amazon S3 배치 작업을 사용할 수 있습니다. 작업할 객체 목록을 S3 배치 작업에 제공하면 배치 작업은 각각의 API를 호출하여 지정된 작업을 수행합니다. 배치 작업 복사 작업을 사용하여 암호화되지 않은 기존 객체를 복사하고 암호화된 새로운 객체를 동일한 버킷에 작성할 수 있습니다. 단일 배치 작업 건으로 수십억 개의 객체에서 지정된 작업을 수행할 수 있습니다. 자세한 내용은 Amazon S3 객체에 대한 대규모 배치 작업 수행AWS 스토리지 블로그 게시물 Amazon S3 배치 작업에서 객체 암호화를 참조하세요.

CopyObject API 작업이나 copy-object AWS CLI 명령을 사용하여 기존 객체를 암호화할 수도 있습니다. 자세한 내용은 AWS 스토리지 블로그 게시물 AWS CLI를 사용하여 기존 Amazon S3 객체 암호화를 참조하세요.

참고

기본 버킷 암호화가 SSE-KMS로 설정된 Amazon S3 버킷은 서버 액세스 로깅을 사용한 요청 로깅의 대상 버킷으로 사용할 수 없습니다. 서버 액세스 로그 대상 버킷에는 SSE-S3 기본 암호화만 지원됩니다.

크로스 계정 작업에 SSE-KMS 암호화 사용

크로스 계정 작업에 암호화를 사용하는 경우 다음 사항에 유의하세요.

  • 요청 시 또는 버킷의 기본 암호화 구성을 통해 AWS KMS key Amazon 리소스 이름(ARN) 또는 별칭이 제공되지 않은 경우 AWS 관리형 키(aws/s3)가 사용됩니다.

  • KMS 키와 동일한 AWS 계정에 있는 AWS Identity and Access Management(IAM) 보안 주체를 사용하여 S3 객체를 업로드하거나 액세스하는 경우 AWS 관리형 키(aws/s3)를 사용할 수 있습니다.

  • S3 객체에 크로스 계정 액세스 권한을 부여하려면 고객 관리형 키를 사용합니다. 다른 계정으로부터의 액세스를 허용하도록 고객 관리형 키의 정책을 구성할 수 있습니다.

  • 자체 KMS 키를 지정하는 경우 정규화된 KMS 키 ARN을 사용하는 것이 좋습니다. KMS 키 별칭을 대신 사용하는 경우 AWS KMS가 요청자의 계정 내에서 키를 해독합니다. 이 동작으로 인해 버킷 소유자가 아닌 요청자에게 속한 KMS로 데이터가 암호화될 수 있습니다.

  • 사용자(요청자)에게 Encrypt 권한이 부여된 키를 지정해야 합니다. 자세한 내용은 AWS Key Management Service 개발자 안내서의 키 사용자가 암호화 작업에 KMS를 사용하도록 허용을 참조하세요.

고객 관리형 키와 AWS 관리형 KMS 키를 사용해야 하는 상황에 대한 자세한 내용은 Amazon S3의 객체를 암호화하기 위해 AWS 관리형 키와 고객 관리형 KMS 키 중 무엇을 사용해야 합니까?를 참조하세요.

복제에 기본 암호화 사용

복제 대상 버킷에 대한 기본 암호화를 사용 설정하면 다음 암호화 동작이 적용됩니다.

  • 소스 버킷의 객체가 암호화되지 않은 경우 대상 버킷의 복제본 객체는 대상 버킷의 기본 암호화 설정을 사용하여 암호화됩니다. 결과적으로 소스 객체의 엔터티 태그(ETag)는 복제본 객체의 ETag와 다릅니다. ETag를 사용하는 애플리케이션이 있는 경우 이 차이를 고려하도록 해당 애플리케이션을 업데이트해야 합니다.

  • 소스 버킷의 객체가 Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3), AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS) 또는 AWS KMS 키를 사용한 이중 계층 서브 측 암호화(DSSE-KMS)를 사용하여 암호화되는 경우, 대상 버킷의 복제본 객체는 소스 객체와 동일한 유형의 암호화를 사용합니다. 대상 버킷의 기본 암호화 설정은 사용되지 않습니다.

SSE-KMS와 함께 기본 암호화를 사용하는 방법에 대한 자세한 내용은 암호화(SSE-C, SSE-S3, SSE-KMS, DSSE-KMS)된 객체 복제 섹션을 참조하세요.

Amazon S3 버킷 키와 기본 암호화 사용

새 객체에서 기본 암호화 동작으로 SSE-KMS를 사용하도록 버킷을 구성할 때 S3 버킷 키도 구성할 수 있습니다. S3 버킷 키는 Amazon S3에서 AWS KMS로의 트랜잭션 수를 줄여 SSE-KMS의 비용을 줄입니다.

새 객체에서 SSE-KMS용 S3 버킷 키를 사용하도록 버킷을 구성하면 AWS KMS는 버킷의 객체에 대해 고유한 데이터 키를 만드는 데 사용되는 버킷 수준 키를 생성합니다. 이 S3 버킷 키는 Amazon S3 내에서 제한된 기간 동안 사용되므로 Amazon S3가 암호화 작업을 완료하기 위해 AWS KMS에 요청할 필요성이 줄어듭니다.

S3 버킷 키 사용에 대한 자세한 내용은 Amazon S3 버킷 키 사용 단원을 참조하십시오.