【学習記録】DynamoDBCrudPolicyについて勉強

DynamoDBCrudPolicyというSAMテンプレートのポリシーについて勉強しました。
まだまだ理解浅いですが、少しずつわかったところメモします。
公式ドキュメントはこちらを参考にしました。

docs.aws.amazon.com

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