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

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

仅授予对 DynamODB 流(而非表)进行读取访问的 IAM 策略

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

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

您可以通过执行以下操作来控制对DynamoDB 流:

  • 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表的流,但不适用于表本身。