AWS Lambda を利用する必要が出てきそうだったので学習。まずはアクセス権について。Lambda には3つのアクセス権が関与します。

  1. Lambda 関数の登録権限 (開発者用の IAM ユーザー)
  2. Lambda 関数の実行権限 (開発者用の IAM ユーザーやイベントの発生源など呼び出し元に対する IAM ロール)
  3. Lambda 関数の実行ロール (Lambda 関数自体に設定する IAM ロール)

開発者となる IAM ユーザーに割り当てる管理ポリシー

AWSLambda_FullAccess ポリシーを使います。S3 や DynamoDB などへの書き込み権限も付与されます。

Lambda 関数に結びつける IAM ロールに割り当てる管理ポリシー

ほとんどの場合、AWSLambdaBasicExecutionRole を適用すれば十分。このポリシーは CloudWatch Logs への書き込みアクセス権を与えます。

IAM ユーザーを作成する

IAM コンソールを開いて、ユーザーを追加します。ユーザー名は lambda-devuser とします。プログラムからのアクセスも、パスワード – AWS マネジメントコンソールへのアクセスも許可します。

次にアクセス権限の付与の画面に進みます。

「既存のポリシーを直接アタッチ」から AWSLambda_FullAccess を探して付与します。

次のステップのタグは何も設定しないで次に進みます。

ユーザーが出来上がりました。CSV は保管しておきましょう。

さらに以下のポリシーを追加します。

CloudWatchLogsFullAccessCloudWatch Logs を参照したり設定変更したりするのに必要
CloudWatchEventsFullAccessCloudWatch イベントを作成したり管理したりするのに必要
AmazonS3FullAccessS3の操作に必要
AmazonAPIGatewayAdministratorAPI Gateway の作成やデプロイに必要
AmazonSESFullAccessSES の操作に必要
AmazonSQSFullAccessSQS の操作に必要
AWSCloud9AdministratorCloud9 環境を構築するのに必要
AWSCloudFormationFullAccessCloudFormation の操作に必要