ユニバーサルエディターでフォームに Google reCAPTCHA を追加する

Google reCAPTCHA は、人間のユーザーと自動ボットを区別して、フォームの保護を支援します。このガイドでは、ユニバーサルエディターで reCAPTCHA Enterprise バージョンと Standard バージョンの両方を実装する方法について説明します。

目的:

  • 適切な reCAPTCHA ソリューションを選択する
  • reCAPTCHA Enterprise または Standard を設定する
  • フォームに reCAPTCHA を追加する
  • 実装を検証およびテストする
  • パフパフォーマンスを監視および最適化する

前提条件

開始する前に、次を確認します。

アクセス要件

  • AEM as a Cloud Service のオーサリングアクセス
  • フォーム編集権限を持つユニバーサルエディターへのアクセス

技術要件

  • アクティブな Google アカウント
  • Enterprise の場合:課金が有効な Google Cloud Platform プロジェクト
  • Standard の場合: Google reCAPTCHA アカウント
  • フォームの検証済みドメイン所有権

知識要件

  • AEM Forms とユニバーサルエディターの基本的な理解
  • クラウドサービスの設定に関する知識
  • フォームセキュリティの概念に関する理解

フォームで reCAPTCHA を使用する理由

セキュリティ
ボット保護
ユーザーエクスペリエンス
セキュリティの強化
ボットおよびスパムの防止
シームレスなユーザーエクスペリエンス
不正行為や攻撃からフォームを保護する
自動ボットによるフォームの送信を防ぐ
Invisible reCAPTCHA により、正当なユーザーを妨害しない

主な概念: reCAPTCHA は、機械学習を使用してユーザーの行動を分析し、人間によるインタラクションの可能性を示すスコア(0.0~1.0)を割り当てます。スコアが高いほど人間のユーザーであることを示し、スコアが低いほどボットであることを示します。

例: ​機密データを処理する税金計算フォームは、自動攻撃からの保護が必要です。reCAPTCHA は、送信がボットではなく、実際のユーザーからのものであることを検証します。

reCAPTCHA ソリューションの選択

Edge Delivery Services Forms では、次の 2 つの Google reCAPTCHA オプションをサポートしています。次の基準を使用して、適切なソリューションを選択します。

クイック決定ガイド

以下の条件に該当する場合は、reCAPTCHA Enterprise を使用します。

  • 高トラフィックのフォーム(1 か月あたり 10,000 件を超えるリクエスト)
  • 厳格なコンプライアンス要件(GDPR、SOX、HIPAA)
  • 高度な分析とレポート機能の必要性
  • プレミアムセキュリティ機能の予算
  • 複雑なマルチドメインのデプロイメント

以下の条件に該当する場合は、reCAPTCHA Standard を使用します。

  • 低~中程度のトラフィック(1 か月あたり 10,000 件未満のリクエスト)
  • 基本的なセキュリティのニーズ
  • 制限付き予算(無料利用枠)
  • シンプルな単一ドメイン設定
  • reCAPTCHA を初めて使用する

詳細な比較

機能
reCAPTCHA Enterprise
reCAPTCHA Standard
コスト
有料(使用状況に基づいた価格設定)
無料
リクエストの制限
制限なし
1 か月あたり 100 万件のリクエスト
高度な分析
詳細なレポート
基本統計のみ
カスタムルール
アカウント固有のルール
グローバルルールのみ
マルチドメインサポート
高度な管理
基本サポート
SLA
99.9%の稼動時間保証
ベストエフォート
サポート
エンタープライズサポート
コミュニティサポート
コンプライアンス
エンタープライズグレード
標準コンプライアンス

どちらのソリューションも以下を提供します。

  • スコアベースの検出(0.0~1.0 のスケール)
  • 非表示の操作(ユーザーインタラクションは不要)
  • 機械学習を活用したボット検出
  • リアルタイムのリスク評価

reCAPTCHA Enterprise の設定

手順 1:Google Cloud 環境を準備

