DynamoDBCrudPolicyというSAMテンプレートのポリシーについて勉強しました。
まだまだ理解浅いですが、少しずつわかったところメモします。
公式ドキュメントはこちらを参考にしました。
DynamoDBCrudPolicyはDynamoDBに対してCreate, Read, Update Deleteのパーミッションを与えるポリシーとのこと。
またこのポリシーはAWSによってメンテナンスされているらしい。
JSONにすると以下のようになるようです。
"Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:GetItem", "dynamodb:DeleteItem", "dynamodb:PutItem", "dynamodb:Scan", "dynamodb:Query", "dynamodb:UpdateItem", "dynamodb:BatchWriteItem", "dynamodb:BatchGetItem", "dynamodb:DescribeTable", "dynamodb:ConditionCheckItem" ], "Resource": [ { "Fn::Sub": [ "arn:${AWS::Partition}:dynamodb:${AWS::Region}:${AWS::AccountId}:table/${tableName}", { "tableName": { "Ref": "TableName" } } ] }, { "Fn::Sub": [ "arn:${AWS::Partition}:dynamodb:${AWS::Region}:${AWS::AccountId}:table/${tableName}/index/*", { "tableName": { "Ref": "TableName" } } ] } ] } ]
SAMについてもよくわかっていないので、明日あたりSAMについてメモを書こうと思います。