DynamoDB ストリームのみの読み込みアクセスを付与する IAM ポリシー (テーブルを除く)
テーブルで DynamoDB Streams を有効にすると、テーブル内の項目に加えられたすべての変更に関する情報をキャプチャします。詳細については、「」を参照してくださいDynamoDB Streams の変更データキャプチャ
場合によっては、アプリケーションが DynamoDB テーブルからデータを読み取らないようにする一方で、そのテーブルのストリーミングへのアクセスは許可したいことがあります。たとえば、項目の更新が検出されたときにストリーミングをポーリングし、Lambda 関数をコールして、追加の処理を実行するよう AWS Lambda を設定できます。
DynamoDB Streams へのアクセスを制御するために、以下のアクションを使用できます。
-
dynamodb:DescribeStream
-
dynamodb:GetRecords
-
dynamodb:GetShardIterator
-
dynamodb:ListStreams
次のポリシー例では、GameScores
という名前のテーブルでストリーミングにアクセスする許可をユーザーに付与します。ARN のワイルドカード文字 (*) は、そのテーブルに関連付けられた任意のストリーミング ID に一致します。
{ "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
テーブルのストリーミングへのアクセスを付与しますが、テーブル自体へのアクセスは付与しないことに注意してください。