API Gateway REST API エンドポイント 403「Missing Authentication Token」(認証トークンが見つかりません) エラーをトラブルシューティングするにはどうすればよいですか?

最終更新日: 2023 年 1 月 6 日

Amazon API Gateway REST API を呼び出そうとすると、403「Missing Authentication Token」(認証トークンが見つかりません) というエラーメッセージが表示されます。これらのエラーをトラブルシューティングするにはどうすればよいですか?

簡単な説明

次の理由により、API Gateway REST API エンドポイントは「Missing Authentication Token」(認証トークンが見つかりません) エラーを返します。

API Gateway のその他の 403 エラーをトラブルシューティングするには、「API Gateway からの HTTP 403 エラーをトラブルシューティングする方法を教えてください」を参照してください。

解決方法

API Gateway リソースパスにメソッドとリソースが設定されていることを確認

API Gateway コンソールを使用してメソッドをセットアップする」の手順に従います。詳細については、API リソースの設定を参照してください。

重要: 変更を有効にするには、API をデプロイする必要があります。

リクエストメソッドがルートリソースに送信されるプロキシリソース統合を持つ API の場合は、ルートリソースの下にメソッドが設定されていることを確認します。

API Gateway レスポンスが変更されていないこと、またはバックエンド統合がレスポンスを送信していないことを確認する

ゲートウェイレスポンスが API で変更されていないことを確認してください。また、エラーが統合バックエンドからのものではないことを確認してください。API Gateway の実行ログとバックエンドログを確認します。

API メソッドで IAM 認証がオンになっている場合は、API リクエストが署名されていることを確認する

詳細については、「Signing AWS API requests」(AWS API リクエストへの署名) および「Elements of an AWS API request signature」(AWS API リクエストの署名の要素) を参照してください。

REST API エンドポイントに正しい HTTP メソッドリクエストを送信していることを確認する

REST API エンドポイントをウェブブラウザからテストすると、自動的に GET HTTP メソッドリクエストが送信されます。

POST HTTP メソッドリクエストをテストするには、別の HTTP クライアントを使用します。例: Postman または curl

POST HTTP メソッドリクエストを使用する curl コマンドの例

$ curl -X POST  <API URL> -d <request body>

JSON ヘッダーでリクエストを送信する例

$ curl --location -X POST 'https://1234WXYZ.execute-api.us-east-1.amazonaws.com/stage/lambda_proxy' --header 'Content-Type: application/json' --data-raw '{"x":"y"}'

AWS V4 署名認証で curl POST リクエストを送信する例

$ curl -X POST "<ENDPOINT>" -d <data> --user <AWS_ACCESS_KEY>:<AWS_SECRET_KEY> --aws-sigv4 "aws:amz:<REGION>:<SERVICE>"
$ curl -X POST "https://1234WXYZ.execute-api.us-east-1.amazonaws.com/stage/lambda_proxy" -d '{"x":"y"}' --user ABCD:1234 --aws-sigv4 "aws:amz:us-east-1:execute-api"

この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?