AWS Lambda を利用する必要が出てきそうだったので学習。まずはアクセス権について。Lambda には3つのアクセス権が関与します。
- Lambda 関数の登録権限 (開発者用の IAM ユーザー)
- Lambda 関数の実行権限 (開発者用の IAM ユーザーやイベントの発生源など呼び出し元に対する IAM ロール)
- Lambda 関数の実行ロール (Lambda 関数自体に設定する IAM ロール)
開発者となる IAM ユーザーに割り当てる管理ポリシー
AWSLambda_FullAccess ポリシーを使います。S3 や DynamoDB などへの書き込み権限も付与されます。
Lambda 関数に結びつける IAM ロールに割り当てる管理ポリシー
ほとんどの場合、AWSLambdaBasicExecutionRole を適用すれば十分。このポリシーは CloudWatch Logs への書き込みアクセス権を与えます。
IAM ユーザーを作成する
IAM コンソールを開いて、ユーザーを追加します。ユーザー名は lambda-devuser とします。プログラムからのアクセスも、パスワード – AWS マネジメントコンソールへのアクセスも許可します。
次にアクセス権限の付与の画面に進みます。
「既存のポリシーを直接アタッチ」から AWSLambda_FullAccess を探して付与します。
次のステップのタグは何も設定しないで次に進みます。

ユーザーが出来上がりました。CSV は保管しておきましょう。
さらに以下のポリシーを追加します。
CloudWatchLogsFullAccess | CloudWatch Logs を参照したり設定変更したりするのに必要 |
CloudWatchEventsFullAccess | CloudWatch イベントを作成したり管理したりするのに必要 |
AmazonS3FullAccess | S3の操作に必要 |
AmazonAPIGatewayAdministrator | API Gateway の作成やデプロイに必要 |
AmazonSESFullAccess | SES の操作に必要 |
AmazonSQSFullAccess | SQS の操作に必要 |
AWSCloud9Administrator | Cloud9 環境を構築するのに必要 |
AWSCloudFormationFullAccess | CloudFormation の操作に必要 |