S3 Tables에 대한 액세스 관리

S3 Tables에 대한 액세스 관리

S3 Tables의 리소스, IAM 작업, 조건 키에 대한 개요를 설명해요. S3 Tables 리소스는 테이블 버킷과 그 안에 들어 있는 테이블을 포함해요.

출처: Access management for S3 Tables

본문

S3 Tables에서 리소스는 테이블 버킷과 그 안에 들어 있는 테이블을 포함해요. 리소스를 만든 AWS 계정의 루트 사용자(리소스 소유자)와, 그 계정 안에서 필요한 권한을 가진 IAM 사용자는 자신이 만든 리소스에 접근할 수 있어요. 리소스 소유자는 누가 그 리소스에 접근할 수 있는지, 그들이 리소스에서 어떤 작업을 수행할 수 있는지를 지정해요. Amazon S3에는 다른 사람에게 S3 리소스 접근 권한을 부여하는 데 쓸 수 있는 다양한 액세스 관리 도구가 있어요. 테이블을 AWS Lake Formation과 통합했다면 테이블과 네임스페이스에 대한 세밀한(fine-grained) 액세스도 관리할 수 있어요.

다음 주제는 S3 Tables의 리소스, IAM 작업, 조건 키에 대한 개요를 제공하고, S3 Tables의 리소스 기반 정책과 아이덴티티 기반 정책 예시도 함께 제공해요.

리소스 (Resources)

S3 Tables 리소스는 테이블 버킷과 그 안에 들어 있는 테이블을 포함해요.

  • 테이블 버킷 (Table buckets) – 테이블 버킷은 테이블용으로 특별히 설계되어, 일반 용도 S3 버킷의 자체 관리 테이블보다 더 높은 초당 트랜잭션(TPS)과 더 나은 쿼리 처리량을 제공해요. 테이블 버킷은 Amazon S3 일반 용도 버킷과 동일한 내구성, 가용성, 확장성, 성능 특성을 제공해요.
  • 테이블 (Tables) – 테이블 버킷의 테이블은 Apache Iceberg 형식으로 저장돼요. Iceberg를 지원하는 쿼리 엔진에서 표준 SQL로 이 테이블을 질의할 수 있어요.

테이블과 테이블 버킷의 Amazon Resource Name(ARN)에는 s3tables 네임스페이스, AWS 리전, AWS 계정 ID, 버킷 이름이 포함돼요. 테이블과 테이블 버킷에 접근하고 작업을 수행하려면 다음 ARN 형식을 사용해야 해요.

  • 테이블 ARN 형식: arn:aws:s3tables:us-west-2:111122223333:bucket/amzn-s3-demo-bucket/table/demo-tableID

S3 Tables 작업 (Actions for S3 Tables)

아이덴티티 기반 정책이나 리소스 기반 정책에서 특정 IAM 프린시펄에 대해 어떤 S3 Tables 작업을 허용하거나 거부할지 정의해요. 테이블 작업은 버킷 및 테이블 수준 API 작업에 대응해요. 모든 작업은 고유한 IAM 네임스페이스인 s3tables의 일부예요.

정책에서 작업을 사용할 때는 보통 같은 이름의 API 작업에 대한 접근을 허용하거나 거부해요. 그러나 어떤 경우에는 단일 작업이 둘 이상의 API 작업에 대한 접근을 제어하기도 해요. 예를 들어 s3tables:GetTableData 작업은 GetObject, ListParts, ListMultiparts API 작업에 대한 권한을 포함해요.

다음은 테이블 버킷에 지원되는 작업이에요. IAM 정책이나 리소스 정책의 Action 요소에 다음 작업을 지정할 수 있어요.

테이블에 대해 지원되는 작업은 다음과 같아요.

테이블 수준 읽기·쓰기 작업을 수행하기 위해 S3 Tables는 GetObject, PutObject 같은 Amazon S3 API 작업을 지원해요. 아래 표는 객체 수준 작업 목록을 제공해요. 테이블에 읽기·쓰기 권한을 부여할 때 다음 작업을 사용해요.

예를 들어 사용자에게 GetTableData 권한이 있으면, 그 사용자는 메타데이터 파일, 매니페스트, 매니페스트 목록 파일, parquet 데이터 파일 등 테이블과 관련된 모든 파일을 읽을 수 있어요.

S3 Tables 조건 키 (Condition keys for S3 Tables)

S3 Tables는 AWS 전역 조건 컨텍스트 키를 지원해요.

또한 S3 Tables는 접근 정책에서 사용할 수 있는 다음 조건 키를 정의해요.

더 알아보기 (Learn more)