reCAPTCHA キーの作成

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

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

始める前に

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

  2. 適切なキータイプを選択します

  3. セキュリティ レビュー後、モバイルアプリ用 reCAPTCHA サイトキー(モバイルキー)にアクセスできます。この機能へのサイトのオンボーディングについては、Google の営業チームまでお問い合わせください

サイトキーの作成

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

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

サイトキーを作成する最も簡単な方法は、Cloud Console を使用することです。reCAPTCHA Enterprise API や gcloud コマンドライン ツールを使用することもできます。

Console

  1. Cloud Console で [reCAPTCHA Enterprise] ページに移動します。

    [reCAPTCHA Enterprise] に移動

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

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

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

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

    ウェブサイトのサイトキーの作成

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

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

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

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

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

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

        ウェブサイトの場合、reCAPTCHA サイトキーは指定したドメインと第 1 レベルのサブドメインに固有のものです。複数のトップレベル ドメインからウェブサイトを配信する場合は、複数のドメインを指定できます。たとえば、examplepetstore.com はドメイン、subdomain.examplepetstore.com および another-subdomain.examplepetstore.com はサブドメインです。

    3. ドメインとサブドメインの reCAPTCHA サイトキーを保護するには、[ドメインの所有権を証明する] が選択されていることを確認します。

      このオプションを選択した場合はサイトに制約がなく、誰でも reCAPTCHA キーにアクセスして使用できるため、セキュリティ上のリスクが生じます。

    4. [統合タイプ] プルダウン メニューから、適切なキータイプを選択します。

    5. 選択した統合方法に応じて、適切なアクションを実行します。
      • [ユーザーに気づかないチャレンジ付きのスコア(推奨)] オプションを選択した場合は、必要に応じてこのキーを Accelerated Mobile Pages(AMP)で扱うことを許可できます。
      • [スコア チェックボックス(私はロボットではありません)] オプションを選択した場合は、適切な [チャレンジによる確認] オプションを選択します。

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

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

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

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

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

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

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

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

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

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

      3. 省略可: パッケージを追加するには、[Android パッケージを追加] をクリックし、[Android パッケージ] フィールドに別の Android パッケージの名前を入力します。

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

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

      3. 省略可: 別のバンドル ID を追加するには、[iOS バンドル ID を追加 ] をクリックし、[バンドル ID ] フィールドに iOS バンドル ID の名前を入力します。

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

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

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

REST とコマンドライン

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

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

  • PROJECT_ID: 実際の Google Cloud プロジェクト ID
  • DISPLAY_NAME: キーの表示名
  • DOMAINS(ウェブサイトのみ): キーの使用を許可されたウェブサイトのドメインまたはサブドメイン。複数のドメインをカンマ区切りのリストとして指定します。
  • TYPE_OF_INTEGRATION(ウェブサイトのみ): SCORE または CHECKBOX
  • 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 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 application-default 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 application-default 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"
  }
}

gcloud

次の例に示すように、gcloud alpha recaptcha keys create コマンドを使用します。

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

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

    次の値を指定します。

    • DISPLAY_NAME: キーの名前。通常はサイト名です。
    • INTEGRATION_TYPE: 統合のタイプ(SCORE または CHECKBOX)。
    • DOMAINS: キーの使用を許可されたウェブサイトのドメインまたはサブドメイン複数のドメインをカンマ区切りのリストとして指定します。

  • Android アプリのキーを作成するには、次のコマンドを使用します。

    gcloud alpha recaptcha keys create \
      --android --package-names=PACKAGE_NAMES \
      --display-name=DISPLAY_NAME
    

    次の値を指定します。

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

    gcloud alpha recaptcha keys create \
      --ios --bundle-ids=BUNDLE_IDS \
      --display-name=DISPLAY_NAME
    

    次の値を指定します。

    • DISPLAY_NAME: キーの名前。通常はアプリ名です。
    • BUNDLE_IDS: キーの使用が許可されている iOS バンドル ID。 複数のバンドル ID をカンマ区切りのリストとして指定します。

次の例は、gcloud alpha recaptcha keys create コマンドを使用して鍵を作成する場合の出力例を示しています。

  Created [6Ld3howaAAAAAFYDMsLz2nWFXhsnmBjdrBra5_Bq].

次のステップ