S3 Tables SSE-KMS 암호화에 대한 권한 요구 사항
S3 테이블 버킷의 테이블에 대해 AWS Key Management Service(AWS KMS) 키(SSE-KMS)를 통한 서버 측 암호화를 사용하는 경우 계정의 다양한 ID에 권한을 부여해야 합니다. 최소한 액세스 ID와 S3 Tables 유지 관리 위탁자가 키에 대한 액세스 권한을 가져야 하며 사용 사례에 따라 다른 권한도 필요합니다.
- 필수 권한
KMS 키로 암호화된 테이블에 액세스하려면 해당 키에 대한 다음 권한이 필요합니다.
kms:GenerateDataKey
kms:Decrypt
중요
테이블에서 SSE-KMS를 사용하려면 Amazon S3 Tables 유지 관리 서비스 위탁자(
maintenance.s3tables.amazonaws.com
)에게 키에 대한kms:GenerateDataKey
및kms:Decrypt
권한이 필요합니다.- 추가 권한
-
사용 사례에 따라 다음과 같은 추가 권한이 필요합니다.
AWS 분석 서비스 통합 권한 - AWS 분석 서비스에서 SSE-KMS로 암호화된 테이블에 대한 작업을 수행하는 경우 통합 역할에 KMS 키를 사용할 수 있는 권한이 필요합니다.
직접 액세스 권한 - Amazon S3 Tables Iceberg REST 엔드포인트 또는 Amazon S3 Tables Catalog for Apache Iceberg와 같은 방법을 통해 SSE-KMS로 암호화된 테이블로 직접 작업하는 경우 클라이언트가 사용하는 IAM 역할에 키에 대한 액세스 권한을 부여해야 합니다.
S3 Metadata 테이블에 대한 권한 - S3 Metadata 테이블에 SSE-KMS 암호화를 사용하는 경우 S3 Metadata 서비스 위탁자(
metadata.s3.amazonaws.com
)에게 KMS 키에 대한 액세스 권한을 제공해야 합니다. 이렇게 하면 S3 Metadata가 암호화된 테이블을 업데이트하여 최신 데이터 변경 사항을 반영할 수 있습니다.
참고
교차 계정 KMS 키의 경우 IAM 역할에 키 액세스 권한과 키 정책 내 명시적 권한 부여가 모두 필요합니다. KMS 키의 교차 계정 권한에 대한 자세한 내용은 AWS Key Management Service 서비스 개발자 안내서의 외부 AWS 계정에서 KMS 키를 사용하도록 허용을 참조하세요.
주제
S3 Tables 유지 관리 서비스 위탁자에게 KMS 키 권한 부여
이 권한은 SSE-KMS로 암호화된 테이블을 생성하고 암호화된 테이블에서 압축, 스냅샷 관리 및 참조되지 않은 파일 제거와 같은 자동 테이블 유지 관리를 수행할 수 있도록 하는 데 필요합니다.
참고
SSE-KMS로 암호화된 테이블을 생성하도록 요청할 때마다 S3 Tables는 maintenance.s3tables.amazonaws.com
위탁자에게 KMS 키에 대한 액세스 권한이 있는지 확인합니다. 이 확인을 수행하기 위해 테이블 버킷에 0바이트 객체가 일시적으로 생성되며, 이 객체는 참조되지 않은 파일 제거 유지 관리 작업에 의해 자동으로 제거됩니다. 암호화를 위해 지정한 KMS 키에 유지 관리 액세스 권한이 없는 경우 createTable 작업이 실패합니다.
SSE-KMS로 암호화된 테이블에 대한 유지 관리 액세스 권한을 부여하려면 다음 예제 키 정책을 사용할 수 있습니다. 이 정책에서는 maintenance.s3tables.amazonaws.com
서비스 위탁자에게 특정 테이블 버킷의 테이블 암호화 및 복호화에 특정 KMS 키를 사용할 수 있는 권한이 부여되어 있습니다. 이 정책을 사용하려면 사용자 입력 자리 표시자
를 실제 정보로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "
<kms-key-arn>
", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>
/*" } } } ] }
IAM 위탁자에게 통합 AWS 분석 서비스에서 암호화된 테이블에 대한 작업을 수행할 수 있는 권한 부여
AWS 분석 서비스에서 S3 테이블에 대한 작업을 수행하려면 테이블 버킷을 Amazon SageMaker Lakehouse와 통합하세요. 이 통합을 통해 AWS 분석 서비스가 테이블 데이터를 자동으로 검색하고 액세스할 수 있습니다. 통합에 대한 자세한 내용은 AWS 분석 서비스에서 Amazon S3 Tables 사용 섹션을 참조하세요.
이러한 서비스에서 SSE-KMS로 암호화된 테이블에 대한 작업을 수행하려면 사용하는 역할이 암호화 작업에 AWS KMS 키를 사용할 수 있는 권한을 가져야 합니다. 이러한 권한을 통합 중에 생성된 S3TablesRoleForLakeFormation
역할 또는 자체 IAM 역할에 적용할 수 있습니다.
다음 인라인 IAM 정책 예제는 계정에서 암호화 작업에 특정 KMS 키를 사용할 수 있는 권한을 S3TablesRoleForLakeFormation
서비스 역할에 부여하는 데 사용할 수 있습니다. 이 정책을 사용하려면 입력 자리 표시자 값
을 실제 값으로 바꿉니다.
{ "Sid": "AllowTableRoleAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111122223333
:role/service-role/S3TablesRoleForLakeFormation" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "<kms-key-arn>
" }
IAM 위탁자에게 암호화된 테이블로 직접 작업할 수 있는 권한 부여
서드파티 또는 직접 액세스 방법을 사용하여 암호화된 테이블로 작업하는 경우 사용하는 역할에 KMS 키에 대한 액세스 권한을 부여해야 합니다. 다음 예제에서는 IAM 정책 또는 KMS 키 정책을 통해 액세스 권한을 부여하는 방법을 보여줍니다.
S3 Metadata 서비스 위탁자에게 KMS 키를 사용할 수 있는 권한 부여
Amazon S3가 SSE-KMS로 암호화된 메타데이터 테이블을 업데이트하고 해당 메타데이터 테이블에 대한 유지 관리를 수행하도록 허용하려면 다음 예제 키 정책을 사용할 수 있습니다. 이 정책에서는 metadata.s3.amazonaws.com
및 maintenance.s3tables.amazonaws.com
서비스 위탁자가 특정 키를 사용하여 특정 테이블 버킷의 테이블을 암호화하고 복호화하도록 허용합니다. 이 정책을 사용하려면 사용자 입력 자리 표시자
를 실제 정보로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": [ "maintenance.s3tables.amazonaws.com", "metadata.s3.amazonaws.com" ] }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "
<kms-key-arn>
", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>
/*" } } } ] }