🖥

#AWS Lambda の実行ロールを作成する ( SQSの実行権限を与える例 )

に公開

実行ロールとは

AWS Lambda 「が」AWSの他のサービス「を」使うときの許可、ポリシーみたいだ。

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-intro-execution-role.html

image

ロールの作成

エンティティとして「AWSサービス」を、サービスとして「Lambda」を選んで次のステップに進む。

https://console.aws.amazon.com/iam/home?#/roles$new?step=type

image

今回必要な権限

SQSとの連携をしたいので、次の3項目を許可したい。

sqs:ReceiveMessage
sqs:DeleteMessage
sqs:GetQueueAttributes

https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-sqs.html

ポリシーのフィルタを使って、SQSというキーワードで検索する

image

ポリシーの中身を見る

(操作しづらい、なにこれ…!)

image

AWSLambdaSQSQueueExecutionRole 項目を開いて JSON 表示を選ぶと、必要な Action が入っていそうなことがわかる。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sqs:ReceiveMessage",
                "sqs:DeleteMessage",
                "sqs:GetQueueAttributes",
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "*"
        }
    ]
}

ポリシーを選んで次のステップに進む

タグの選択は飛ばす

てきとうな名前をつけてロールを作成する

image

作成完了

image

Lamdaの設定

これでlambda関数の「実行ロール」から、新しいロールが選べるようになった。

image

これで動くかな?

よし、試そう。

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2496

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-09-21

Discussion