要件:

  1. 課金が有効な Google Cloud プロジェクト
  2. プロジェクト ID (GCP ダッシュボードから)
  3. フォームのドメイン検証
  4. GCP および AEM への管理者アクセス権限

設定:

  1. Google Cloud プロジェクトを作成または選択します

    • Google Cloud コンソールに移動します
    • 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
    • プロジェクト ID をメモします
  2. reCAPTCHA Enterprise API を有効にします

    • API とサービス/ライブラリに移動します
    • 「reCAPTCHA Enterprise API」を検索します
    • 「有効にする」をクリックします
  3. API 資格情報を作成します

    • API とサービス/資格情報に移動します
    • 資格情報を作成/API キーをクリックします
    • API キーをコピーして保存します
  4. サイトキーを作成します

    • セキュリティ/reCAPTCHA Enterprise に移動します
    • 「キーを作成」をクリックします
    • スコアベースのキータイプを選択します
    • ドメインを追加します
    • しきい値スコアを設定します(推奨:0.5)

検証チェックポイント: ​次を確認します。

  • プロジェクト ID
  • API キー
  • サイトキー
  • Google Cloud の検証済みドメイン
手順 2:AEM Cloud 設定コンテナを指定

ステップごとのクラウド設定
図:フォームコンテナに対するクラウド設定の有効化

設定:

  1. 設定ブラウザーにアクセスします

    • AEM オーサーインスタンスにログインします。
    • ツール/一般/設定ブラウザーに移動します
  2. クラウド設定を有効にします

    • フォームの設定コンテナを見つけます
    • プロパティを選択します
    • クラウド設定を確認します
    • 「保存して閉じる」をクリックします
  3. 設定の確認

    • コンテナプロパティに「クラウド設定」が表示されていることを確認します

検証チェックポイント:

  • コンテナでクラウド設定が有効である
  • 設定ブラウザーにコンテナが表示される
  • プロパティで「クラウド設定」が有効と表示される
手順 3:AEM で reCAPTCHA Enterprise サービスを設定

reCAPTCHA Enterprise 設定画面 図:AEM の reCAPTCHA Enterprise 設定インターフェイス

設定:

  1. reCAPTCHA 設定にアクセスします

    • ツール/クラウドサービス/reCAPTCHA に移動します
    • フォームの設定コンテナを選択します
    • 「作成」をクリックします
  2. Enterprise 設定を指定します

    • タイトル:わかりやすい名前(例:「Production reCAPTCHA」)
    • 名前:システム名(自動生成またはカスタム)
    • バージョン:ReCAPTCHA Enterprise を選択します
    • プロジェクト ID:Google Cloud プロジェクト ID を入力します
    • サイトキー:Google Cloud からサイトキーを入力します
    • API キー:Google Cloud API キーを入力します
    • キータイプ:スコアベースのサイトキーを選択します
  3. セキュリティしきい値の設定

    • しきい値スコア:0.0~1.0 に設定

    • 推奨値:

      • 0.7~0.9:高いセキュリティ(一部の正規ユーザーをブロックする可能性あり)
      • 0.5~0.7:バランスの取れたセキュリティ(推奨)
      • 0.1~0.5:低いセキュリティ(より多くのユーザーが許可される)
  4. 保存して公開

    • 「作成」をクリックして、設定を保存します
    • 「公開」をクリックして使用可能にします

検証チェックポイント:

  • 設定は正常に保存されました
  • すべての必須フィールドに入力しました
  • 設定が公開され、表示されました
  • エラーメッセージはありません

reCAPTCHA Standard の設定

手順 1:reCAPTCHA API キーの取得(詳細を参照)
note important
IMPORTANT
Edge Delivery Services Forms では、(スコアベースの)reCAPTCHA v2 のみをサポートします。チェックボックスバージョンは使用しないでください。

