Google Cloud Armor との統合機能

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

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

機能の概要

Google Cloud Armor 用 reCAPTCHA の統合では、アクション トークン、セッション トークン、課題ページがサポートされています。

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

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

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

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

対応プラットフォーム ウェブサイトとモバイルアプリ ウェブサイト ウェブサイト
クライアント統合の作業量 メディア

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

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

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

検出精度 最高

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

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

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

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

reCAPTCHA アクション トークン

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

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

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

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

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

reCAPTCHA セッション トークン

サイトのドメインでユーザー セッション全体を保護する場合は、reCAPTCHA セッション トークンを使用できます。セッション トークンを使用すると、指定された期間、リクエスト間で有効なトークンを再利用できるため、ユーザー アクションごとに execute() を呼び出す必要がなくなり、ユーザー側の抵抗と execute() の呼び出し回数が減少します。

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

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

  1. ブラウザは、reCAPTCHA から reCAPTCHA JavaScript を読み込みます。
  2. reCAPTCHA JavaScript は、execute() の呼び出し後にセッション トークンをエンドユーザーのブラウザの 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 課題ページのワークフローを示しています。

次のステップ