Amazon S3 기본 버킷 암호화 활성화 - Amazon Simple Storage Service

Amazon S3 기본 버킷 암호화 활성화

Amazon S3 버킷에 저장되는 모든 객체를 암호화하는 기본 암호화 동작을 버킷에 설정할 수 있습니다. 객체는 Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3) 또는 AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화를 사용하여 암호화됩니다.

AWS KMS를 사용하여 기본 암호화를 구성할 때 S3 버킷 키도 구성할 수 있습니다. 자세한 내용은 Amazon S3 버킷 키를 사용하여 SSE-KMS 비용 절감 섹션을 참조하세요.

기본 암호화는 모든 기존 S3 버킷과 새 Amazon S3 버킷에서 작동합니다. 기본 암호화를 사용하지 않고 버킷에 저장된 모든 객체를 암호화하려면 모든 객체 스토리지 요청에 암호화 정보를 포함시켜야 합니다. 또한 암호화 정보를 포함하지 않는 스토리지 요청을 거부하도록 Amazon S3 버킷 정책을 설정해야 합니다.

S3 버킷의 기본 암호화 사용에 대한 추가 비용은 없습니다. 기본 암호화 기능을 구성하도록 요청할 경우 표준 Amazon S3 요청 요금이 발생합니다. 요금에 대한 자세한 내용은 Amazon S3 요금을 참조하세요. SSE-KMS KMS 키 스토리지의 경우 AWS KMS 요금이 적용됩니다. 요금은 AWS KMS 요금에 나와 있습니다.

기본 암호화를 활성화하기 전에 유의할 변경 사항

버킷에 대한 기본 암호화를 활성화한 후에는 다음 암호화 동작이 적용됩니다.

  • 기본 암호화가 활성화되기 전에 버킷에 있었던 객체의 암호화는 변경되지 않습니다.

  • 기본 암호화를 활성화한 후 객체를 업로드하는 경우:

    • PUT 요청 헤더에 암호화 정보가 포함되지 않는 경우 Amazon S3는 버킷의 기본 암호화 설정을 사용하여 객체를 암호화합니다.

    • PUT 요청 헤더에 암호화 정보가 포함되는 경우 Amazon S3는 객체를 Amazon S3에 저장하기 전에 PUT 요청의 암호화 정보를 사용하여 객체를 암호화합니다.

  • 기본 암호화 구성에 대해 SSE-KMS 옵션을 사용할 경우 AWS KMS에 대한 RPS(초당 요청 수) 제한이 적용됩니다. AWS KMS 제한과 한도 증가를 요청하는 방법에 대한 자세한 내용은 AWS KMS 제한 단원 참조하세요.

