为配置元数据表设置权限 - Amazon Simple Storage Service

为配置元数据表设置权限

要创建元数据表配置,您必须拥有必要的 AWS 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 表类数据存储服务的访问管理

重要

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

SSE-KMS 的权限

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

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

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

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

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

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

    1. 对于 metadata---s3.amazonaws.com.rproxy.govskope.camaintenance---s3tables.amazonaws.com.rproxy.govskope.cakms:GenerateDataKey 权限

    2. 对于 metadata---s3.amazonaws.com.rproxy.govskope.camaintenance---s3tables.amazonaws.com.rproxy.govskope.cakms:Decrypt 权限

    3. 对于发起调用的 AWS 主体的 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/*" ] } ] }