본문 바로가기

자격증/AWS Certified Security - Specialty

[AWS SCS] S3 Batch Encryption

728x90
반응형

S3 버킷 내 다수 객체의 대량 암호화 방법

S3 버킷에 이미 저장된 다수의 객체를 한 번에 암호화해야 할 때, AWS의 S3 Batch OperationsS3 Inventory를 활용하면 효율적으로 작업을 수행할 수 있습니다. 이번 글에서는 해당 작업을 단계별로 정리하겠습니다.


1. S3 Batch Operations란?

S3 Batch Operations는 기존 S3 객체에 대해 대량 작업을 수행할 수 있는 서비스입니다. 객체 암호화, 복호화, 태그 추가와 같은 작업을 자동화할 수 있습니다.


2. 대량 암호화를 위한 주요 도구

  • S3 Inventory
    • S3 버킷 내 모든 객체와 메타데이터를 정기적으로 생성하는 리포트입니다. 이를 통해 암호화 여부를 확인할 수 있습니다.
  • S3 Select 또는 Athena
    • S3 Inventory 데이터를 필터링하여 암호화되지 않은 객체만 추출하는 데 사용됩니다.

3. 대량 암호화 작업의 단계

Step 1. S3 Inventory로 객체 목록 생성

S3 Inventory를 활성화하여 버킷 내 모든 객체의 목록과 메타데이터를 생성합니다. 이를 통해 각 객체의 암호화 상태를 확인할 수 있습니다.

Step 2. S3 Select로 필터링

S3 Select를 사용하여 S3 Inventory 파일에서 암호화되지 않은 객체만 필터링합니다.

예: isEncrypted 메타데이터 필드를 사용해 암호화 상태를 확인

Step 3. S3 Batch Operations로 대량 암호화 작업 수행

필터링된 객체 목록을 S3 Batch Operations 작업에 입력하여 대량 암호화를 실행합니다. 이때, KMS 키 ID를 지정하여 AWS Key Management Service(KMS)를 통한 암호화를 진행합니다.


4. 주의사항

  • 권한 설정
    S3 Batch Operations가 S3 버킷과 KMS 키에 접근할 수 있는 권한이 필요합니다.
    • S3 버킷에 대한 권한: s3:PutObject
    • KMS 키에 대한 권한: kms:Encrypt

요약

S3 버킷에서 다수의 객체를 암호화하려면 다음의 세 가지 단계를 거칩니다:

  1. S3 Inventory로 객체 목록 생성
  2. S3 Select로 암호화되지 않은 객체 필터링
  3. S3 Batch Operations로 대량 암호화 작업 수행

이 과정을 통해 기존 객체에 대해 손쉽게 암호화를 적용할 수 있습니다.

728x90
반응형