테이블 버킷에서 AWS KMS 키(SSE-KMS)를 사용한 서버 측 암호화 사용 - Amazon Simple Storage Service

테이블 버킷에서 AWS KMS 키(SSE-KMS)를 사용한 서버 측 암호화 사용

테이블 버킷에는 Amazon S3 관리형 키(SSE-S3)를 통한 서버 측 암호화를 사용하여 테이블을 자동으로 암호화하는 기본 암호화 구성이 있습니다. 이 암호화는 S3 테이블 버킷의 모든 객체에 적용되며 무료로 제공됩니다.

키 교체 및 액세스 정책 권한 부여 관리와 같이 암호화 키를 더 세밀하게 제어해야 하는 경우 AWS Key Management Service(AWS KMS) 키(SSE-KMS)를 통한 서버 측 암호화를 사용하도록 테이블 버킷을 구성할 수 있습니다. AWS KMS 내 보안 관리가 암호화 관련 규정 준수 요구 사항을 충족하는 데 도움이 될 수 있습니다. SSE-KMS에 대한 자세한 내용은 AWS KMS 키를 사용한 서버 측 암호화(SSE-KMS) 사용 단원을 참조하십시오.

테이블 및 테이블 버킷에서 SSE-KMS의 작동 방식

테이블 버킷의 SSE-KMS는 다음과 같은 측면에서 범용 버킷의 SSE-KMS와 다릅니다.

  • 테이블 버킷 및 개별 테이블에 대해 암호화 설정을 지정할 수 있습니다.

  • SSE-KMS에서는 고객 관리형 키만 사용할 수 있습니다. AWS 관리형 키는 지원되지 않습니다.

  • 특정 역할 및 AWS 서비스 위탁자에게 AWS KMS 키에 액세스할 수 있는 권한을 부여해야 합니다. 자세한 내용은 S3 Tables SSE-KMS 암호화에 대한 권한 요구 사항 섹션을 참조하세요. 여기에는 다음과 같은 권한 부여가 포함됩니다.

    • S3 유지 관리 위탁자 - 암호화된 테이블 유지 관리

    • S3 Tables 통합 역할 - AWS 분석 서비스에서 암호화된 테이블에 대한 작업 수행

    • 클라이언트 액세스 역할 - Apache Iceberg 클라이언트에서 암호화된 테이블에 직접 액세스

    • S3 메타데이터 위탁자 - 암호화된 S3 메타데이터 테이블 업데이트

  • 암호화된 테이블은 SSE-KMS로 암호화된 테이블을 더 비용 효율적으로 사용하기 위해 AWS KMS에 대한 요청 수를 최소화하는 테이블 수준 키를 사용합니다.

테이블 버킷에 대한 SSE-KMS 암호화

테이블 버킷을 생성할 때 SSE-KMS를 기본 암호화 유형으로 선택하고 암호화에 사용할 특정 KMS 키를 선택할 수 있습니다. 해당 버킷 내에 생성된 모든 테이블은 테이블 버킷에서 이러한 암호화 설정을 자동으로 상속합니다. AWS CLI, S3 API 또는 AWS SDK를 사용하여 언제든지 테이블 버킷의 기본 암호화 설정을 수정하거나 제거할 수 있습니다. 테이블 버킷의 암호화 설정을 수정할 때 그러한 설정은 해당 버킷에서 생성된 새 테이블에만 적용됩니다. 기존 테이블에 대한 암호화 설정은 변경되지 않습니다. 자세한 내용은 테이블 버킷에 대한 암호화 지정 섹션을 참조하세요.

테이블에 대한 SSE-KMS 암호화

버킷의 기본 암호화 구성에 관계없이 다른 KMS 키로 개별 테이블을 암호화하는 옵션도 있습니다. 개별 테이블에 대한 암호화를 설정하려면 테이블 생성 시 원하는 암호화 키를 지정해야 합니다. 기존 테이블의 암호화를 변경하려면 원하는 키로 테이블을 생성하고 이전 테이블에서 새 테이블로 데이터를 복사해야 합니다. 자세한 내용은 테이블에 대한 암호화 지정 섹션을 참조하세요.

AWS KMS 암호화를 사용하는 경우 S3 Tables는 각 테이블과 연결된 새 객체를 암호화하는 고유한 테이블 수준 데이터 키를 자동으로 생성합니다. 이러한 키는 제한된 기간 동안 사용되므로 암호화 작업 중 추가 AWS KMS 요청의 필요성이 최소화되고 암호화 비용이 절감됩니다. 이는 SSE-KMS용 S3 버킷 키와 비슷합니다.

테이블 및 테이블 버킷에 대한 SSE-KMS 암호화 모니터링 및 감사

AWS CloudTrail 로그를 사용하여 SSE-KMS 암호화 데이터의 AWS KMS 키 사용을 감사할 수 있습니다. GenerateDataKeyDecrypt와 같은 암호화 작업에 대한 인사이트를 얻을 수 있습니다. CloudTrail은 이벤트 이름, 사용자 이름, 이벤트 소스 등 검색 필터링을 위한 다양한 속성 값을 지원합니다.

CloudTrail 이벤트를 사용하여 Amazon S3 테이블 및 테이블 버킷에 대한 기본 암호화 구성 요청을 추적할 수 있습니다. CloudTrail 로그에 사용되는 API 이벤트 이름은 다음과 같습니다.

  • s3tables:PutTableBucketEncryption

  • s3tables:GetTableBucketEncryption

  • s3tables:DeleteTableBucketEncryption

  • s3tables:GetTableEncryption

  • s3tables:CreateTable

  • s3tables:CreateTableBucket

참고

테이블 버킷에는 EventBridge가 지원되지 않습니다.