キーの生成:

  1. Google reCAPTCHA コンソールへのアクセス

  2. サイトを新規作成

    • 「+」をクリックして新しいサイトを追加
    • ラベル:わかりやすい名前を入力します
    • reCAPTCHA タイプ:reCAPTCHA v2/「私はロボットではありません」を選択して非表示
    • ドメイン:フォームドメインを追加します
    • 条件に同意し、「送信」をクリックします
  3. キーを収集

    • サイトキー:サイトキー(公開鍵)をコピーします
    • 秘密鍵:秘密鍵をコピーします

検証チェックポイント:

  • reCAPTCHA コンソールで作成されたサイト

  • サイトキーを取得しました

  • 秘密鍵を取得しました

  • ドメインが追加および検証されました

手順 2:AEM Cloud Configuration コンテナの設定(詳細を参照)

エンタープライズ設定と同じプロセスに従います。

  1. 設定ブラウザでクラウド設定を有効にします

  2. コンテナ設定の確認

  3. 設定が保存されたことを確認

手順 3:AEMで reCAPTCHA 標準サービスを設定(詳細を参照)

reCAPTCHA 標準設定画面
図:AEM の reCAPTCHA 標準設定インターフェイス

設定:

  1. reCAPTCHA 設定にアクセスします

    • ツール/クラウドサービス/reCAPTCHA に移動します
    • フォームの設定コンテナを選択します
    • 「作成」をクリックします
  2. Standard 設定を指定します

    • タイトル:わかりやすい名前(例:「Standard reCAPTCHA」)
    • 名前:システム名(自動生成またはカスタム)
    • バージョン : ReCAPTCHA v2 を選択します
    • サイトキー:Google reCAPTCHA サイトキーを入力します
    • 秘密鍵:Google reCAPTCHA 秘密鍵を入力します
  3. 保存して公開

    • 「作成」をクリックして、設定を保存します
    • 「公開」をクリックして使用可能にします

検証チェックポイント:

  • エラーなしで設定が作成された

  • 両方のキーが正しく入力された

  • 設定が正常に公開された

  • 設定がリストに表示される

reCAPTCHA のフォームへの追加

reCAPTCHA サービスを設定した後、次のようにフォームに保護を追加します。

reCAPTCHA コンポーネントのフォームへの追加
図:Invisible Captcha コンポーネントのフォームへの追加

<>1. ユニバーサルエディターでフォームを開く

AEM Sitesのフォームに移動し、「編集」をクリックしてユニバーサルエディターで開きます。 エディターが読み込まれるまで待機します。

  • AEM Sites のフォームに移動します
  • 「編集」をクリックしてユニバーサルエディターで開きます
  • エディターが読み込まれるまで待機します
<>2. フォーム構造を見つける

コンテンツツリー(左パネル)で、「アダプティブフォーム」セクションを見つけ、フォーム構造を展開して挿入ポイントを表示します。

  • コンテンツツリー(左側のパネル)で、アダプティブフォームセクションを見つけます
  • フォーム構造を展開して挿入ポイントを表示します
<>3. reCAPTCHA コンポーネントの追加

Captcha (非表示)コンポーネントをフォームに追加します。

  • フォームセクションで追加(+)アイコンをクリックします
  • コンポーネントリストから、「Captcha (Invisible)」を選択します
  • または、コンポーネントパネルからコンポーネントをドラッグ&ドロップします
<>4. コンポーネントの設定(オプション)

新しく追加された captcha コンポーネントを選択し、reCAPTCHA 設定を使用していることを確認します。

  • 新しく追加された Captcha コンポーネントを選択します
  • プロパティパネルで、reCAPTCHA 設定が使用されていることを検証します
  • 基本的な設定には、追加の設定は必要ありません
5.変更を公開する

変更を公開し、エラーがないことを確認します。

  • ユニバーサルエディターで「公開」をクリックします
  • 完了まで待機します
  • エラーが表示されないことを検証します

実装の検証

保護されたフォームが次の場所で使用できるようになりました。

https://<branch>--<repo>--<owner>.aem.live/content/forms/af/
<form-name>

URL の例:

https://main--my-forms--company.aem.live/content/forms/af/
contact-us-form
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab