ウェブサイト用の reCAPTCHA キーを作成する

このページでは、reCAPTCHA キー(キーとも呼ばれる)を作成して、ウェブページでのユーザー インタラクションを確認する方法について説明します。

reCAPTCHA キーは、ウェブサイトに対する reCAPTCHA の構成方法を表します。この構成には、CAPTCHA チャレンジを表示するかどうかなどの重要なオプションが含まれています。

始める前に

reCAPTCHA キーを作成する

Google Cloud プロジェクト用に作成できる reCAPTCHA キーの数に上限はありません。ウェブサイトごとに 1 つの reCAPTCHA キーを作成することをおすすめします。

ステージング環境と本番環境用に別々の reCAPTCHA キーを作成することをおすすめします。そうしないと、テスト環境からのデータが reCAPTCHA リスク分析に悪影響を及ぼすリスクがあります。

reCAPTCHA キーを作成する最も簡単な方法は、reCAPTCHA 管理コンソールを使用することです。または、Google Cloud コンソール、reCAPTCHA Enterprise API、Google Cloud CLI を使用することもできます。

管理コンソール

  1. reCAPTCHA 管理コンソールに移動します。

    reCAPTCHA 管理コンソールに移動

  2. [ラベル] フィールドに、サイトの識別に使用できる名前を入力します。
  3. スコアベース キーを作成する場合は、[スコアベース(v3)] を選択します。チェックボックス キーを作成する場合は、[チャレンジ(v2)] を選択します。
  4. ドメインを追加するには、ドメイン名を入力して をクリックします。

    ドメインを追加するには、この手順を繰り返します。追加できるドメインは最大 250 個です。

  5. Google Cloud コンソールが初めての場合は、利用規約を読み、チェックボックスをオンにします。
  6. [送信] をクリックします。

Google Cloud コンソールを初めて使用する場合は、Google Cloud プロジェクトが作成され、必要な API が有効になっていて、すぐに使用できます。Google Cloud プロジェクトがすでにある場合は、プロジェクトを開始するために必要な API が有効になっています。

Cloud コンソール

  1. Google Cloud コンソールで、[reCAPTCHA] ページに移動します。

    [reCAPTCHA] に移動

  2. ページの上部にあるプロジェクト セレクタにリソース名が表示されていることを確認します。

    プロジェクトの名前が表示されない場合は、リソース セレクタをクリックしてプロジェクトを選択します。

  3. [鍵を作成] をクリックします。
  4. [表示名] フィールドに、キーの表示名を入力します。
  5. [プラットフォーム タイプを選択] メニューから、[ウェブサイト] を選択します。

    [ドメインリスト] セクションが表示されます。

  6. お使いのウェブサイトのドメイン名を入力してください。

    1. [ドメインリスト] セクションで、[ドメインを追加] をクリックします。
    2. [ドメイン] フィールドにドメインの名前を入力します。
    3. 省略可: ドメインを追加するには、[ドメインを追加] をクリックし、[ドメイン] フィールドに別のドメインの名前を入力します。追加できるドメインは最大 250 個です。

      ウェブサイトの場合、reCAPTCHA キーは、指定したドメインとサブドメインに固有のものです。複数のドメインからウェブサイトを提供する場合は、複数のドメインを指定できます。あるドメイン(たとえば examplepetstore.com)を指定すると、そのサブドメイン(たとえば subdomain.examplepetstore.com)を指定する必要はありません。

      250 を超えるドメインで鍵を使用するには、[ドメインの所有権の証明を無効にする] で切り替えボタンをクリックします。reCAPTCHA はドメインリストを無視します。作成した評価の [tokenProperties.hostname] フィールドを調べて、ドメインの所有権を証明する必要があります。

  7. ウェブサイト用に作成する reCAPTCHA キーの種類に応じて、適切なアクションを実行します。
  8. スコアベース reCAPTCHA キーを作成する

    1. 省略可: ドメインの所有権の証明を無効にする、または AMP ページを許可するには、[ウェブ アプリケーション ファイアウォール(WAF)、ドメインの所有権の証明、AMP ページ、チャレンジ] セクションを展開します。
      1. ドメインとサブドメインの reCAPTCHA キーを保護するには、[ドメインの所有権の証明を無効にする] トグルがオフになっていることを確認します。

        サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。

      2. スコアベース キーを Accelerated Mobile Pages(AMP)と連携させる場合は、[このキーが AMP ページに対して機能するようにする] トグルをオンにします。
      3. 本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。

        1. [This is a testing key] 切り替えボタンをクリックします。
        2. [スコア] ボックスで、0~1.0 のスコアを指定します。
      4. [鍵を作成] をクリックします。

      新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。

    チェックボックス reCAPTCHA キーを作成する

    1. [ウェブ アプリケーション ファイアウォール(WAF)、ドメインの所有権の証明、AMP ページ、本人確認] セクションを展開します。
    2. ドメインとサブドメインの reCAPTCHA キーを保護するには、[ドメインの所有権の証明を無効にする] トグルがオフになっていることを確認します。

      サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。

    3. [チェックボックスによる本人確認を使用する] 切り替えをオンにします。
    4. 適切なチャレンジ セキュリティ オプションを選択します。

      チャレンジ セキュリティ オプションは、ユーザーが特定のカテゴリに基づいて画像を選択するよう求められる 2 段階チャレンジをユーザーに求める確率を制御します(たとえば、オートバイや階段の写真を選択する)。

      不正行為防止に最善の対策を講じるには、[最高の難易度(bot に対するセキュリティが高い)] を選択します。

      [最も簡単なチャレンジ難易度] を選択した場合、ユーザーは視覚的な確認を求められる可能性が低くなります。

    5. 本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。

      1. [This is a testing key] 切り替えボタンをクリックします。
      2. [スコア] ボックスで、0~1.0 のスコアを指定します。
      3. 適切な [本人確認の種類] オプションを選択します。
        • [自動] では、本人確認がポップアップすることがあります。
        • [No CAPTCHA] では、本人確認は表示されません。
        • [解決できないチャレンジ] では画像が表示されますが、本人確認はパスしません。
      4. [鍵を作成] をクリックします。

      新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。

