WAF 用の reCAPTCHA Enterprise と Google Cloud Armor の統合機能

reCAPTCHA Enterprise for WAF と Google Cloud Armor の統合には、reCAPTCHA 課題ページreCAPTCHA アクション トークンreCAPTCHA セッション トークン機能が用意されています。このドキュメントは、これらの機能を理解して、ユースケースに最適な機能を判断する際に役立ちます。

機能の比較

次の表に、reCAPTCHA 課題ページ、reCAPTCHA アクション トークン、reCAPTCHA セッション トークンの簡単な比較を示します。

比較カテゴリ reCAPTCHA 課題ページ reCAPTCHA アクション トークン reCAPTCHA セッション トークン
使用例 サイトに対するスパム行為が疑われ、bot を除外する必要がある場合は、reCAPTCHA 課題ページを使用します。

この方法では、ユーザーが CAPTCHA チャレンジを確認する必要があるため、ユーザーのアクティビティが中断されます。

reCAPTCHA アクション トークンを使用してユーザー アクションを保護します。 reCAPTCHA セッション トークンを使用して、サイトのドメインでユーザー セッション全体を保護します。
統合タイプ

統合では、Google Cloud Armor セキュリティ ポリシー ルールを構成する必要があります。

統合では、次のことを行う必要があります。

  • サイトの個々のページに reCAPTCHA JavaScript をインストールする。
  • アクション トークンを個々のリクエスト ヘッダーに添付する。
  • Google Cloud Armor セキュリティ ポリシー ルールを構成する。

統合では、次のことを行う必要があります。

  • サイトの個々のページに reCAPTCHA JavaScript をインストールする。
  • Google Cloud Armor セキュリティ ポリシー ルールを構成する。
検出精度

このプロセスでは、reCAPTCHA 課題ページにリダイレクトされますが、ページ固有のシグナルがすべて受信されない場合があります。その結果、 bot 検出の精度が低下する可能性があります。

最高

アクション トークンはユーザーのアクションを保護します。

セッション トークンは、サイトのドメインでのユーザー セッション全体を保護します。

サポートされている reCAPTCHA のバージョン reCAPTCHA 課題ページでは、最適化されたバージョンの reCAPTCHA を使用して、統合を最小限に抑えます。 reCAPTCHA Enterprise のスコアベースのサイトキーとチェックボックスのサイトキー reCAPTCHA Enterprise のスコアベースのサイトキー

reCAPTCHA 課題ページ

reCAPTCHA 課題ページ機能を使用して、受信リクエストを reCAPTCHA Enterprise にリダイレクトし、各リクエストが不正なものか正当なものかを判断します。

リダイレクトと可能性がある CAPTCHA 課題の適用により、ユーザーのアクティビティが中断されます。サイトに対するスパム行為が疑われる場合は、これを使用して bot を除外することをおすすめします。

エンドユーザー(ユーザー)が初めてサイトにアクセスしたときに、次のイベントが発生します。

  1. ユーザーのリクエストが WAF レイヤで reCAPTCHA Enterprise にリダイレクトされる。
  2. reCAPTCHA Enterprise が、reCAPTCHA JavaScript が埋め込まれた HTML ページで応答する。
  3. ページがレンダリングされると、reCAPTCHA Enterprise がユーザーの操作を評価する。必要に応じて、reCAPTCHA Enterprise が CAPTCHA 課題をユーザーに提供します。
  4. 評価の結果に応じて、reCAPTCHA Enterprise は次の処理を行います。

    1. ユーザー操作が評価に合格すると、reCAPTCHA Enterprise は除外 Cookie を発行します。ブラウザは、Cookie が期限切れになるまで、同じサイトに対するユーザーの後続のリクエストにこの除外 Cookie を添付します。デフォルトでは、除外 Cookie は 3 時間後に期限切れになります。
    2. ユーザーの操作が評価に合格しなかった場合、reCAPTCHA Enterprise は除外 Cookie を発行しません。
  5. reCAPTCHA Enterprise は、ユーザーが GET/HEAD 呼び出しを使用してウェブページにアクセスすると、除外 Cookie でウェブページを再読み込みします。ユーザーが POST/PUT 呼び出しを使用してウェブページにアクセスする場合、ユーザーはページの再読み込みリンクをクリックする必要があります。

  6. Google Cloud Armor は、有効な除外 Cookie を持つ再びリダイレクトされ、サイトへのアクセスを許可するリクエストを除外します。

