为配置元数据表设置权限
要创建元数据表配置,您必须拥有必要的 Amazon Identity and Access Management(IAM)权限,才能创建和管理元数据表配置,以及创建和管理元数据表及用于存储元数据表的表存储桶。
要创建和管理您的元数据表配置,您必须具有以下权限:
-
s3:CreateBucketMetadataTableConfiguration
:此权限可让您为通用存储桶创建元数据表配置。要创建元数据表配置,还需要其它权限,包括 S3 表类数据存储服务权限,如以下各节所述。有关所需权限的摘要,请参阅存储桶操作和权限。 -
s3:GetBucketMetadataTableConfiguration
:此权限可让您检索有关元数据表配置的信息。 -
s3:DeleteBucketMetadataTableConfiguration
:此权限可让您删除元数据表配置。 -
s3:UpdateBucketMetadataJournalTableConfiguration
:此权限可让您更新日记表配置以使日记表记录过期。 -
s3:UpdateBucketMetadataInventoryTableConfiguration
:此权限可让您更新清单表配置以启用或禁用清单表。要更新清单表配置,还需要其它权限,包括 S3 表类数据存储服务权限。有关所需权限的列表,请参阅存储桶操作和权限。注意
s3:CreateBucketMetadataTableConfiguration
、s3:GetBucketMetadataTableConfiguration
和s3:DeleteBucketMetadataTableConfiguration
权限用于 V1 和 V2 S3 元数据配置。对于 V2,相应 API 操作的名称为CreateBucketMetadataConfiguration
、GetBucketMetadataConfiguration
和DeleteBucketMetadataConfiguration
。
要创建和使用表和表存储桶,您必须具有某些 s3tables
权限。要创建元数据表配置,您至少必须具有以下 s3tables
权限:
-
s3tables:CreateTableBucket
:此权限可让您创建 Amazon 托管式表存储桶。您的账户和同一区域中的所有元数据表配置都存储在名为aws-s3
的单个 Amazon 托管式表存储桶中。有关更多信息,请参阅元数据表的工作原理和 Working with Amazon managed table buckets。 -
s3tables:CreateNamespace
:此权限可让您在表存储桶中创建命名空间。元数据表通常使用b_
命名空间。有关元数据表命名空间的更多信息,请参阅元数据表的工作原理。general_purpose_bucket_name
-
s3tables:CreateTable
:此权限可让您创建元数据表。 -
s3tables:GetTable
:此权限可让您检索有关元数据表的信息。 -
s3tables:PutTablePolicy
:此权限可让您添加或更新元数据表策略。 -
s3tables:PutTableEncryption
:此权限可让您为元数据表设置服务器端加密。如果您要使用具有 Amazon Key Management Service(Amazon KMS)密钥的服务器端加密(SSE-KMS)来加密元数据表,则需要额外的权限。有关更多信息,请参阅 SSE-KMS 的权限。 -
kms:DescribeKey
:此权限可让您检索有关 KMS 密钥的信息。
有关所有表和表存储桶权限的详细信息,请参阅 S3 表类数据存储服务的访问管理。
重要
如果您还想将表存储桶与 Amazon 分析服务集成,以便您能够查询元数据表,则需要额外的权限。有关更多信息,请参阅集成 Amazon S3 表类数据存储服务与 Amazon 分析服务。
SSE-KMS 的权限
要使用具有 Amazon Key Management Service(Amazon KMS)密钥的服务器端加密(SSE-KMS)来加密元数据表,您必须拥有额外的权限。
-
用户或 Amazon Identity and Access Management(IAM)角色需要以下权限。可以使用 IAM 控制台来授予这些权限:https://console.aws.amazon.com/iam/
。 -
s3tables:PutTableEncryption
,用于配置表加密 -
kms:DescribeKey
(对于所使用的 Amazon KMS 密钥)
-
-
在 KMS 密钥的资源策略中,您需要以下权限。可以使用 Amazon KMS 控制台来授予这些权限:https://console.aws.amazon.com/kms
。 -
向
metadata.s3.amazonaws.com
和maintenance.s3tables.amazonaws.com
授予kms:GenerateDataKey
权限。 -
向
metadata.s3.amazonaws.com
和maintenance.s3tables.amazonaws.com
授予kms:Decrypt
权限。 -
向发起调用的 Amazon 主体授予
kms:DescribeKey
权限。
-
除了这些权限外,还要确保用于加密表的客户自主管理型 KMS 密钥仍然存在、处于活动状态且与通用存储桶位于同一区域。
策略示例
要创建和使用元数据表和表存储桶,可以使用以下示例策略。在本策略中,您要对其应用元数据表配置的通用存储桶称为
。要使用这一策略,请将 amzn-s3-demo-bucket
替换为您自己的信息。user input placeholders
创建元数据表配置时,元数据表存储在 Amazon 托管式表存储桶中。您的账户和同一区域中的所有元数据表配置都存储在名为 aws-s3
的单个 Amazon 托管式表存储桶中。
要查询元数据表,可以使用以下示例策略。如果元数据表已使用 SSE-KMS 进行加密,则您将需要如下所示的 kms:Decrypt
权限。要使用这一策略,请将
替换为您自己的信息。user input placeholders