認可にAWS IAMを設定してcurlする – 【API Gateway】

認可にAWS IAMを設定してcurlする – 【API Gateway】

REST APIとHTTP APIどちらでも対応しているAWS IAM認可処理を実装してみます。

REST API

REST APIで実装してみます。

GETメソッドに対して「編集」をクリックします。

「保存」をクリックします。

デプロイ

APIをデプロイします。ステージ名は「dev」とします。

curl

CloudShellでcurlしてみます。※2024.02.22時点でのCloudShell環境のcurlは8.5.0です

curl -i -X GET \
  https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/test
HTTP/2 403 
date: Tue, 27 Feb 2024 06:56:47 GMT
content-type: application/json
content-length: 42
x-amzn-requestid: 5b14d22a-1279-4414-81c1-e572162d2436
x-amzn-errortype: MissingAuthenticationTokenException
x-amz-apigw-id: TyIjZEo3NjMEupQ=

403エラーになります。再度、--userオプションでクレデンシャル情報を設定する必要があります。

$ export AWS_ACCESS_KEY_ID=クレデンシャル情報
$ export AWS_SECRET_ACCESS_KEY=クレデンシャル情報
$ curl -i --aws-sigv4 "aws:amz:ap-northeast-1:execute-api" \
 --user "${AWS_ACCESS_KEY_ID}:${AWS_SECRET_ACCESS_KEY}" \
https://xxxxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/dev/test
HTTP/2 200 
date: Tue, 27 Feb 2022 07:28:48 GMT
content-type: application/json
content-length: 20
x-amzn-requestid: 5f684501-929a-4463-afdc-4f7356045082
x-amz-apigw-id: TyNPiE-nNjMEQbw=
x-amzn-trace-id: Root=1-65dd8f2f-72aebbcd1eb655a44024d747;Parent=22d022b07a9e65a4;Sampled=0;lineage=a606f8d0:0

ステータスコードが200になりました。

ドキュメント

CURLOPT_AWS_SIGV4

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました