このトピックでは、Web Application Firewall (WAF) を設定して、API Gatewayで公開されるAPIのセキュリティを強化する方法について説明します。
1. 概要
API Gatewayは、認証、改ざん防止、リプレイ防止、パラメーターの検証、フルリンク署名の検証、スロットリングなど、APIを保護するためのさまざまなセキュリティ機能を提供します。 アプリケーション層でOpen web Application Security Project (OWASP) によって定義された上位10件のWeb攻撃やブルートフォース攻撃など、攻撃者によって作成された攻撃要求からAPIを保護するために、WAFを使用してセキュリティ保護を強化できます。 これにより、データ侵害を防ぎ、ビジネスのセキュリティを強化します。
API GatewayはWAFと完全に互換性があります。 セクション3の「手順」で説明されている手順に従って、WAFを設定できます。
2. 前提条件
WAFが有効になっています。 詳細については、「サブスクリプションWAFインスタンスの購入」をご参照ください。
APIはAPI Gatewayで公開されます。
3. 手順
ステップ1: ドメイン名をAPIグループにバインドします。 詳細については、「カスタムドメイン名をバインドしてAPI呼び出しを許可する」をご参照ください。 ドメイン名がAPIグループにバインドされていることを次の図に示します。

次のステップでWAFを設定する必要があります。 したがって、この手順でTXTレコードを追加してドメイン名をバインドすることを推奨します。
ステップ2: ドメイン名をWAFに追加します。 WAFコンソールにログインします。 左側のナビゲーションウィンドウで、アセットセンター> Webサイトアクセスを選択します。 Webサイトアクセスページで、[Webサイトアクセス] をクリックします。 [ドメイン名の追加] ページで、パラメーターを設定します。
次の項目は、パラメータについて説明します。
ドメイン名: 手順1でAPIグループにバインドされたドメイン名を入力します。
プロトコルタイプ: API GatewayコンソールでAPIを公開するためのプロトコルを選択します。
宛先サーバー (IPアドレス): [ドメイン名 (CNAMEなど)] を選択し、APIグループに割り当てられている第2レベルのドメイン名を入力します。
[次へ] をクリックし、画面の指示に従って後続の設定を実行します。 次に、ドメイン名のCNAMEレコードを追加して、WAFによって生成されたCNAMEにドメイン名を解決します。 これにより、業務トラフィックはWAFに切り替えられます。

手順3: API Gatewayコンソールで第2レベルのドメイン名を無効にします。 これにより、呼び出し元がWAFをバイパスし、システムに割り当てられたパブリック第2レベルドメイン名を使用してAPI Gatewayにアクセスできなくなります。 第2レベルのドメイン名を無効にすると、ドメイン名向けのリクエストは失敗しますが、WAF向けのリクエストは影響を受けません。
