Amazon API Gateway
開発者ガイド

API キーを使用する使用量プランの作成と使用

API を作成し、テストして、デプロイすると、API Gateway 使用量プランを使用して、顧客への提供商品として使用できるようになります。ビジネス要件および予算の制約に合った承認済みのリクエストレートとクォータで顧客に、選択した API へのアクセスを許可する使用量プランと API キーを設定できます。必要に応じて、API のデフォルトのメソッドレベルのスロットリング制限を設定したり、個別の API メソッドのスロットリング制限を設定したりできます。

使用量プランおよび API キーとは

使用量プランは、デプロイされた 1 つ以上の API ステージとメソッドにアクセスできるユーザーを指定します。また、API にアクセスできる量と速度を指定します。このプランは、API キーを API クライアントを特定し、各キーの関連付けられた API ステージへのアクセスを測定します。これを使用して、スロットリング制限とクォータ制限を設定できます。これらは、個々のクライアント API キーに適用されます。

API キーは、顧客のアプリケーション開発者に配布する API へのアクセスを許可する英数字の文字列値です。API キーは、使用量プランまたは Lambda オーソライザーと一緒に使用して API へのアクセスを制御できます。API Gateway はユーザーに代わって API キーを生成できます。または、ユーザーが CSV ファイルから API キーをインポートできます。API Gateway で API キーを生成することも、外部ソースから API Gateway にインポートすることもできます。詳細については、「API Gateway コンソールを使用して API キーをセットアップする」を参照してください。

API キーには名前と値があります。(「API キー」と「API キー値」という用語は、しばしば同じ意味で使用されます。) 値は、30〜128 文字の英数字の文字列です。たとえば、apikey1234abcdefghij0123456789 です。

重要

API キー値は一意である必要があります。異なる名前で同じ値の 2 つの API キーを作成しようとすると、API Gateway はそれらを同じ API キーと見なします。

API キーを複数の使用量プランと関連付けることができます。使用量プランを複数のステージと関連付けることができます。ただし、指定された API キーを API の各ステージの 1 つの使用量プランにのみ関連付けることができます。

スロットリング制限は、使用量プランに追加した各 API キーに適用されるリクエスト率の制限です。API のデフォルトのメソッドレベルのスロットリング制限を設定したり、個別の API メソッドのスロットリング制限を設定したりすることもできます。

クォータ制限は、指定した期間内に送信できる API キーを持つリクエストの最大数です。個別の API メソッドを、使用量プラン設定に基づく API キー認証を要求するように設定できます。また、get-usage CLI コマンドおよび usage:get REST API メソッドを使用して、API の顧客が使用したクォータの量を決定します。

注記

スロットリングとクォータ制限は、使用プランのすべての API ステージについて集約される個々の API キーのリクエストに適用されます。

API キーと使用量プランのベストプラクティス

以下は、API キーおよび使用量プランを使用する場合の推奨されるベストプラクティスです。

  • 認証および API の認証の唯一の手段として API キーに依存しないようにしてください。まず、使用量プランに複数の API がある場合、その使用量プランの 1 つの API に対して有効な API キーを持つユーザーは、その使用量プランのすべての API にアクセスできます。代わりに、IAM ロール、Lambda オーソライザー、または Amazon Cognito ユーザープールを使用します。

  • API を公開するために開発者ポータルを使用している場合は、それらを顧客に表示していなくても、指定された使用量プランのすべての API はサブスクライブ可能であることに注意してください。