View a markdown version of this page

S3 Storage Lens 存储统计管理工具表的权限 - Amazon Simple Storage Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

S3 Storage Lens 存储统计管理工具表的权限

要处理导出到 S3 表类数据存储服务的 S3 Storage Lens 存储统计管理工具数据,您需要相应的 Amazon Identity and Access Management(IAM)权限。本主题介绍导出指标和管理加密所需的权限。

将指标导出到 S3 表类数据存储服务的权限

要创建和使用 S3 Storage Lens 存储统计管理工具表和表存储桶,您必须具有某些 s3tables 权限。要将 S3 Storage Lens 存储统计管理工具配置为存储到 S3 表类数据存储服务中,您至少必须具有以下 s3tables 权限:

  • s3tables:CreateTableBucket:此权限可让您创建 Amazon 托管的表存储桶。您账户中的所有 S3 Storage Lens 存储统计管理工具指标都存储在名为 aws-s3 的单个 Amazon 托管的表存储桶中。

  • s3tables:PutTableBucketPolicy:S3 Storage Lens 存储统计管理工具使用此权限设置表存储桶策略,来允许 systemtables.s3.amazonaws.com 访问存储桶以便传输日志。

重要

如果您删除服务主体 systemtables.s3.amazonaws.com 的权限,则 S3 Storage Lens 存储统计管理工具将无法根据您的配置,使用数据更新 S3 表。除了已提供的策略外,我们建议您添加其他访问控制策略,而不是编辑在设置表存储桶时添加的标准策略。

注意

对于每个 Storage Lens 存储统计管理工具配置,都会为每种类型的指标导出创建单独的 S3 表。如果您在区域中有多个 Storage Lens 存储统计管理工具配置,则会为额外的配置创建单独的表。例如,S3 表存储桶有三种类型的表可用。

Amazon KMS 加密表的权限

S3 表中的所有数据(包括 S3 Storage Lens 存储统计管理工具指标)均默认使用 SSE-S3 加密。您可以选择使用 Amazon KMS 密钥(SSE-KMS)加密 Storage Lens 存储统计管理工具指标报告。如果您选择使用 KMS 密钥加密 S3 Storage Lens 存储统计管理工具指标报告,则必须拥有额外的权限。

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

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

  2. 在 Amazon KMS 密钥的密钥策略中,您需要以下权限。您可以使用 Amazon KMS 控制台来授予这些权限:https://console.aws.amazon.com/kms。要使用此策略,请将 user input placeholders 替换为您自己的信息。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "EnableSystemTablesKeyUsage", "Effect": "Allow", "Principal": { "Service": "systemtables.s3.amazonaws.com" }, "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } }, { "Sid": "EnableKeyUsage", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringLike": { "kms:EncryptionContext:aws:s3:arn": "<table-bucket-arn>/*" } } } ] }

S3 Storage Lens 存储统计管理工具的服务相关角色

S3 Storage Lens 存储统计管理工具使用服务相关角色将指标写入 S3 表类数据存储服务。当您在账户中首次启用 S3 表类数据存储服务导出时,系统会自动创建此角色。此服务相关角色具有以下权限:

  • s3tables:CreateTable:在 aws-s3 表存储桶中创建表

  • s3tables:PutTableData:将指标数据写入表

  • s3tables:GetTable:检索表元数据

您无需手动创建或管理该服务相关角色。有关服务相关角色的更多信息,请参见 IAM 用户指南中的使用服务相关角色

权限的最佳实践

为 S3 Storage Lens 存储统计管理工具表配置权限时,请遵循以下最佳实践:

  • 使用最低权限:仅授予特定任务所需的权限。例如,如果用户只需要查询数据,则不要授予修改 Storage Lens 存储统计管理工具配置的权限。

  • 使用 IAM 角色:对于访问 S3 Storage Lens 存储统计管理工具表的应用程序和服务,使用 IAM 角色而非长期访问密钥。

  • 启用 Amazon CloudTrail:启用 CloudTrail 日志记录,以监控对 S3 Storage Lens 存储统计管理工具表的访问并跟踪权限更改。

  • 使用基于资源的策略:尽可能使用基于资源的策略来控制对特定表或命名空间的访问。

  • 定期审核权限:定期审核和审计 IAM 策略和 Lake Formation 权限,以确保它们遵循最低权限原则。

排除权限故障

启用 S3 表类数据存储服务导出时访问被拒绝

问题:尝试启用 S3 表类数据存储服务导出时收到“访问被拒绝”错误。

解决方案:验证您的 IAM 用户或角色是否具有 s3:PutStorageLensConfiguration 权限和必要的 S3 表类数据存储服务权限。

查询表时访问被拒绝

问题:在 Amazon Athena 中查询 S3 Storage Lens 存储统计管理工具表时收到“访问被拒绝”错误。

解决方案:验证以下内容:

  • aws-s3 表存储桶上启用了分析集成

  • Lake Formation 权限配置正确

  • 您的 IAM 用户或角色拥有必要的 Amazon Athena 权限

KMS 加密错误

问题:访问加密表时收到与 KMS 相关的错误。

解决方案:验证以下内容:

  • 您的 IAM 策略包括所需的 KMS 权限

  • KMS 密钥策略向 S3 Storage Lens 存储统计管理工具服务主体授予权限

  • KMS 密钥与您的 Storage Lens 存储统计管理工具配置位于同一区域

后续步骤