reCAPTCHA キーの作成

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

reCAPTCHA サイトキーは、サイトまたはアプリに対する reCAPTCHA Enterprise の構成を表します。設定には、CAPTCHA チャレンジを表示するかどうかなどの重要なオプションが含まれています。reCAPTCHA サイトキーは、API キーとは異なります。

始める前に

  1. ご使用の環境内で reCAPTCHA Enterprise をセットアップするための最適な方法を選択し、セットアップを完了します。

  2. 適切なキータイプを選択します。reCAPTCHA キーについて詳しく説明します。

サイトキーの作成

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

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

サイトキーを作成する最も簡単な方法は、Google Cloud Console を使用することです。別の方法としては、reCAPTCHA Enterprise API や Google Cloud CLI を使用することもできます。

Console

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

    [reCAPTCHA Enterprise] に移動

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

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

  3. [鍵を作成] をクリックします。

  4. [表示名] フィールドに、キーの表示名を入力します。
  5. ウェブサイトまたはモバイル プラットフォーム用のサイトキーを作成します。手順については、ご使用のプラットフォームに対応するセクションを展開してご覧ください。
  6. ウェブサイトのサイトキーの作成

    ウェブサイト用のスコアベースまたはチェックボックスのキーを作成できます。

    1. [プラットフォームの種類を選択] プルダウン メニューから、[ウェブサイト] を選択します。

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

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

      課題ページのサイトキーを作成する場合は、この手順をスキップします。

      1. [ドメインリスト] セクションで、[ドメインを追加] をクリックします。

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

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

    3. 作成するサイトキーの種類に応じて、適切な操作を行います。
      • スコアベースのサイトキー(推奨)を作成する手順は次のとおりです。
        1. 省略可: ドメインの所有権の証明を無効にする、または AMP ページを許可するには、[ウェブ アプリケーション ファイアウォール(WAF)、ドメインの所有権の証明、AMP ページ、本人確認] セクションを展開します。
          1. ドメインとサブドメインの reCAPTCHA サイトキーを保護するには、[ドメインの所有権の証明を無効にする] がオフになっていることを確認します。

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

            課題ページのサイトキーのドメインの所有権の証明を無効にすると、Google Cloud Armor はドメインを検証します。

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

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

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

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

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

            課題ページのサイトキーのドメインの所有権の証明を無効にすると、Google Cloud Armor はドメインを検証します。

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

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

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

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

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

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

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

    ウェブ アプリケーション ファイアウォール(WAF)のサイトキーを作成する

    ウェブサイト用の WAF サイトキーを作成できます。ウェブ アプリケーション ファイアウォール(WAF)キーを作成する手順は次のとおりです。

    1. [プラットフォームの種類を選択] プルダウン メニューから、[ウェブサイト] を選択します。

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

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

      課題ページのサイトキーを作成する場合は、この手順をスキップします。

      1. [ドメインリスト] セクションで、[ドメインを追加] をクリックします。

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

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

    3. [ウェブ アプリケーション ファイアウォール(WAF)、ドメインの所有権の証明、AMP ページ、本人確認] セクションを展開します。
    4. [ウェブ アプリケーション ファイアウォール(WAF)] 切り替えをオンにします。
    5. [機能] プルダウン メニューから、作成する WAF キーのタイプを選択します。

    6. チャレンジページのサイトキーの場合は、[ドメインの所有権の証明を無効化] をオンにします。アクション トークンとセッション トークンのサイトキーの場合、この手順は省略可能です。

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

      課題ページのサイトキーのドメインの所有権の証明を無効にすると、Google Cloud Armor はドメインを検証します。

    7. 省略可: アクション トークンのサイトキーの場合は、[チェックボックスによる本人確認を使用する] をオンにします。

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

    モバイル アプリ用のサイトキーの作成

    モバイル アプリケーション用のスコアベースのサイトキーのみを作成できます。

    1. [プラットフォームの種類を選択] プルダウン メニューから [Android アプリ] または [iOS アプリ] を選択してください。
    2. 選択したプラットフォームに応じて、Android パッケージまたは iOS バンドル ID を入力します。

      [Android アプリ] を選択した場合、次の手順を行います。

      1. [Android パッケージ リスト] セクションで、[Android パッケージを追加] をクリックします。
      2. [Android パッケージ] フィールドに、Android パッケージの名前を入力します。

      3. 省略可: パッケージを追加するには、[Android パッケージを追加] をクリックして、[Android パッケージ] に別の Android パッケージの名前を入力します。
      4. 省略可: パッケージ名を確認するには、次の操作を行います。
        1. [パッケージ名の確認] を展開します。
        2. バンドル ID の reCAPTCHA サイトキーを保護するには、[パッケージ名の確認を無効にする] 切り替えボタンがオフになっていることを確認します。
        3. 本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。

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

      [iOS アプリ] を選択した場合、次の手順を行います。

      1. [iOS bundle ID list] セクションで、[iOS バンドル ID を追加] をクリックします。
      2. [バンドル ID] フィールドに、iOS バンドル ID の名前を入力します。

      3. 省略可: 別のバンドル ID を追加するには、[iOS バンドル ID を追加 ] をクリックし、[バンドル ID ] フィールドに iOS バンドル ID の名前を入力します。
      4. 省略可: バンドル ID の確認手順は次のとおりです。
        1. [バンドル ID の確認] を展開します。
        2. バンドル ID の reCAPTCHA サイトキーを保護するには、[バンドル ID の確認を無効にする] 切り替えボタンがオフになっていることを確認します。
        3. 本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。

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

      モバイルアプリの場合、reCAPTCHA サイトキーは特定のパッケージ名(com.google.recaptcha.test など)に固有のものです。

    3. [鍵を作成] をクリックします。

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

