Lambdaが他のAWSサービスを実行するために「IAM Role」を作成する

AWS

こんにちはますのです。
サーバレスなWebシステム構築の勉強をしているなかで、IAM Roleの作成について信頼済みエンティティ設定のところで迷子になるのでメモです。

IAMから実行ロールを作成する

まずはAWS管理画面からIAMを開きます。

ロール>ロールの作成をクリック

以下2つを選択>「次のステップ:アクセス権限」をクリック
・信頼されたエンティティの種類:AWSサービス
・ユースケースの選択:Lambda

「信頼されたエンティティの種類」が「アクセス権限」を使うという意味合いになる。
参考:https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-intro-execution-role.html

「信頼されたエンティティの種類」に付与したいアクセス権限をアタッチする。
※今回はLambdaでLambda内の読み書き権限を付与したかったので「AWSLambdaFullAccess」を設定

タグは必要に応じて入力。
※今回は未入力のまま「次のステップ:確認」をクリック

ロール名、ロールの説明を任意の内容に設定>「ロールの作成」をクリック

ロール画面に設定したロール名が登録されていることが確認できます。

余談:信頼されたエンティティはjson入力も可能

ロールを作成したあと、信頼されたエンティティを間違えた等あった場合や細かな設定をしたい場合に利用。
タブ:信頼関係>「信頼関係の編集」よりjson形式で細かく入力することも可能です。

余談:作成したLambda実行用のロールLambda関数作成時に選択可能

先ほど作成したLambda実行用のIAMロールはLambda関数の作成時に設定できるようになります。
「既存のロール」をクリックすると、作成されたロール一覧が表示されるので指定が可能です。

慣れてくると流れでやっちゃうのですが、信頼されたエンティティの種類に関しては設定する内容なんだっけと思うことが多々あります。
Lambda以外でも利用する機会は多いので、忘れないようにしたいです。

 

最新情報をチェックしよう!