테이블 버킷에서 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 키 사용을 감사할 수 있습니다. GenerateDataKey
및 Decrypt
와 같은 암호화 작업에 대한 인사이트를 얻을 수 있습니다. CloudTrail은 이벤트 이름, 사용자 이름, 이벤트 소스 등 검색 필터링을 위한 다양한 속성 값을 지원합니다.
CloudTrail 이벤트를 사용하여 Amazon S3 테이블 및 테이블 버킷에 대한 기본 암호화 구성 요청을 추적할 수 있습니다. CloudTrail 로그에 사용되는 API 이벤트 이름은 다음과 같습니다.
-
s3tables:PutTableBucketEncryption
-
s3tables:GetTableBucketEncryption
-
s3tables:DeleteTableBucketEncryption
-
s3tables:GetTableEncryption
-
s3tables:CreateTable
-
s3tables:CreateTableBucket
참고
테이블 버킷에는 EventBridge가 지원되지 않습니다.