仅授予 DynamoDB 流的读取访问权限的 IAM policy(不适用于表) - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

仅授予 DynamoDB 流的读取访问权限的 IAM policy(不适用于表)

当您对表启用 DynamoDB Streams 时,将捕获有关对表中的数据项目进行的每项修改的信息。有关更多信息,请参阅 将更改数据捕获用于 DynamoDB Streams

在某些情况下,您可能需要阻止应用程序从 DynamoDB 表中读取数据,同时仍允许访问该表的流。例如,您可以配置 Amazon Lambda 以在检测到项目更新时轮询流并调用 Lambda 函数,然后再执行其他处理。

您可以通过执行以下操作来控制对 DynamoDB streams 的访问:

  • dynamodb:DescribeStream

  • dynamodb:GetRecords

  • dynamodb:GetShardIterator

  • dynamodb:ListStreams

下面的示例策略向用户授予权限以便其访问名为 GameScores 的表中的流。ARN 中的通配符 (*) 用于匹配与该表关联的所有流。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessGameScoresStreamOnly", "Effect": "Allow", "Action": [ "dynamodb:DescribeStream", "dynamodb:GetRecords", "dynamodb:GetShardIterator", "dynamodb:ListStreams" ], "Resource": "arn:aws:dynamodb:us-west-2:123456789012:table/GameScores/stream/*" } ] }

请注意,此策略允许访问 GameScores 表流,但不允许访问该表本身。