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についてメモを書こうと思います。