AWS 관리형 테이블 버킷 작업
AWS 관리형 테이블 버킷은 S3 메타데이터를 사용하여 데이터 검색 가속화 저널 및 라이브 인벤토리 테이블과 같은 AWS 관리형 테이블을 저장하도록 설계된 특수 S3 테이블 버킷입니다. 직접 만들고 관리하는 고객 관리형 테이블 버킷과 달리, AWS 관리형 테이블 버킷은 AWS 관리형 테이블이 필요한 기능을 구성할 때 AWS에서 자동으로 프로비저닝됩니다. 관리형 테이블이 만들어지면 수정할 수 없는 소스 버킷을 기반으로 사전 정의된 네임스페이스에 속합니다. 각 AWS 계정에는 이름 지정 규칙 aws-s3에 따라 리전당 하나의 AWS 관리형 테이블 버킷이 있습니다. 이 버킷은 해당 리전의 계정 리소스와 연결된 모든 관리형 테이블의 중앙 위치 역할을 합니다.
다음 표에서는 AWS 관리형 테이블 버킷을 고객 관리형 테이블 버킷과 비교합니다.
| Feature | AWS 관리형 테이블 버킷 | 고객 관리형 테이블 버킷 |
|---|---|---|
| 만들기 | AWS 서비스에서 자동으로 만들어짐 | 사용자가 수동으로 만듦 |
| 이름 지정 | 표준 이름 지정 규칙(aws-s3) 사용 | 사용자가 자체 이름 정의 |
| 테이블 만들기 | AWS 서비스만 테이블을 만들 수 있음 | 사용자가 테이블을 만들 수 있음 |
| 네임스페이스 제어 | 네임스페이스를 만들거나 삭제할 수 없음(모든 테이블은 고정된 네임스페이스에 속함) | 네임스페이스를 만들고 삭제할 수 있음 |
| 액세스 | 읽기 전용 액세스 | 모든 액세스 |
| 암호화(Encryption) | 초기 테이블을 고객 관리형 AWS KMS 키로 암호화한 경우에만 기본 암호화(SSE-S3) 설정을 변경할 수 있음 | 버킷 수준 기본 암호화를 설정하고 언제든지 수정할 수 있음 |
| Maintenance | AWS 서비스에 의해 관리됨 | 버킷 수준에서 자동 유지 관리를 사용자 지정할 수 있음 |
AWS 관리형 테이블 버킷을 만들 수 있는 권한 부여
AWS 관리형 테이블 버킷을 사용하려면 AWS 관리형 테이블 버킷 및 테이블을 만들고, AWS 관리형 테이블에 대한 암호화 설정을 지정하기 위한 권한과 테이블 쿼리에 대한 기본 읽기 권한이 필요합니다.
다음은 서비스 구성을 통해 AWS 관리형 테이블 버킷을 만들 수 있도록 허용하는 정책의 예입니다.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3:CreateBucketMetadataTableConfiguration", "s3tables:CreateTableBucket", "s3tables:CreateNamespace", "s3tables:CreateTable", "s3tables:GetTable", "s3tables:PutTablePolicy" "s3tables:PutTableEncryption", "kms:DescribeKey" ], "Resource":[ "arn:aws:s3:::bucket/amzn-s3-demo-source-bucket", "arn:aws:s3tables:region:111122223333:bucket/aws-s3", "arn:aws:s3tables:region:111122223333:bucket/aws-s3/table/*" ] } ] }
다음은 AWS 관리형 테이블 버킷의 테이블을 쿼리할 수 있도록 허용하는 예제 정책입니다.
{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource":[ "arn:aws:s3tables:region:111122223333:bucket/aws-s3", "arn:aws:s3tables:region:111122223333:bucket/aws-s3/table/*" ] } ] }
AWS 관리형 테이블 버킷의 테이블 쿼리
S3 Tables에서 지원하는 액세스 방법 및 엔진을 사용하여 AWS 관리형 테이블 버킷의 AWS 관리형 테이블을 쿼리할 수 있습니다. 다음은 일부 쿼리 예제입니다.
AWS 관리형 테이블 버킷의 암호화
기본적으로 AWS 관리형 테이블 버킷은 Amazon S3 관리형 암호화 키를 사용한 서버 측 암호화(SSE-S3)를 사용하여 암호화됩니다. AWS 관리형 테이블 버킷이 만들어진 후 PutTableBucketEncryption을 사용하여 AWS Key Management Service(AWS KMS) 키를 사용한 서버 측 암호화(SSE-KMS)를 사용하도록 버킷의 기본 암호화 설정을 지정할 수 있습니다.
AWS 관리형 테이블을 만드는 동안 SSE-KMS를 사용하여 테이블을 암호화하도록 선택할 수 있습니다. SSE-KMS를 사용하기로 선택한 경우, AWS 관리형 테이블 버킷과 동일한 리전에 고객 관리형 KMS 키를 제공해야 합니다. 테이블을 만드는 중에만 AWS 관리형 테이블에 대한 암호화 유형을 설정할 수 있습니다. AWS 관리형 테이블이 만들어진 후에는 암호화 설정을 변경할 수 없습니다.
AWS 관리형 테이블 버킷과 여기에 저장된 테이블이 동일한 KMS 키를 사용하도록 하려면 테이블이 만들어진 후 테이블을 암호화하는 데 사용한 것과 동일한 KMS 키를 사용하여 테이블 버킷을 암호화해야 합니다. SSE-KMS를 사용하도록 테이블 버킷의 기본 암호화 설정을 변경한 후에는 해당 암호화 설정이 버킷에 만들어진 향후 테이블에 사용됩니다.