DynamoDB 스트림에 대해서만 읽기 액세스 권한을 부여하는 IAM 정책(테이블은 부여하지 않음)
테이블에서 DynamoDB Streams를 활성화하면 테이블 항목의 모든 수정에 대한 정보가 캡처됩니다. 자세한 내용은 DynamoDB Streams에 대한 변경 데이터 캡처 단원을 참조하십시오.
때로는 애플리케이션이 DynamoDB 테이블에서 데이터를 읽는 것은 금지하지만 테이블의 스트림에는 액세스하도록 허용하려는 경우도 있을 수 있습니다. 예를 들어, 항목 업데이트가 감지될 때 스트림을 폴링하고 Lambda 함수를 호출한 후 추가 처리를 수행하도록 AWS 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
테이블 자체가 아니라 해당 테이블의 스트림에 액세스하도록 허용합니다.