Amazon S3 버킷에 대한 기본 암호화를 활성화하려면

  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 버킷 목록에서 원하는 버킷의 이름을 선택합니다.

  3. [속성(Properties)]을 선택합니다.

  4. 기본 암호화에서 편집을 선택합니다.

  5. 서버 측 암호화를 활성화 또는 비활성화하려면 활성화 또는 비활성화를 선택합니다

  6. Amazon S3 관리형 키를 사용하여 서버 측 암호화를 활성화하려면 암호화 키 유형에서 Amazon S3 키(SSE-S3)를 선택합니다.

    Amazon S3 서버 측 암호화를 사용하는 데이터 암호화에 대한 자세한 내용은 Amazon S3가 관리하는 암호화 키(SSE-S3)를 사용하는 서버 측 암호화로 데이터 보호 섹션을 참조하세요.

  7. AWS KMS key를 사용하여 서버 측 암호화를 활성화하려면 다음 단계를 따르세요.

    1. [암호화 키 유형(Encryption key type)]에서 AWS Key Management Service 키(SSE-KMS)를 선택합니다.

      중요

      기본 암호화 구성에 대해 AWS KMS 옵션을 사용할 경우 AWS KMS에 대한 RPS(초당 요청 수) 제한이 적용됩니다. AWS KMS 할당량과 할당량 증가를 요청하는 방법에 대한 자세한 내용은 할당량을 참조하세요.

    2. AWS KMS 키에서 다음 중 하나를 선택합니다.

      • AWS 관리형 키(aws/s3)

      • KMS 루트 키 중에서 선택(Choose from your KMS root keys)한 후 KMS 루트 키(KMS root key)를 선택합니다.

      • KMS 루트 키 ARN을 입력한 후 AWS KMS 키 ARN을 입력합니다.

      중요

      버킷과 동일한 AWS 리전에서 사용되는 KMS 키만 사용할 수 있습니다. KMS 키에서 선택(Choose from your KMS keys)을 선택하면 S3 콘솔에는 KMS 키가 리전당 100개씩만 나열됩니다. 동일한 리전에 100개 이상의 KMS 키가 있는 경우, S3 콘솔에서 처음 100개의 KMS 키만 볼 수 있습니다. 콘솔에 나열되지 않은 KMS 키를 사용하려면 사용자 지정 KMS ARN(Custom KMS ARN)을 선택하고 KMS 키 ARN을 입력합니다.

      Amazon S3에서 서버 측 암호화에 AWS KMS key를 사용하는 경우 대칭 KMS 키를 선택해야 합니다. Amazon S3는 대칭 KMS 키만 지원하며 비대칭 KMS 키는 지원하지 않습니다. 자세한 내용은 AWS Key Management Service 개발자 안내서대칭 및 비대칭 키 사용을 참조하세요.

      AWS KMS key 생성에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드키 생성을 참조하세요. Amazon S3에서 AWS KMS를 사용하는 방법에 대한 자세한 내용은 AWS Key Management Service에 저장된 KMS 키를 사용하는 서버 측 암호화(SSE-KMS)로 데이터 보호 섹션을 참조하세요.

  8. S3 버킷 키를 사용하려면 [버킷 키(Bucket Key)]에서 [활성화(Enable)]를 선택합니다.

    SSE-KMS와 함께 기본 암호화를 사용하도록 버킷을 구성할 때 S3 버킷 키를 활성화할 수도 있습니다. S3 버킷 키를 사용하면 Amazon S3에서 AWS KMS로의 요청 트래픽이 줄어 암호화 비용이 절감됩니다. 자세한 내용은 Amazon S3 버킷 키를 사용하여 SSE-KMS 비용 절감 섹션을 참조하세요.

  9. [변경 사항 저장(Save changes)]을 선택합니다.

다음 예제에서는 S3 버킷 키와 함께 Amazon S3 관리형 암호화(SSE-S3) 또는 AWS KMS 암호화(SSE-KMS)를 사용하여 기본 암호화를 구성하는 방법을 보여 줍니다.

기본 암호화에 대한 자세한 내용은 Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정 섹션을 참조하세요. AWS CLI를 사용하여 기본 암호화를 구성하는 방법에 대한 자세한 내용은 put-bucket-encryption을 참조하세요.

예 – SSE-S3를 사용한 기본 암호화

이 예제에서는 Amazon S3 관리형 암호화를 사용하여 기본 버킷 암호화를 구성합니다.

aws s3api put-bucket-encryption --bucket bucket-name --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] }'

예 - S3 버킷 키와 SSE-KMS를 사용한 기본 암호화

이 예제에서는 S3 버킷 키와 SSE-KMS를 사용하여 기본 버킷 암호화를 구성합니다.

aws s3api put-bucket-encryption --bucket bucket-name --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "KMS-Key-ARN" }, "BucketKeyEnabled": true } ] }'

REST API PUT 버킷 암호화 작업을 사용하여 기본 암호화를 활성화하고 사용할 서버 측 암호화 유형(SSE-S3 또는 SSE-KMS)을 설정합니다.

자세한 내용은 Amazon Simple Storage Service API 참조PutBucketEncryption을 참조하세요.