为配置元数据表设置权限 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

为配置元数据表设置权限

要创建元数据表配置,您必须拥有必要的 Amazon Identity and Access Management(IAM)权限,才能创建和管理元数据表配置,以及创建和管理元数据表及存储元数据表的表存储桶。

要创建和管理您的元数据表配置,您必须具有以下权限:

  • s3:CreateBucketMetadataTableConfiguration:此权限可让您为通用存储桶创建元数据表配置。

  • s3:GetBucketMetadataTableConfiguration:此权限可让您检索有关元数据表配置的信息。

  • s3:DeleteBucketMetadataTableConfiguration:此权限可让您删除元数据表配置。

要创建和使用表和表存储桶,您必须具有某些 s3tables 权限。要创建元数据表配置,您至少必须具有以下 s3tables 权限:

  • s3tables:CreateNamespace:此权限可让您在表存储桶中创建命名空间。元数据表使用默认 aws_s3_metadata 命名空间。

  • s3tables:GetTable:此权限可让您检索有关元数据表的信息。

  • s3tables:CreateTable:此权限可让您创建元数据表。

  • s3tables:PutTablePolicy:此权限可让您添加或更新元数据表策略。

有关所有表和表存储桶权限的详细信息,请参阅 S3 表类数据存储服务的访问管理

重要

如果您还想将表存储桶与 Amazon 分析服务集成,以便您能够查询元数据表,则需要额外的权限。有关更多信息,请参阅集成 Amazon S3 表类数据存储服务与 Amazon 分析服务

SSE-KMS 的权限

要访问 S3 表存储桶或 S3 表,而这些表存储桶或表使用的是具有 Amazon Key Management Service(Amazon KMS)密钥的服务器端加密(SSE-KMS),您需要包括其它权限。

  1. 用户或 IAM 角色需要以下权限。您可以使用 IAM 控制台来授予这些权限:https://console.aws.amazon.com/iam/

    1. s3tables:PutTableEncryption,用于配置表加密

    2. s3tables:PutTableBucketEncryption,用于配置表存储桶加密

    3. kms:DescribeKey(对于所使用的 Amazon KMS 密钥)

  2. 在 KMS 密钥的资源策略中,您需要以下权限。您可以使用 KMS 控制台来授予这些权限:https://console.aws.amazon.com/kms

    1. 对于 metadata.s3.amazonaws.commaintenance.s3tables.amazonaws.comkms:GenerateDataKey 权限

    2. 对于 metadata.s3.amazonaws.commaintenance.s3tables.amazonaws.comkms:Decrypt 权限

    3. 对于发起调用的 Amazon 主体的 kms:DescribeKey 权限

有关向 S3 元数据服务授予必要权限的更多信息,请参阅有关向 S3 元数据服务主体授予使用 KMS 密钥的权限的文档。

策略示例

要创建和使用元数据表和表存储桶,可以使用以下示例策略。在本策略中,您要对其应用元数据表配置的通用存储桶称为 amzn-s3-demo-source-bucket。您要在其中存储元数据表的表存储桶称为 amzn-s3-demo-bucket。要使用此策略,请将这些存储桶名称和 user input placeholders 替换为您自己的信息:

{ "Version":"2012-10-17", "Statement":[ { "Sid":"PermissionsToWorkWithMetadataTables", "Effect":"Allow", "Action":[ "s3:CreateBucketMetadataTableConfiguration", "s3:GetBucketMetadataTableConfiguration", "s3:DeleteBucketMetadataTableConfiguration", "s3tables:*" ], "Resource":[ "arn:aws:s3:::bucket/amzn-s3-demo-source-bucket", "arn:aws:s3tables:region:account_id:bucket/amzn-s3-demo-bucket", "arn:aws:s3tables:region:account_id:bucket/amzn-s3-demo-bucket/table/*" ] } ] }