このページでは、reCAPTCHA キー(キーとも呼ばれる)を作成して、ウェブページでのユーザー インタラクションを確認する方法について説明します。
reCAPTCHA キーは、ウェブサイトに対する reCAPTCHA の構成方法を表します。この構成には、CAPTCHA チャレンジを表示するかどうかなどの重要なオプションが含まれています。
始める前に
- reCAPTCHA 用に環境を準備します。
- reCAPTCHA Enterprise 管理者(
roles/recaptchaenterprise.admin
)の Identity and Access Management ロールがあることを確認します。 - ユースケースに最適なキータイプを選択します。
reCAPTCHA キーを作成する
Google Cloud プロジェクト用に作成できる reCAPTCHA キーの数に上限はありません。ウェブサイトごとに 1 つの reCAPTCHA キーを作成することをおすすめします。
ステージング環境と本番環境用に別々の reCAPTCHA キーを作成することをおすすめします。そうしないと、テスト環境からのデータが reCAPTCHA リスク分析に悪影響を及ぼすリスクがあります。
reCAPTCHA キーを作成する最も簡単な方法は、reCAPTCHA 管理コンソールを使用することです。別の方法としては、 Google Cloud コンソール、reCAPTCHA Enterprise API、Google Cloud CLI を使用することもできます。
管理コンソール
reCAPTCHA 管理コンソールに移動します。
- [ラベル] フィールドに、サイトを識別するために使用できる名前を入力します。
- スコアベース キーを作成する場合は、[スコアベース(v3)] を選択します。チェックボックス キーを作成する場合は、[チャレンジ(v2)] を選択します。
- ドメインを追加するには、ドメイン名を入力して
別のドメインを追加するには、この手順を繰り返します。最大 250 個のドメインを追加できます。
をクリックします。 - Google Cloud コンソールを初めて使用する場合は、利用規約を読んでチェックボックスをオンにします。
- [送信] をクリックします。
Google Cloud コンソールを初めて使用する場合は、 Google Cloud プロジェクトが作成され、必要な API が有効になって、すぐに使用できるようになります。 Google Cloud プロジェクトがすでに存在する場合は、必要な API がプロジェクトで有効になっているため、すぐに始めることができます。
Cloud コンソール
Google Cloud コンソールで、[reCAPTCHA] ページに移動します。
ページの上部にあるプロジェクト セレクタにリソース名が表示されていることを確認します。
プロジェクトの名前が表示されない場合は、リソース セレクタをクリックしてプロジェクトを選択します。
- [鍵を作成] をクリックします。
- [表示名] フィールドに、キーの表示名を入力します。
- [アプリケーションの種類] で [ウェブ] を選択します。
[ドメインリスト] セクションが表示されます。
- ドメインとサブドメインの reCAPTCHA キーを保護するには、[ドメインの所有権の証明を無効にする] トグルがオフになっていることを確認します。
サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。
-
お使いのウェブサイトのドメイン名を入力してください。
- [ドメインリスト] セクションで、[ドメインを追加] をクリックします。
- [ドメイン] フィールドにドメインの名前を入力します。
省略可: ドメインを追加するには、[ドメインを追加] をクリックし、[ドメイン] フィールドに別のドメインの名前を入力します。追加できるドメインの数は最大 250 個です。
ウェブサイトの場合、reCAPTCHA キーは、指定したドメインとサブドメインに固有のものです。複数のドメインからウェブサイトを提供する場合は、複数のドメインを指定できます。あるドメイン(たとえば
examplepetstore.com
)を指定すると、そのサブドメイン(たとえばsubdomain.examplepetstore.com
)を指定する必要はありません。250 を超えるドメインで鍵を使用するには、[ドメインの所有権の証明を無効にする] で切り替えボタンをクリックします。reCAPTCHA はドメインリストを無視します。作成した評価の [
tokenProperties.hostname
] フィールドを調べて、ドメインの所有権を証明する必要があります。
- ウェブサイト用に作成する reCAPTCHA キーの種類に応じて、適切なアクションを実行します。
- スコアベース キーを Accelerated Mobile Pages(AMP)と連携させる場合は、[このキーが AMP ページに対して機能するようにする] トグルをオンにします。
本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。
- [次のステップ(省略可)] をクリックします。
- [その他の設定] ステップで、[この鍵はテスト目的でのみ作成しますか?] 切り替えボタンをクリックします。
- [スコアを設定] スライダーを使用して、0 ~ 1.0 のスコアを指定します。
- [鍵を作成] をクリックします。
- [次のステップ(省略可)] をクリックします。
- [その他の設定] ステップで、[チャレンジを使用する] をオンにします。切り替え。
- 適切なチャレンジ セキュリティ オプションを選択します。
チャレンジ セキュリティ オプションは、ユーザーが特定のカテゴリに基づいて画像を選択するよう求められる 2 段階チャレンジをユーザーに求める確率を制御します(たとえば、オートバイや階段の写真を選択する)。
不正行為防止に最善の対策を講じるには、[難しい] を選択します。
[簡単] を選択した場合、ユーザーは視覚的な確認を求められる可能性が低くなります。
-
本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。
- [この鍵はテスト目的でのみ作成しますか?] 切り替えボタンをクリックします。
- [スコアを設定] スライダーを使用して、0 ~ 1.0 のスコアを指定します。
- 適切な [本人確認の種類] オプションを選択します。
- [自動] では、本人確認がポップアップすることがあります。
- [No CAPTCHA] では、本人確認は表示されません。
- [解決できないチャレンジ] では画像が表示されますが、本人確認はパスしません。
- [鍵を作成] をクリックします。
新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。
- [次のステップ(省略可)] をクリックします。
- [その他の設定] ステップで、[チャレンジを使用する] をオンにします。切り替え。
- 適切な [チャレンジ セキュリティ] オプションを選択します。
チャレンジ セキュリティ オプションでは、ユーザーに表示される CAPTCHA チャレンジの難易度と頻度を定義します。
不正行為防止に最善の対策を講じるには、[難しい] を選択します。
[簡単] を選択した場合、ユーザーは複雑でない CAPTCHA チャレンジを求められる可能性が低くなります。
-
本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。
- [この鍵はテスト目的でのみ作成しますか?] 切り替えボタンをクリックします。
- [スコアを設定] スライダーを使用して、0 ~ 1.0 のスコアを指定します。
- すべての操作に適用される CAPTCHA チャレンジをトリガーするスコアのしきい値を選択します。
- [鍵を作成] をクリックします。
スコアベース reCAPTCHA キーを作成する
新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。
チェックボックス reCAPTCHA キーを作成する
ポリシーベースのチャレンジ reCAPTCHA キーを作成する
新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。
gcloud
reCAPTCHA キーを作成するには、gcloud recaptcha keys create コマンドを使用します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- INTEGRATION_TYPE: 統合の種類。キーの種類に応じて、次の値を指定します。
- スコアベース キーの場合は
score
。 - チェックボックス キーの場合は
checkbox
。 - ポリシーベースのチャレンジ キーの場合は
policy-based-challenge
。これはプレビュー版です。
- スコアベース キーの場合は
- DISPLAY_NAME: キーの名前。通常はサイトの名前です。
- DOMAIN_NAME: キーの使用を許可されたウェブサイトのドメインまたはサブドメイン。
複数のドメインをカンマ区切りのリストとして指定します。
250 を超えるドメインで鍵を使用するには、
--allow-all-domains
を指定してドメインの所有権の証明を無効にします。reCAPTCHA はドメインリストを無視します。作成した評価の [tokenProperties.hostname
] フィールドを調べて、ドメインの所有権を証明する必要があります。サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。
- DEFAULT_SCORE_THRESHOLD: ポリシーベースのチャレンジキーの場合、カスタム スコアしきい値が定義されていないときに、キーのユニバーサル チャレンジしきい値を定義します。これはプレビュー版です。
- ACTION_SCORE_THRESHOLDS: ポリシーベースのチャレンジ キーの場合、アクションと対応するしきい値スコア(0.0 ~ 1.0)を指定します。例:
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'
これはプレビュー版です。
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 リファレンス情報については、鍵と統合タイプをご覧ください。リクエストのデータを使用する前に、次のように置き換えます。
- INTEGRATION_TYPE: 統合の種類。キーの種類に応じて、次の値を指定します。
- スコアベース キーの場合は
SCORE
。 - チェックボックス キーの場合は
CHECKBOX
。 - ポリシーベースのチャレンジ キーの場合は
POLICY_BASED_CHALLENGE
。これはプレビュー版です。
- スコアベース キーの場合は
- DISPLAY_NAME: キーの名前。通常はサイトの名前です。
- DOMAIN_NAME: キーの使用を許可されたウェブサイトのドメインまたはサブドメイン。
複数のドメインをカンマ区切りのリストとして指定します。
250 を超えるドメインで鍵を使用するには、
--allow-all-domains
を指定してドメインの所有権の証明を無効にします。reCAPTCHA はドメインリストを無視します。作成した評価の [tokenProperties.hostname
] フィールドを調べて、ドメインの所有権を証明する必要があります。サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。
- DEFAULT_SCORE_THRESHOLD: ポリシーベースのチャレンジキーの場合、カスタム スコアしきい値が定義されていないときに、キーのユニバーサル チャレンジしきい値を定義します。これはプレビュー版です。
- ACTION_SCORE_THRESHOLDS: ポリシーベースのチャレンジ キーの場合、アクションと対応するしきい値スコア(0.0 ~ 1.0)を指定します。例:
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'
これはプレビュー版です。 - DEFAULT_SCORE_THRESHOLD: ポリシーベースのチャレンジキーの場合、カスタム スコアしきい値が定義されていないときに、キーのユニバーサル チャレンジしきい値を定義します。これはプレビュー版です。
- ACTION_SCORE_THRESHOLDS: ポリシーベースのチャレンジ キーの場合、アクションと対応するしきい値スコア(0.0 ~ 1.0)を指定します。例:
login='{"scoreThreshold": "0.3"}',signup='{"scoreThreshold": "0.1"}'
これはプレビュー版です。
HTTP メソッドと URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys
リクエストの本文(JSON):
{ "displayName": "DISPLAY_NAME", "webSettings": { "allowedDomains": "DOMAINS", "integrationType": "INTEGRATION_TYPE" } }
リクエストを送信するには、次のいずれかのオプションを選択します。
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 秘密鍵(以前の秘密鍵)が作成されます。これはサードパーティ アプリケーションで使用できます。
reCAPTCHA Classic キーの秘密鍵が必要な場合は、 Google Cloudでキーを reCAPTCHA に移行し、以前の秘密鍵を見つけます。
以前の秘密鍵を見つけるには、次のようにします。
Google Cloud コンソールで、[reCAPTCHA] ページに移動します。
[reCAPTCHA キー] セクションで、作成した reCAPTCHA キーを見つけてクリックします。
[鍵の詳細] ページの [統合] タブで、[以前の鍵を使用する] をクリックします。 ダイアログが開き、以前の秘密鍵の使用方法について確認できます。