gcloud CLI

キーを作成するには、gcloud recaptcha keys create コマンドを使用します。
  • ウェブサイトのキーを作成するには、次のコマンドを使用します。

       gcloud recaptcha keys create \
          --web \
          --display-name=DISPLAY_NAME  \
          --waf-feature=WAF_FEATURE \
          --waf-service=WAF_SERVICE \
          --integration-type=INTEGRATION_TYPE \
          --domains=DOMAIN_NAME
      

    次の値を指定します。

    • DISPLAY_NAME: キーの名前。通常はサイトの名前です。
    • WAF_FEATURE(WAF サイトキーのみ): WAF 機能の名前。有効な値は challenge-pageaction-tokensession-token です。
    • WAF_SERVICE(WAF サイトキーのみ): WAF サービス プロバイダの名前。Google Cloud Armor に CA を指定します。
    • INTEGRATION_TYPE: 統合の種類 キーの種類に応じて、次の値を指定します。
      • スコアベースのサイトキーの場合は SCORE
      • チェックボックスのサイトキーの場合は CHECKBOX
      • 課題ページのサイトキーの場合は INVISIBLE
      • アクション トークンのサイトキーの場合は SCORE または CHECKBOX
      • セッション トークンのサイトキーの場合は SCORE
    • DOMAIN_NAME: キーの使用を許可されたウェブサイトのドメインまたはサブドメイン複数のドメインをカンマ区切りのリストとして指定します。省略可: WAF サイトキーの場合は、--allow-all-domains を指定してドメインの所有権確認を無効にします。

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

      課題ページのサイトキーのドメインの所有権の証明を無効にすると、Google Cloud Armor はドメインを検証します。

  • Android アプリのキーを作成するには、次のコマンドを使用します。
        gcloud recaptcha keys create \
          --android --package-names=PACKAGE_NAMES \
          --display-name=DISPLAY_NAME
        

    次の値を指定します。

    • DISPLAY_NAME: キーの名前。通常、アプリ名です。
    • PACKAGE_NAMES: キーの使用が許可されているアプリの Android パッケージ名。複数のパッケージをカンマ区切りのリストとして指定します。
  • iOS アプリ用のキーを作成するには、次のコマンドを使用します。
        gcloud recaptcha keys create \
          --ios --bundle-ids=BUNDLE_IDs \
          --display-name=DISPLAY_NAME
        

    次の値を指定します。

    • DISPLAY_NAME: キーの名前。通常、アプリ名です。
    • BUNDLE_IDs: キーの使用を許可されているアプリの iOS バンドル ID。 複数のバンドル ID をカンマ区切りのリストとして指定します。
  • 次の例は、gcloud recaptcha keys create コマンドを使用して鍵を作成する場合の出力例を示しています。

      Created [6Ld3howaAAAAAFYDMsLz2nWFXhsnmBjdrBra5_Bq].
    

REST

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

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID
  • DISPLAY_NAME: キーの表示名
  • WAF_SERVICE: WAF サービス プロバイダの名前。Google Cloud Armor に CA を指定します。
  • WAF_FEATURE: WAF 機能の名前。

    キーの種類に応じて、challenge-pageaction-token、または session-token を指定します。

  • DOMAINS(ウェブサイトと WAF のみ): キーの使用が許可されているウェブサイトのドメインまたはサブドメイン。複数のドメインをカンマ区切りのリストとして指定します。省略可: --allow-all-domains を指定して、ドメインの所有権の証明を無効にします。

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

    課題ページのサイトキーのドメインの所有権の証明を無効にすると、Google Cloud Armor はドメインを検証します。

  • TYPE_OF_INTEGRATION(ウェブサイトと WAF のみ): キーのタイプに応じて、次の値を指定します。
    • スコアベースのサイトキーの場合は SCORE
    • チェックボックスのサイトキーの場合は CHECKBOX
    • 課題ページのサイトキーの場合は INVISIBLE
    • アクション トークンのサイトキーの場合は SCORE または CHECKBOX
    • セッション トークンのサイトキーの場合は SCORE
  • PACKAGE_NAMES(Android アプリのみ): キーの使用が許可されているアプリの Android パッケージ名。複数のパッケージをカンマ区切りのリストとして指定します。
  • BUNDLE_IDs(iOS アプリのみ): キーの使用を許可されているアプリの iOS バンドル ID。複数のバンドル ID はカンマ区切りのリストとして指定します。

HTTP メソッドと URL:

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

JSON 本文のリクエスト:


To create keys for websites:
{
  "displayName": "DISPLAY_NAME",
  "webSettings": {
    "allowedDomains": "DOMAINS",
    "integrationType": "TYPE_OF_INTEGRATION"
  }
}

To create keys for WAF:

{
   "displayName": "DISPLAY_NAME",
    'wafSettings': "  {
        "wafService": "WAF_SERVICE",
"wafFeature": "WAF_FEATURE"
   }
   "webSettings": {
     "allowedDomains": "DOMAINS",
     "integrationType": "TYPE_OF_INTEGRATION"
    }
}

To create keys for Android apps:
{
  "displayName": "DISPLAY_NAME",
  "androidSettings": {
  "allowedPackageNames":"PACKAGE_NAMES"
  }
}

To create keys for iOS apps:

{
  "displayName": "DISPLAY_NAME",
  "iosSettings": {
   "allowedBundleIds":"BUNDLE_IDs"

  }
}

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

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 秘密鍵を見つける

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

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

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

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

    [reCAPTCHA Enterprise] に移動

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

  3. [鍵の詳細] ページで、[以前の reCAPTCHA 秘密鍵] を展開します。

次のステップ