디렉터리 버킷의 기본 암호화 설정 및 모니터링
Amazon S3 버킷에는 기본적으로 버킷 암호화가 활성화되어 있으며, 새로운 객체는 Amazon S3 관리형 키(SSE-S3)를 통한 서버 측 암호화를 사용하여 자동으로 암호화됩니다. 이 암호화는 Amazon S3 버킷의 모든 새 객체에 적용되며 무료로 제공됩니다.
키 교체 및 액세스 정책 권한 부여 관리와 같이 암호화 키를 더 세밀하게 제어해야 하는 경우 AWS Key Management Service(AWS KMS) 키(SSE-KMS)를 통한 서버 측 암호화를 사용하는 방법도 있습니다.
참고
버킷의 기본 암호화는 원하는 암호화 구성을 사용하고
CreateSession
요청 또는PUT
객체 요청에서 버킷 기본 암호화를 재정의하지 않는 것이 좋습니다. 그러면 새 객체가 원하는 암호화 설정으로 자동 암호화됩니다. 디렉터리 버킷의 암호화 재정의 동작에 대한 자세한 내용은 Specifying server-side encryption with AWS KMS for new object uploads를 참조하세요.SSE-KMS로 디렉터리 버킷의 새 객체를 암호화하려면 KMS 키(특히 고객 관리형 키)를 사용하여 디렉터리 버킷의 기본 암호화 구성으로 SSE-KMS를 지정해야 합니다. 그런 다음 영역 엔드포인트 API 작업을 위한 세션이 생성되면 세션 중에 SSE-KMS 및 S3 버킷 키를 사용하여 새 객체가 자동으로 암호화되고 해독됩니다.
기본 버킷 암호화를 SSE-KMS로 설정하면 S3 버킷 키는 디렉터리 버킷의
GET
및PUT
작업에 대해 항상 활성화되며 비활성화할 수 없습니다. CopyObject, UploadPartCopy, 배치 운영의 Copy 작업 또는 import 작업을 통해 SSE-KMS로 암호화된 객체를 범용 버킷에서 디렉터리 버킷으로, 디렉터리 버킷에서 범용 버킷으로 또는 디렉터리 버킷 간에 복사하는 경우 S3 버킷 키는 지원되지 않습니다. 이 경우 Amazon S3는 KMS 암호화 개체에 대한 사본 요청이 있을 때마다 AWS KMS를 직접적으로 호출합니다. S3 버킷 키로 AWS KMS 요청 비용을 절감하는 방법에 대한 자세한 내용은 Amazon S3 버킷 키를 사용하여 SSE-KMS 비용 절감 섹션을 참조하세요.디렉터리 버킷에서 암호화를 위한 AWS KMS 고객 관리형 키를 지정할 때는 키 ID 또는 키 ARN만 사용하세요. KMS 키의 키 별칭 형식은 지원되지 않습니다.
AWS KMS 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS) 및 고객 제공 키를 사용한 서버 측 암호화(SSE-C)는 디렉터리 버킷의 기본 암호화에서 지원되지 않습니다.
기본 암호화 구성 방법에 대한 자세한 내용은 기본 암호화 구성 섹션을 참조하세요.
기본 암호화에 필요한 권한에 대한 자세한 내용은 Amazon Simple Storage Service API 참조의 PutBucketEncryption 섹션을 참조하세요.
Amazon S3 콘솔, AWS SDK, Amazon S3 REST API 및 AWS Command Line Interface(AWS CLI)를 사용하여 S3 버킷에 대한 Amazon S3 기본 암호화를 구성할 수 있습니다.
Amazon S3 버킷에 대해 기본 암호화를 구성하는 방법
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
왼쪽 탐색 창에서 버킷(Buckets)을 선택합니다.
-
버킷 목록에서 원하는 버킷의 이름을 선택합니다.
-
속성(Properties) 탭을 선택합니다.
-
서버 측 암호화 설정에서 디렉터리 버킷이 Amazon S3 관리형 키를 사용한 서버 측 암호화(SSE-S3)를 통해 데이터를 암호화합니다.
-
Save changes(변경 사항 저장)를 선택합니다.
다음 예시에서는 SSE-S3를 사용하거나 S3 버킷 키와 함께 SSE-KMS를 사용하여 기본 암호화를 구성하는 방법을 보여줍니다.
기본 암호화에 대한 자세한 내용은 Amazon S3 버킷에 대한 기본 서버 측 암호화 동작 설정 섹션을 참조하십시오. AWS CLI를 사용하여 기본 암호화를 구성하는 방법에 대한 자세한 내용은 put-bucket-encryption
예 – SSE-S3를 사용한 기본 암호화
이 예시에서는 Amazon S3 관리형 키를 사용하여 기본 버킷 암호화를 구성합니다. 명령을 사용하려면 사용자 입력 자리 표시자
를 사용자의 정보로 대체합니다.
aws s3api put-bucket-encryption --bucket
bucket-base-name
--azid
--x-s3 --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "AES256" } } ] }'
예 - S3 버킷 키와 SSE-KMS를 사용한 기본 암호화
이 예제에서는 S3 버킷 키와 SSE-KMS를 사용하여 기본 버킷 암호화를 구성합니다. 명령을 사용하려면 사용자 입력 자리 표시자
를 사용자의 정보로 대체합니다.
aws s3api put-bucket-encryption --bucket
bucket-base-name
--azid
--x-s3 --server-side-encryption-configuration '{ "Rules": [ { "ApplyServerSideEncryptionByDefault": { "SSEAlgorithm": "aws:kms", "KMSMasterKeyID": "KMS-Key-ARN
" }, "BucketKeyEnabled": true } ] }'
REST API PutBucketEncryption
작업을 사용하여 사용할 서버 측 암호화 유형(SSE-S3 또는 SSE-KMS)으로 기본 암호화를 설정합니다.
자세한 내용은 Amazon Simple Storage Service API 참조에서 PutBucketEncryption를 참조하십시오.
AWS SDK를 사용하는 경우 서버 측 암호화에 AWS KMS keys를 사용하도록 Amazon S3에 요청할 수 있습니다. 다음 AWS SDKs for Java 및 .NET 예제에서는 SSE-KMS 및 S3 버킷 키로 디렉터리 버킷의 기본 암호화 구성을 구성합니다. 다른 SDK 사용에 대한 자세한 내용은 AWS 개발자 센터의 샘플 코드 및 라이브러리
중요
Amazon S3에서 서버 측 암호화에 AWS KMS key을 사용하는 경우 대칭 암호화 KMS 키를 선택해야 합니다. Amazon S3는 대칭 암호화 KMS 키만 지원합니다. 이들 키에 대한 자세한 내용은 AWS Key Management Service 개발자 안내서의 대칭 암호화 KMS 키를 참조하십시오.
AWS CloudTrail을 사용하여 디렉터리 버킷의 기본 암호화 모니터링
AWS CloudTrail 이벤트를 사용하여 Amazon S3 디렉터리 버킷에 대한 기본 암호화 구성 요청을 추적할 수 있습니다. CloudTrail 로그에 사용되는 API 이벤트 이름은 다음과 같습니다.
-
PutBucketEncryption
-
GetBucketEncryption
-
DeleteBucketEncryption
참고
EventBridge는 디렉터리 버킷에서 지원되지 않습니다.
AWS Key Management Service(AWS KMS) 키를 사용한 이중 계층 서버 측 암호화(DSSE-KMS) 또는 고객 제공 암호화 키를 사용한 서버 측 암호화(SSE-C)는 디렉터리 버킷에서 지원되지 않습니다.
AWS CloudTrail과 함께 기본 암호화를 모니터링하는 방법에 대한 자세한 내용은 AWS CloudTrail 및 Amazon EventBridge를 사용한 기본 암호화 모니터링 섹션을 참조하세요.