Naoto Ishizawa/curlの`--aws-sigv4`オプションでLambdaの認証付きURLにリクエストする

Created Tue, 24 May 2022 11:00:00 +0900 Modified Sat, 17 Dec 2022 21:58:21 +0000
175 Words

AWS Lambdaの関数URLを有効にする際、IAM認証とすることがほとんどかと思います。
ただそういった場合でも気軽にcurlでリクエストを送ることができるとテストが楽です。
そんなときに --aws-sigv4 オプションを利用すると便利です。

  • 認証情報なしリクエスト

403が返る

$ curl -s https://****.lambda-url.ap-northeast-1.on.aws/
{"Message":"Forbidden"}
  • 認証情報つきリクエスト

200が返る :)

$ curl -s https://****.lambda-url.ap-northeast-1.on.aws/ \
-H "X-Amz-Security-Token: ${AWS_SESSION_TOKEN}" \
--aws-sigv4 "aws:amz:ap-northeast-1:lambda" \
--user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}"
"Hello from Lambda!"

参考にした記事。
ref: https://gist.github.com/mryhryki/28fcd54e8a8cdffb78462d171ce48b27