実行ロールとは
AWS Lambda 「が」AWSの他のサービス「を」使うときの許可、ポリシーみたいだ。
ロールの作成
エンティティとして「AWSサービス」を、サービスとして「Lambda」を選んで次のステップに進む。
今回必要な権限
SQSとの連携をしたいので、次の3項目を許可したい。
sqs:ReceiveMessage
sqs:DeleteMessage
sqs:GetQueueAttributes
ポリシーのフィルタを使って、SQSというキーワードで検索する
ポリシーの中身を見る
(操作しづらい、なにこれ…!)
AWSLambdaSQSQueueExecutionRole 項目を開いて JSON 表示を選ぶと、必要な Action が入っていそうなことがわかる。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"sqs:ReceiveMessage",
"sqs:DeleteMessage",
"sqs:GetQueueAttributes",
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents"
],
"Resource": "*"
}
]
}
ポリシーを選んで次のステップに進む
タグの選択は飛ばす
てきとうな名前をつけてロールを作成する
作成完了
Lamdaの設定
これでlambda関数の「実行ロール」から、新しいロールが選べるようになった。
これで動くかな?
よし、試そう。
Original by Github issue
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。