Lambda関数に付与するIAMロールについて | AWS豆知識

DynamoDBへのアクセス許可

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "SidDynamoDB",
            "Effect": "Allow",
            "Action": [
                "dynamodb:PutItem",
                "dynamodb:DeleteItem",
                "dynamodb:GetItem",
                "dynamodb:Scan",
                "dynamodb:Query",
                "dynamodb:UpdateItem"
            ],
            "Resource": [
                DynamoDBに作成したテーブルのARN
                テーブルに設定したLSIやGSIのインデックスについても個別に指定する
            ]
        }
    ]
}

S3への許可

ワイルドカードを利用している
s3:*Object → Objectに対する操作すべてということになる

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "SidS3ListBucket",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::バケット名"
            ]
        },
        {
            "Sid": "SidS3ObjectAction",
            "Effect": "Allow",
            "Action": [
                "s3:*Object"
            ],
            "Resource": [
                "arn:aws:s3:::バケット名/*"
            ]
        }
    ]
}