S3 Tables의 액세스 관리
S3 Tables 리소스에는 테이블 버킷과 여기에 들어 있는 테이블이 포함됩니다. 리소스를 생성한 AWS 계정의 루트 사용자(리소스 소유자)와 해당 계정 내에서 필요한 권한을 가진 AWS Identity and Access Management IAM 사용자는 자신이 생성한 리소스에 액세스할 수 있습니다. 리소스 소유자는 리소스에 액세스할 수 있는 다른 사용자와 리소스에서 이들이 수행할 수 있는 작업을 지정합니다. Amazon S3에는 다른 사람에게 내 S3 리소스에 대한 액세스 권한을 부여하는 데 사용할 수 있는 다양한 액세스 관리 도구가 있습니다. 다음 주제에서는 S3 Tables의 리소스, IAM 작업 및 조건 키에 대한 개요를 제공합니다. 또한 S3 Tables용 리소스 기반 정책 및 ID 기반 정책 모두에 대한 예시도 제공합니다.
주제
리소스
S3 Tables 리소스에는 테이블 버킷과 여기에 들어 있는 테이블이 포함됩니다.
테이블 버킷 - 테이블 버킷은 테이블을 위해 특별히 설계되었으며 범용 S3 버킷의 자체 관리형 테이블에 비해 초당 트랜잭션 수(TPS)가 높고 쿼리 처리량이 더 우수합니다. 테이블 버킷은 Amazon S3 범용 버킷과 동일한 내구성, 가용성, 확장성 및 성능 특성을 제공합니다.
테이블 - 테이블 버킷의 테이블은 Apache Iceberg 형식으로 저장됩니다. Iceberg를 지원하는 쿼리 엔진에서 표준 SQL을 사용하여 이러한 테이블을 쿼리할 수 있습니다.
테이블 및 테이블 버킷의 Amazon 리소스 이름(ARN)에는 s3tables
네임스페이스, AWS 리전, AWS 계정 ID 및 버킷 이름이 포함됩니다. 테이블 및 테이블 버킷에 액세스하고 작업을 수행하려면 다음 ARN 형식을 사용해야 합니다.
-
표 ARN 형식:
arn:aws:s3tables:
us-west-2
:111122223333
:bucket/amzn-s3-demo-bucket
/table/demo-tableID
S3 Tables에 대한 작업
ID 기반 정책 또는 리소스 기반 정책에서 특정 IAM 위탁자에 대해 어떤 S3 Tables 작업을 허용 또는 거부할지 정의합니다. 테이블 작업은 버킷 및 테이블 수준 API 작업에 해당합니다. 모든 작업은 고유한 IAM 네임스페이스인 s3tables
의 일부입니다.
정책에서 작업을 사용하면 일반적으로 이름이 같은 API 작업에 대한 액세스를 허용하거나 거부합니다. 그러나 경우에 따라 하나의 API 작업으로 둘 이상의 작업에 대한 액세스가 제어됩니다. 예를 들어 s3tables:GetTableData
작업에 GetObject
, ListParts
및 ListMultiparts
API 작업에 대한 권한이 포함됩니다.
다음은 테이블 버킷에 지원되는 작업입니다. IAM 정책 또는 리소스 정책의 Action
요소에서 다음 작업을 지정할 수 있습니다.
작업 | 설명 | 액세스 레벨 | 크로스 계정 액세스 |
---|---|---|---|
s3tables:CreateTableBucket |
테이블 버킷을 생성할 수 있는 권한을 부여합니다. | Write |
아니요 |
s3tables:GetTableBucket |
테이블 버킷 ARN, 테이블 버킷 이름 및 생성 날짜를 검색할 수 있는 권한을 부여합니다. | Write |
예 |
s3tables:ListTableBuckets |
이 계정의 모든 테이블 버킷을 나열할 수 있는 권한을 부여합니다. | Read |
아니요 |
s3tables:CreateNamespace |
테이블 버킷에 네임스페이스를 생성할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:GetNamespace |
네임스페이스 세부 정보를 검색할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:ListNamespace |
테이블 버킷의 모든 네임스페이스를 나열할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:DeleteNamespace |
테이블 버킷에서 네임스페이스를 삭제할 수 있는 권한을 부여합니다. | Write |
예 |
s3tables:DeleteTableBucket |
버킷을 삭제할 수 있는 권한을 부여합니다. | Write |
예 |
s3tables:PutTableBucketPolicy |
버킷 정책을 추가하거나 교체할 수 있는 권한을 부여합니다. | Permissions Management |
아니요 |
s3tables:GetTableBucketPolicy |
버킷 정책을 반환할 수 있는 권한을 부여합니다. | Read |
아니요 |
s3tables:DeleteTableBucketPolicy |
버킷 정책을 삭제할 수 있는 권한을 부여합니다. | Permissions Management |
아니요 |
s3tables:GetTableBucketMaintenanceConfiguration |
테이블 버킷에 대한 유지 관리 구성을 반환할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:PutTableBucketMaintenanceConfiguration |
테이블 버킷에 대한 유지 관리 구성을 추가하거나 교체할 수 있는 권한을 부여합니다. | Write |
예 |
테이블에 다음 작업이 지원됩니다.
작업 | 설명 | 액세스 레벨 | 크로스 계정 액세스 |
---|---|---|---|
s3tables:GetTableMaintenanceConfiguration |
테이블에 대한 유지 관리 구성을 반환할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:PutTableMaintenanceConfiguration |
테이블에 대한 유지 관리 구성을 추가하거나 교체할 수 있는 권한을 부여합니다. | Write |
예 |
s3tables:PutTablePolicy |
테이블 정책을 추가하거나 교체할 수 있는 권한을 부여합니다. | Permissions Management |
아니요 |
s3tables:GetTablePolicy |
테이블 정책을 반환할 수 있는 권한을 부여합니다. | Read |
아니요 |
s3tables:DeleteTablePolicy |
테이블 정책을 삭제할 수 있는 권한을 부여합니다. | Permissions management |
아니요 |
s3tables:CreateTable |
테이블 버킷에 테이블을 생성할 수 있는 권한을 부여합니다. | Write |
예 |
s3tables:GetTable |
테이블 정보를 검색할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:GetTableMetadataLocation |
테이블 루트 포인터(메타데이터 파일)를 검색할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:ListTables |
테이블 버킷의 모든 테이블을 나열할 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:RenameTable |
테이블 이름을 변경할 수 있는 권한을 부여합니다. | Write |
예 |
s3tables:UpdateTableMetadataLocation |
테이블 루트 포인터(메타데이터 파일)를 업데이트할 수 있는 권한을 부여합니다. | Write |
예 |
s3tables:GetTableData |
테이블 버킷에 저장된 테이블 메타데이터 및 데이터 객체를 읽을 수 있는 권한을 부여합니다. | Read |
예 |
s3tables:PutTableData |
테이블 버킷에 저장된 테이블 메타데이터 및 데이터 객체를 쓸 수 있는 권한을 부여합니다. | Write |
예 |
테이블 수준 읽기 및 쓰기 작업을 수행하기 위해 S3 Tables은 GetObject
및 PutObject
와 같은 Amazon S3 API 작업을 지원합니다. 다음 표에는 객체 수준 작업 목록이 나와 있습니다. 테이블에 읽기 및 쓰기 권한을 부여할 때 다음 작업을 사용합니다.
작업 | S3 객체 API |
---|---|
s3tables:GetTableData |
GetObject , ListParts ,
HeadObject |
s3tables:PutTableData |
PutObject , CreateMultipartUpload ,
CompleteMultipartUpload , UploadPart ,
AbortMultipartUpload |
예를 들어 사용자에게 GetTableData
권한이 있는 경우 메타데이터 파일, 매니페스트, 매니페스트 목록 파일, 파켓 데이터 파일 등 테이블과 연결된 모든 파일을 읽을 수 있습니다.
S3 Tables의 조건 키
S3 Tables은 AWS 전역 조건 컨텍스트 키를 지원합니다.
또한 S3 Tables은 액세스 정책에 사용할 수 있는 다음과 같은 조건 키를 정의합니다.
조건 키 | 설명 | 형식 |
---|---|---|
s3tables:tableName |
테이블 버킷의 테이블 이름을 기준으로 액세스를 필터링합니다.
"s3tables:tableName":"department*" |
String |
s3tables:namespace |
테이블 버킷에 생성된 네임스페이스를 기준으로 액세스를 필터링합니다.
|
String |