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

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

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

在某些情况下,您可能需要阻止应用程序从 DynamoDB 表中读取数据,同时仍允许访问该表的流。例如,您可以配置 AWS 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 表流,但不允许访问该表本身。