次のシーケンス図は、reCAPTCHA 課題ページのワークフローを示しています。

reCAPTCHA アクション トークン

reCAPTCHA アクション トークンを使用して、ご購入手続きなどの重要なユーザー インタラクションを保護できます。

reCAPTCHA action-tokens のワークフローは、次の手順で構成されます。

  1. reCAPTCHA Enterprise サイトキーをウェブページにインストールします。
  2. エンドユーザーが reCAPTCHA で保護された HTML アクションをトリガーすると、ウェブページはブラウザが収集したシグナルを分析するために reCAPTCHA Enterprise に送信します。
  3. reCAPTCHA Enterprise がアクション トークンをウェブページに送信します。
  4. 保護するリクエストのヘッダーに、このアクション トークンを添付します。
  5. ユーザーがアクション トークンでアクセスをリクエストすると、Google Cloud Armor はバックエンド アプリケーションの代わりにアクション トークン属性のデコードと検証を行います。
  6. Google Cloud Armor は、構成済みのセキュリティ ポリシールールに基づいてアクションを適用します。

次のシーケンス図は、reCAPTCHA アクション トークンのワークフローを示しています。

reCAPTCHA アクション トークンの属性

次の表に、reCAPTCHA アクション トークンの属性セットを示します。

属性名 データ型 説明
score float reCAPTCHA トークンからのスコア。有効なスコアの範囲は 0.0 ~ 1.0 です。スコア 1.0 は、インタラクションのリスクが低く、正当である可能性が高いことを示します。一方で 0.0 は、インタラクションのリスクが高く、不正行為の可能性があることを示します。詳細については、スコアの解釈をご覧ください。
captcha_status 文字列 reCAPTCHA トークンの CAPTCHA ステータス。次の 3 つのステータスがあります。
  • ユーザーを評価する際に課題が含まれていなかった。
  • 課題が含まれ、ユーザーが正しく解決した。
  • 課題が含まれ、ユーザーが解決に失敗した。
action_name 文字列 action_name は、grecaptcha.enterprise.execute() を呼び出すときにユーザーの操作で指定したアクション パラメータです。詳細については、アクション名をご覧ください。

reCAPTCHA セッション トークン

サイトのドメインでユーザー セッション全体を保護する場合は、reCAPTCHA セッション トークンを使用できます。セッション トークンを使用すると、既存の reCAPTCHA Enterprise の評価を一定期間再利用できるため、特定のユーザーにはそれ以上の評価が不要になり、ユーザーの負担が軽減され、必要な reCAPTCHA の合計呼び出し回数を減らすことができます。

reCAPTCHA Enterprise でエンドユーザーのブラウジング パターンを把握できるようにするには、サイトのすべてのウェブページで reCAPTCHA セッション トークンを使用することをおすすめします。

reCAPTCHA セッション トークンのワークフローは次の手順で構成されます。

  1. 少なくとも 1 つのウェブページに reCAPTCHA Enterprise スコアベースのサイトキーをインストールします。
  2. ブラウザは reCAPTCHA Enterprise から reCAPTCHA JavaScript を読み込みます。
  3. reCAPTCHA JavaScript は、評価後にエンドユーザーのブラウザにセッション トークンを Cookie として設定します。
  4. エンドユーザーのブラウザは Cookie を保存し、reCAPTCHA JavaScript はアクティブである限り 30 分ごとに Cookie を更新します。
  5. ユーザーが Cookie を使用してアクセスをリクエストすると、Google Cloud Armor がこの Cookie を検証し、セキュリティ ポリシー ルールに基づいてアクションを適用します。

次のシーケンス図は、reCAPTCHA セッション トークンのワークフローを示しています。

reCAPTCHA セッション トークンの属性

次の表に、reCAPTCHA セッション トークンの属性を示します。

属性名 データ型 説明
Score float reCAPTCHA トークンからのスコア。有効なスコアの範囲は 0.0 ~ 1.0 です。スコア 1.0 は、インタラクションのリスクが低く、正当である可能性が高いことを示します。一方で 0.0 は、インタラクションのリスクが高く、不正行為の可能性があることを示します。詳細については、スコアの解釈をご覧ください。

次のステップ

  • WAF 用 reCAPTCHA Enterprise と Google Cloud Armor の統合の機能を実装する方法を学習する。