問題
S3の管理画面からオブジェクトのPutに対してLambda関数を実行しようとしたところ、以下のエラーが出力された。
Unable to validate the following destination configurations. Not authorized to invoke function
原因
Lambda関数ポリシーでS3からこのLambda関数を実行する権限が許可されていなかった。
S3の管理画面からは操作できないが、Lambdaの管理画面からはトリガータブから操作することができる。
というより、Lambdaの管理画面からイベントをトリガーにすると自動で付与される。
理解
関数ポリシーについて
権限といったらIAM Roleがぱっと思いつくけど、関数ポリシーなんてものもあるんですね。