Google Cloud Armor との統合機能

このドキュメントは、Google Cloud Armor 用 reCAPTCHA の機能を理解し、ユースケースに最適な機能を判断する際に役立ちます。

reCAPTCHA には、Google Cloud Armor との統合に使用できる次の機能があります。

機能の概要

Google Cloud Armor 統合用の reCAPTCHA は、アクション トークン、セッション トークン、チャレンジ ページ、reCAPTCHA express をサポートしています

1 つのアプリケーションで 1 つ以上の Google Cloud Armor 用 reCAPTCHA 機能を使用できます。たとえば、すべてのページにセッション トークンを適用するように選択でき、セッション トークンのスコアに基づいて、不審なリクエストを reCAPTCHA 課題ページにリダイレクトできます。また、ご購入手続きなどの重要なアクションにアクション トークンを使用できます。詳細については、をご覧ください。

次の表に、Google Cloud Armor で使用可能な reCAPTCHA の機能の簡単な比較を示します。

比較カテゴリ reCAPTCHA アクション トークン reCAPTCHA セッション トークン reCAPTCHA 課題ページ reCAPTCHA express
ユースケース ログイン投稿へのコメントなどのユーザー アクションを保護するために使用します。 サイトのドメインでのユーザー セッション全体を保護するために使用します。 サイトに対するスパム行為が疑われ、bot を除外する必要がある場合に使用します。

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

環境が reCAPTCHA JavaScript またはモバイル SDK の統合をサポートしていない場合は、reCAPTCHA express を使用します。
対応プラットフォーム ウェブサイトとモバイルアプリ ウェブサイト ウェブサイト すべての HTTP リクエスト。

API、ウェブサイト、モバイルアプリ、テレビやゲーム機などの IoT デバイス

クライアント統合の作業量

クライアントサイドの手動統合。

WAF で reCAPTCHA JavaScript を手動でインストールするか、挿入してインストールします。

セキュリティ ポリシーによってトリガーされたインタースティシャル。

クライアント統合はありません。

検出精度 最高

クライアント、サーバー、アクション固有のシグナルを使用できます。

クライアントとサーバー固有のシグナルを使用できます。

クライアントとサーバー固有のシグナルを使用できます。クライアント シグナルはインタースティシャル ページでのみ使用できます。

サーバーサイドのシグナルのみを使用できます。

サポートされている reCAPTCHA のバージョン reCAPTCHA のスコアベース キーとチェックボックス キー reCAPTCHA スコアベース キー インタースティシャル ページに埋め込まれた reCAPTCHA のチャレンジベースのキー reCAPTCHA express キー

reCAPTCHA アクション トークン

reCAPTCHA アクション トークンを使用して、ウェブページやモバイルアプリでのご購入手続きなどの重要なユーザー インタラクションを保護できます。

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

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

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

次のシーケンス図は、モバイルアプリ用の reCAPTCHA アクション トークンのワークフローを示しています。

reCAPTCHA セッション トークン

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

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

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

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

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

reCAPTCHA 課題ページ

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

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

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

  1. Google Cloud Armor レイヤで、ユーザーのリクエストが reCAPTCHA チャレンジ ページにリダイレクトされます。
  2. reCAPTCHA が、reCAPTCHA JavaScript が埋め込まれた HTML ページで応答します。
  3. 確認ページがレンダリングされると、reCAPTCHA がユーザー インタラクションを評価します。必要に応じて、reCAPTCHA が CAPTCHA による確認をユーザーに提供します。
  4. 評価の結果に応じて、reCAPTCHA は次の処理を行います。

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

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

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

次のステップ