

# 仅授予 DynamoDB 流的读取访问权限的 IAM 策略（不适用于表）
<a name="iam-policy-read-stream-only"></a>

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

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

您可以通过执行以下操作来控制对 DynamoDB streams 的访问：
+ `dynamodb:DescribeStream`
+ `dynamodb:GetRecords`
+ `dynamodb:GetShardIterator`
+ `dynamodb:ListStreams`

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

------
#### [ JSON ]

****  

```
{
    "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` 表流，但不允许访问该表本身。