기본 암호화 구성 - Amazon Simple Storage Service

기본 암호화 구성

중요

이제 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)를 사용하는 방법도 있습니다. SSE-KMS에 대한 자세한 내용은 AWS KMS(SSE-KMS)를 사용한 서버 측 암호화 지정 단원을 참조하십시오. DSSE-KMS에 대한 자세한 내용은 AWS KMS 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS) 사용 섹션을 참조하세요.

다른 계정에서 소유한 KMS 키를 사용하려면 먼저 해당 키에 대한 사용 권한이 있어야 합니다. KMS 키의 크로스 계정 권한에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서에서 다른 계정에서 사용할 수 있는 KMS 키 만들기를 참조하십시오.

기본 버킷 암호화를 SSE-KMS로 설정하는 경우 S3 버킷 키도 설정하여 AWS KMS 요청 비용을 절감할 수 있습니다. 자세한 내용은 Amazon S3 버킷 키를 사용하여 SSE-KMS 비용 절감 단원을 참조하십시오.

참고

PutBucketEncryption을 사용하여 기본 버킷 암호화를 SSE-KMS로 설정하려는 경우 KMS 키 ID가 올바른지 확인해야 합니다. Amazon S3는 PutBucketEncryption 요청에 제공된 KMS 키 ID를 검증하지 않습니다.

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

고객 제공 암호화 키(SSE-C)를 통한 서버 측 암호화는 기본 암호화로 지원되지 않습니다.

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

기본 암호화를 사용 설정하기 전에 유의할 변경 사항

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

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

  • 기본 암호화를 사용 설정한 후 객체를 업로드하는 경우:

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

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

  • 기본 암호화 구성으로 SSE-KMS 또는 DSSE-KMS 옵션을 사용할 경우 AWS KMS의 초당 요청 수(RPS) 할당량이 적용됩니다. AWS KMS 할당량과 할당량 증대를 요청하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 할당량을 참조하세요.

참고

기본 암호화가 활성화되기 전에 업로드된 객체는 암호화되지 않습니다. 기존 객체 암호화에 대한 자세한 내용은 Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정 섹션을 참조하세요.

Amazon S3 버킷에 대해 기본 암호화를 구성하는 방법
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.

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

  4. 속성(Properties) 탭을 선택합니다.

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

  6. 암호화를 구성하려면 암호화 유형에서 다음 중 하나를 선택합니다.

    • Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)

    • AWS Key Management Service 키를 사용한 서버 측 암호화(SSE-KMS)

    • AWS Key Management Service 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS)

      중요

      기본 암호화 구성으로 SSE-KMS 또는 DSSE-KMS 옵션을 사용할 경우 AWS KMS의 초당 요청 수(RPS) 할당량이 적용됩니다. AWS KMS 할당량과 할당량 증대를 요청하는 방법에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 할당량을 참조하십시오.

    버킷에 다른 유형의 기본 암호화를 지정하지 않으면 버킷과 새 객체는 기본적으로 SSE-S3로 암호화됩니다. 기본 암호화에 대한 자세한 내용은 Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정 섹션을 참조하십시오.

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

  7. AWS Key Management Service키를 사용한 서버 측 암호화(SSE-KMS) 또는 AWS Key Management Service 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS)를 선택한 경우 다음을 수행하세요.

    1. AWS KMS 키에서 다음 방법 중 하나로 KMS 키를 지정합니다.

      • 사용 가능한 KMS 키 목록에서 AWS KMS keys 중에서 선택을 선택하고 사용 가능한 키 목록에서 KMS 키를 선택합니다.

        AWS 관리형 키(aws/s3)와 고객 관리형 키가 모두 목록에 표시됩니다. 고객 관리형 키에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 고객 키 및 AWS 키를 참조하십시오.

      • KMS 키 ARN을 입력하려면 AWS KMS key ARN 입력을 선택하고 나타나는 필드에 KMS 키 ARN을 입력합니다.

      • AWS KMS 콘솔에서 고객 관리형 키를 생성하려면 KMS 키 생성을 선택합니다.

        AWS KMS key 생성에 대한 자세한 내용은 AWS Key Management Service 개발자 가이드키 생성을 참조하십시오.

      중요

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

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

      Amazon S3에서 SSE-KMS를 사용하는 방법에 대한 자세한 내용은 AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS) 사용 섹션을 참조하세요. DSSE-KMS 사용에 대한 자세한 내용은 AWS KMS 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS) 사용 섹션을 참조하세요.

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

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

      참고

      S3 버킷 키는 DSSE-KMS에서 지원되지 않습니다.

  8. Save changes(변경 사항 저장)를 선택합니다.

다음 예시에서는 SSE-S3를 사용하거나 S3 버킷 키와 함께 SSE-KMS를 사용하여 기본 암호화를 구성하는 방법을 보여줍니다.

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

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

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

aws s3api put-bucket-encryption --bucket DOC-EXAMPLE-BUCKET --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] }'
예 - S3 버킷 키와 SSE-KMS를 사용한 기본 암호화

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

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

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

자세한 내용은 Amazon Simple Storage Service API 참조에서 PutBucketEncryption를 참조하십시오.