本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
S3 Tables 的存取管理
在 S3 Tables 中,資源包含資料表儲存貯體及其包含的資料表。 AWS 帳戶 在該帳戶中建立資源 (資源擁有者) 和 AWS Identity and Access Management (IAM) 使用者的根使用者可以存取他們建立的資源。資源擁有者會指定可以存取資源的人員,以及允許其對資源執行的動作。Amazon S3 具有各種存取管理工具,可供您用來授權其他人存取 S3 資源。下列主題為您提供 S3 Tables 的資源、IAM 動作和條件索引鍵概觀。這些主題也提供 S3 Tables 的資源型和身分型政策範例。
主題
資源
S3 Tables 資源包含資料表儲存貯體及其包含的資料表。
資料表儲存貯體 – 資料表儲存貯體是專為資料表和提供者而設計,與一般用途 S3 儲存貯體中的自我管理資料表相比,每秒交易量 (TPS) 和查詢輸送量更佳。資料表儲存貯體可提供與 Amazon S3 一般用途儲存貯體相同的耐用性、可用性、可擴展性和效能特性。
資料表 – 資料表儲存貯體中的資料表會以 Apache Iceberg 格式儲存。您可以在支援 Iceberg 的查詢引擎中使用標準 SQL 來查詢這些資料表。
資料表和資料表儲存貯體的 Amazon Resource Name (ARNs) 包含s3tables
命名空間、 AWS 區域、 AWS 帳戶 ID 和儲存貯體名稱。若要存取資料表和資料表儲存貯體並對這些項目執行動作,您必須使用下列 ARN 格式:
-
資料表 ARN 格式:
arn:aws:s3tables:
us-west-2
:111122223333
:bucket/amzn-s3-demo-bucket
/table/demo-tableID
S3 Tables 的動作
在 IAM 身分型政策或資源型政策中,您能夠定義可針對 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 |
准許在資料表儲存貯體中建立命名空間 | Write |
是 |
s3tables:GetNamespace |
准許擷取命名空間詳細資料 | Read |
是 |
s3tables:ListNamespaces |
准許列出資料表儲存貯體上的所有命名空間。 | 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:PutTableBucketEncryption |
准許新增或取代資料表儲存貯體的加密組態 | Write |
否 |
s3tables:GetTableBucketEncryption |
准許擷取資料表儲存貯體的加密組態 | Read |
否 |
s3tables:DeleteTableBucketEncryption |
准許刪除資料表儲存貯體的加密組態 | 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 |
是 |
s3tables:GetTableEncryption |
准許擷取資料表的加密設定 | Write |
否 |
s3tables:PutTableEncryption |
准許將加密新增至資料表 | Write |
否 |
若要執行資料表層級的讀取和寫入動作,S3 Tables 支援 Amazon S3 API 操作,例如 GetObject
和 PutObject
。下表提供物件層級動作的清單。將讀取和寫入許可授予資料表時,您可以使用下列動作。
動作 | S3 物件 API |
---|---|
s3tables:GetTableData |
GetObject , ListParts ,
HeadObject |
s3tables:PutTableData |
PutObject , CreateMultipartUpload ,
CompleteMultipartUpload , UploadPart ,
AbortMultipartUpload |
例如,如果使用者具有 GetTableData
許可,則可以讀取與資料表相關聯的所有檔案,例如其中繼資料檔案、資訊清單、資訊清單清單檔案和 Parquet 資料檔案。
S3 Tables 的條件索引鍵
S3 Tables 支援 AWS 全域條件內容索引鍵。
此外,S3 Tables 會定義下列可在存取政策中使用的條件索引鍵。
條件金鑰 | Description (描述) | Type |
---|---|---|
s3tables:tableName |
依資料表儲存貯體中的資料表名稱篩選存取權。 您可以使用 請務必注意,如果您使用 "s3tables:tableName":"department*" |
String |
s3tables:namespace |
依資料表儲存貯體中建立的命名空間篩選存取權。 您可以使用 請務必注意,如果您使用 |
String |
s3tables:SSEAlgorithm |
依用於加密資料表的伺服器端加密演算法篩選存取權。 您可以使用 請務必注意,如果您使用 |
String |
s3tables:KMSKeyArn |
針對用於加密資料表的 AWS KMS 金鑰,依金鑰 ARN 篩選存取權 您可以使用 請務必注意,如果您使用 |
ARN |