API Gateway REST API で API キーを認証に使用することは非推奨である
API Gateway での REST API の使用量プランと API キー - Amazon API Gateway
API キーを、API へのアクセスを制御するための認証または認可に使用しないでください。
[AWS Black Belt Online Seminar] Amazon API Gateway
APIキーを「認証」⽬的に利⽤しないこと
上記の通り、API キーを認証に使用することは非推奨です。
API キーを使用する目的
API Gateway での REST API の使用量プランと API キー - Amazon API Gateway
使用量プランは、デプロイ済みの API ステージとメソッドにアクセスできるユーザーを指定します。リクエストのスロットリングを開始するターゲットリクエストレートを設定することもできます (オプション)。このプランは、API キーを使用して、各キーの関連付けられた API ステージにアクセスできる API クライアントとユーザーを識別します。
[AWS Black Belt Online Seminar] Amazon API Gateway
計測のための識別⽤途のため
上述の通り使用量プラント紐づけてユーザーの識別やアクセスの計測に使用する用途で API キーを使用することが推奨されています。
REST API での認証方法
API Gateway での REST API の使用量プランと API キー - Amazon API Gateway
代わりに、API へのアクセスを制御するには、IAM ロール、Lambda オーソライザー、または Amazon Cognito ユーザープールを使用します。
認証については上述の方法で実現できます。
API Gateway でのアクセスコントロール
API Gateway で REST API へのアクセスを制御および管理する - Amazon API Gateway
AWS WAF を使用して API Gateway の REST API を保護する - Amazon API Gateway
AWS WAF を使用して、SQL インジェクションやクロスサイトスクリプティング (XSS) 攻撃などの一般的なウェブの脆弱性から API Gateway REST API を保護できます。
アクセスコントロールについては WAF などを使用する方法もあります。
まとめ
今回は API Gateway REST API で API キーを認証に使用することは非推奨であるという内容を紹介しました。
どなたかの参考になれば幸いです。
Discussion