設定設定中繼資料表的許可 - Amazon Simple Storage Service

設定設定中繼資料表的許可

若要建立中繼資料表組態,您必須具有必要的 AWS Identity and Access Management (IAM) 許可,才能建立和管理中繼資料表組態,並建立和管理中繼資料表以及用來儲存中繼資料表的資料表儲存貯體。

若要建立和管理中繼資料表組態,您必須具有下列許可:

  • s3:CreateBucketMetadataTableConfiguration – 此許可允許您為一般用途儲存貯體建立中繼資料表組態。若要建立中繼資料資料表組態,則需額外的許可權,包括 S3 Tables 許可,如以下各區段所述。如需必要許可的摘要資料,請參閱 儲存貯體操作和許可

  • s3:GetBucketMetadataTableConfiguration – 此許可允許您擷取中繼資料表組態的相關資訊。

  • s3:DeleteBucketMetadataTableConfiguration – 此許可允許您刪除中繼資料表組態。

  • s3:UpdateBucketMetadataJournalTableConfiguration – 此許可權可讓您更新日誌資料表組態,使日誌資料表記錄過期。

  • s3:UpdateBucketMetadataInventoryTableConfiguration – 此許可權可讓您更新庫存資料表組態,以啟用或停用庫存資料表。若要更新庫存資料表組態,則需其他許可權,包括 S3 Tables 許可。如需必要許可的清單,請參閱儲存貯體操作和許可

    注意

    s3:CreateBucketMetadataTableConfigurations3:GetBucketMetadataTableConfigurations3:DeleteBucketMetadataTableConfiguration 許可權適用於 V1 和 V2 S3 Metadata 組態。對於 V2,對應的 API 操作名稱為 CreateBucketMetadataConfigurationGetBucketMetadataConfigurationDeleteBucketMetadataConfiguration

若要建立和使用資料表和資料表儲存貯體,您必須具有特定 s3tables 許可。若要建立中繼資料表組態,您至少必須具有下列 s3tables 許可:

  • s3tables:CreateTableBucket – 此許可權允許您建立 AWS 受管資料表儲存貯體。您帳戶和同一區域中的所有中繼資料表組態,都儲存在名為 aws-s3 的單一 AWS 受管資料表儲存貯體中。如需詳細資訊,請參閱 中繼資料表的運作方式使用 AWS 受管資料表儲存貯體

  • s3tables:CreateNamespace – 此許可允許您在資料表儲存貯體中建立命名空間。中繼資料表通常使用 b_general_purpose_bucket_name 命名空間。如需有關中繼資料表命名空間的詳細資訊,請參閱 中繼資料表的運作方式

  • s3tables:CreateTable – 此許可權允許您建立中繼資料表。

  • s3tables:GetTable – 此許可權允許您擷取中繼資料表的相關資訊。

  • s3tables:PutTablePolicy – 此許可權允許您新增或更新中繼資料表政策。

  • s3tables:PutTableEncryption – 此許可允許您設定中繼資料資料表的伺服器端加密。如果您想要使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 的伺服器端加密來加密中繼資料表,則需要其他許可權。如需詳細資訊,請參閱 SSE-KMS 的權限

  • kms:DescribeKey – 此許可權允許您擷取 KMS 金鑰的相關資訊。

如需所有資料表和資料表儲存貯體許可的詳細資訊,請參閱 S3 Tables 的存取管理

重要

如果您也想要整合資料表儲存貯體與 AWS 分析服務,以便查詢中繼資料表,則需要額外的許可。如需詳細資訊,請參閱整合 Amazon S3 Tables 與 AWS 分析服務

SSE-KMS 的權限

若要使用 AWS Key Management Service (AWS KMS) 金鑰 (SSE-KMS) 以伺服器端加密來加密中繼資料表,您必須擁有其他許可權。

  1. 使用者或 AWS Identity and Access Management (IAM) 角色需要下列許可權。您可以使用 IAM 主控台授予這些權限,網址為 https://console.aws.amazon.com/iam/

    1. s3tables:PutTableEncryption 設定資料表加密

    2. kms:DescribeKey 在所使用的 AWS KMS 金鑰上

  2. 在 KMS 金鑰的資源政策上,您需要下列許可權。您可以使用 AWS KMS 主控台授予這些權限:https://console.aws.amazon.com/kms

    1. kms:GenerateDataKey 權限授予 metadata.s3.amazonaws.com.rproxy.govskope.camaintenance.s3tables.amazonaws.com

    2. kms:Decrypt 權限授予 metadata.s3.amazonaws.com.rproxy.govskope.camaintenance.s3tables.amazonaws.com

    3. 授予調用 AWS 主體的 kms:DescribeKey 權限。

除了這些權限之外,請確定用於加密資料表的客戶自管 KMS 金鑰仍然存在、作用中,且與您的一般用途儲存貯體位於相同的區域。

範例政策

若要建立和使用中繼資料表和資料表儲存貯體,您可以使用下列範例政策。在此政策中,您要套用中繼資料表組態的一般用途儲存貯體稱為 amzn-s3-demo-bucket。若要使用此政策,請以您自己的資訊取代 user input placeholders

當建立中繼資料表組態時,您的中繼資料表會儲存在AWS 受管資料表儲存貯體中。您帳戶和同一區域中的所有中繼資料表組態,都儲存在名為 aws-s3 的單一 AWS 受管資料表儲存貯體中。

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "PermissionsToWorkWithMetadataTables", "Effect": "Allow", "Action": [ "s3:CreateBucketMetadataTableConfiguration", "s3:GetBucketMetadataTableConfiguration", "s3:DeleteBucketMetadataTableConfiguration", "s3:UpdateBucketMetadataJournalTableConfiguration", "s3:UpdateBucketMetadataInventoryTableConfiguration", "s3tables:*", "kms:DescribeKey" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*" ] } ] }

若要查詢中繼資料表,您可以使用下列範例政策。如果您的中繼資料表已使用 SSE-KMS 加密,您將需要 kms:Decrypt 許可權,如下所示。若要使用此政策,請以您自己的資訊取代 user input placeholders

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "PermissionsToQueryMetadataTables", "Effect": "Allow", "Action": [ "s3tables:GetTable", "s3tables:GetTableData", "s3tables:GetTableMetadataLocation", "kms:Decrypt" ], "Resource": [ "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3", "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-s3/table/*" ] } ] }