AWS API GatewayのAPIキーの使用方法

AWS API GatewayのAPIキーの使用方法

API GatewayでAPIキーを使用してそのAPIの使用量の制限を細かく設定したり、使用状況を見ることができます。

APIキーと使用量を設定します。

AWS API GatewayのAPIキーの使用方法

APIキーの役割としては認証認可としては20文字以上の固定文字列の為不向きです。

Lambdaはデフォルトで作成したLambdaを設定しています。

exports.handler = async (event) => {
  const response = {
    statusCode: 200,
    body: JSON.stringify('Hello from Lambda!'),
  };
  return response;
};

API Gatewayをデプロイしてブラウザでアクセスします。(curlコマンドでもOKです)

AWS API GatewayのAPIキーの使用方法

ヘッダ情報にx-api-key:値を付加します。POSTMANやcurlコマンドでヘッダ情報を付加して試します。ヘッダ情報を付加すると正常にアクセスすることが確認できます。

$ curl https://6pvien1at6.execute-api.ap-southeast-2.amazonaws.com/dev/test
{"message":"Forbidden"}
$ curl --header "x-api-key:12345678901234567890" https://6pvien1at6.execute-api.ap-southeast-2.amazonaws.com/dev/test
{"statusCode":200,"body":"\"Hello from Lambda!\""}

APIキーの用途は認証認可ではない

APIキーは認証認可用の機能ではなく、使用量の制限などに使うようです。

クライアント – サーバ間で認証認可でAPIキーのみを使用するには向いていません。公式ドキュメントにも記載があります。

認証および API の認証の唯一の手段として API キーに依存しないようにしてください。

コメント

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