

# DynamoDB 스트림에 대해서만 읽기 액세스 권한을 부여하는 IAM 정책(테이블은 부여하지 않음)
<a name="iam-policy-read-stream-only"></a>

테이블에서 DynamoDB Streams를 활성화하면 테이블 항목의 모든 수정에 대한 정보가 캡처됩니다. 자세한 내용은 [DynamoDB Streams에 대한 변경 데이터 캡처](Streams.md) 섹션을 참조하세요.

때로는 애플리케이션이 DynamoDB 테이블에서 데이터를 읽는 것은 금지하지만 테이블의 스트림에는 액세스하도록 허용하려는 경우도 있을 수 있습니다. 예를 들어, 항목 업데이트가 감지될 때 스트림을 폴링하고 Lambda 함수를 호출한 후 추가 처리를 수행하도록 AWS 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` 테이블 자체가 아니라 해당 테이블의 스트림에 액세스하도록 허용합니다.