gcloud

reCAPTCHA キーを作成するには、gcloud recaptcha keys create コマンドを使用します。

後述のコマンドデータを使用する前に、次のように置き換えます。

  • DISPLAY_NAME: キーの名前。通常はサイトの名前です。
  • INTEGRATION_TYPE: 統合の種類 キーの種類に応じて、次の値を指定します。
    • スコアベース キーの場合は score
    • チェックボックス キーの場合は checkbox
  • DOMAIN_NAME: キーの使用を許可されたウェブサイトのドメインまたはサブドメイン。

    複数のドメインをカンマ区切りのリストとして指定します。

    250 を超えるドメインで鍵を使用するには、--allow-all-domains を指定してドメインの所有権の証明を無効にします。reCAPTCHA はドメインリストを無視します。作成した評価の [tokenProperties.hostname] フィールドを調べて、ドメインの所有権を証明する必要があります。

    サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。

gcloud recaptcha keys create コマンドを実行します。

Linux、macOS、Cloud Shell

gcloud recaptcha keys create \
        --web \
        --display-name=DISPLAY_NAME  \
        --integration-type=INTEGRATION_TYPE \
        --domains=DOMAIN_NAME

Windows(PowerShell)

gcloud recaptcha keys create `
        --web `
        --display-name=DISPLAY_NAME  `
        --integration-type=INTEGRATION_TYPE `
        --domains=DOMAIN_NAME

Windows(cmd.exe)

gcloud recaptcha keys create ^
        --web ^
        --display-name=DISPLAY_NAME  ^
        --integration-type=INTEGRATION_TYPE ^
        --domains=DOMAIN_NAME

レスポンスには、新しく作成された reCAPTCHA キーが含まれます。

REST

キーの種類と統合タイプに関する API リファレンス情報については、統合タイプをご覧ください。

リクエストのデータを使用する前に、次のように置き換えます。

  • DISPLAY_NAME: キーの名前。通常はサイトの名前です。
  • INTEGRATION_TYPE: 統合の種類 キーの種類に応じて、次の値を指定します。
    • スコアベース キーの場合は score
    • チェックボックス キーの場合は checkbox
  • DOMAIN_NAME: キーの使用を許可されたウェブサイトのドメインまたはサブドメイン。

    複数のドメインをカンマ区切りのリストとして指定します。

    250 を超えるドメインで鍵を使用するには、--allow-all-domains を指定してドメインの所有権の証明を無効にします。reCAPTCHA はドメインリストを無視します。作成した評価の [tokenProperties.hostname] フィールドを調べて、ドメインの所有権を証明する必要があります。

    サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。

HTTP メソッドと URL:

POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys

リクエストの本文(JSON):


{
  "displayName": "DISPLAY_NAME",
  "webSettings": {
    "allowedDomains": "DOMAINS",
    "integrationType": "TYPE_OF_INTEGRATION"
  }
}

リクエストを送信するには、次のいずれかのオプションを選択します。

curl

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys"

PowerShell

リクエスト本文を request.json という名前のファイルに保存して、次のコマンドを実行します。

$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }

Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys" | Select-Object -Expand Content

次のような JSON レスポンスが返されます。

{
  "name": "projects/project-id/keys/6Ldqgs0UAAAAAIn4k7YxEB-LwEh5S9-Gv6IIWB8m",
  "displayName": "DISPLAY_NAME",
  "webSettings": {
    "allowAllDomains": false,
    "allowedDomains": [
      DOMAINS
    ],
    "allowAmpTraffic": false,
    "integrationType": "SCORE",
    "challengeSecurityPreference": "CHALLENGE_SECURITY_PREFERENCE_UNSPECIFIED"
  }
}

(省略可)以前の reCAPTCHA 秘密鍵を見つける

reCAPTCHA Enterprise API を使用しないサードパーティ アプリケーションと統合する場合は、以前の秘密鍵が必要です。

reCAPTCHA により、作成するサイトキーごとに、以前の reCAPTCHA 秘密鍵(以前の秘密鍵)が作成されます。これはサードパーティ アプリケーションで使用できます。

以前の秘密鍵を見つけるには、次のようにします。

  1. Google Cloud コンソールで、[reCAPTCHA] ページに移動します。

    [reCAPTCHA] に移動

  2. [reCAPTCHA キー] セクションで、作成した reCAPTCHA キーを見つけてクリックします。

  3. [鍵の詳細] ページの [統合] タブで、[以前の鍵を使用する] をクリックします。 ダイアログが開き、以前の秘密鍵の使用方法について確認できます。

次のステップ