0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

お題は不問!Qiita Engineer Festa 2024で記事投稿!
Qiita Engineer Festa20242024年7月17日まで開催中!

関数化しIAM認証をかけたLambda関数をPostmanから呼び出してみる

Posted at

やりたい事

IAM認証をかけたLambdaに対してPostmanからPOSTリクエストを出してレスポンスが返ってくることを確認する。

環境

  • python:3.12

Lambdaの作成

bodyの中身を返しているだけの簡単なLambdaを作成。

lambda_function.py
import json

def lambda_handler(event, context):
    body = event.get('body')
    if body:
        data = json.loads(body)
    else:
        data = {}

    response = {
        'statusCode': 200,
        'headers': {
            'Content-Type': 'application/json'
        },
        'body': json.dumps({
            'message': 'Hello from Lambda!',
            'input': data
        })
    }

    return response

IAMポリシーの作成

Lambda関数を呼び出す用のポリシーを作成します。
Resourceの部分は呼び出す対象のLambdaのarnを設定。

{
	"Version": "2012-10-17",
	"Statement": [
            {
                "Effect": "Allow",
                "Action": "lambda:InvokeFunctionUrl",
                "Resource": "arn:~~hogehoge~~"
            }
	]
}

IAMユーザの作成

IAM > ユーザー > ユーザーの作成 からユーザを作成します。
許可を設定からポリシーを直接アタッチするを選択し、上記で作成したIAMポリシーをアタッチしたIAMユーザを作成します。

アクセスキーと、シークレットアクセスキーはPostmanから呼び出すときに使用するので忘れないように保管しておいてください。

関数URL化

Lambdaのコンソール画面 > 設定 > 関数URL > 関数 URL を設定 を選択。

IAM認証の方を選択。

Lambda関数のコンソールから認証タイプが AWS_IAM になっていることを確認。

Postmanでリクエストを送信する際の設定

メソッドをPOSTに設定しLambdaの関数URLをコピペし、
Authorization タブから AWS Signature を選択し、IAMユーザーのアクセスキーIDシークレットアクセスキーを入力。

Body タブの raw を選択から JSON 選択し、任意のJSONデータを入力。
今回は下記のようなJSONをbodyに設定します。

{
    "key1": "value1",
    "key2": "value2"
}

実行結果

ここまでできたら、画面右上のsendボタンをクリックしPOSTリクエストを送ってみます。
下記のようにLambdaから想定通りのresponseが返ってきている事を確認できました。

response
{
    "message": "Hello from Lambda!",
    "input": {
        "key1": "value1",
        "key2": "value2"
    }
}

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?