このページでは、reCAPTCHA キー(キーとも呼ばれる)を作成して、ウェブページ上でのユーザー インタラクションを確認する方法について説明します。
reCAPTCHA キーは、ウェブサイトに対する reCAPTCHA Enterprise の構成を表します。この構成には、CAPTCHA チャレンジを表示するかどうかなどの重要なオプションが含まれています。
準備
- reCAPTCHA Enterprise の環境を準備します。
- reCAPTCHA Enterprise 管理者(
roles/recaptchaenterprise.admin
)の Identity and Access Management ロールがあることを確認します。 - ユースケースに最適なキータイプを選択する。
reCAPTCHA キーを作成する
Google Cloud プロジェクト用に作成できる reCAPTCHA キーの数に制限はありません。ウェブサイトごとに 1 つの reCAPTCHA キーを作成することをおすすめします。
ステージング環境と本番環境用に別々の reCAPTCHA キーを作成することをおすすめします。そうしないと、テスト環境からのデータが reCAPTCHA リスク分析に悪影響を及ぼすリスクがあります。
reCAPTCHA キーを作成する最も簡単な方法は、Google Cloud コンソールを使用することです。別の方法としては、reCAPTCHA Enterprise API や Google Cloud CLI を使用することもできます。
Console
Google Cloud コンソールで、[reCAPTCHA Enterprise] ページに移動します。
ページの上部にあるプロジェクト セレクタにリソース名が表示されていることを確認します。
プロジェクトの名前が表示されない場合は、リソース セレクタをクリックしてプロジェクトを選択します。
[鍵を作成] をクリックします。
- [表示名] フィールドに、キーの表示名を入力します。
[プラットフォームの種類を選択] メニューから [ウェブサイト] を選択します。
[ドメインリスト] セクションが表示されます。
-
お使いのウェブサイトのドメイン名を入力してください。
[ドメインリスト] セクションで、[ドメインを追加] をクリックします。
- [ドメイン] フィールドにドメインの名前を入力します。
省略可: ドメインを追加するには、[ドメインを追加] をクリックし、[ドメイン] フィールドに別のドメインの名前を入力します。最大 250 個のドメインを追加できます。
ウェブサイトの場合、reCAPTCHA キーは、指定したドメインとサブドメインに固有のものです。複数のドメインからウェブサイトを提供する場合は、複数のドメインを指定できます。あるドメイン(たとえば
examplepetstore.com
)を指定すると、そのサブドメイン(たとえばsubdomain.examplepetstore.com
)を指定する必要はありません。250 を超えるドメインで鍵を使用するには、[ドメインの所有権の証明を無効にする] で切り替えボタンをクリックします。reCAPTCHA Enterprise はドメインリストを無視します。作成した評価の [
tokenProperties.hostname
] フィールドを調べて、ドメインの所有権を証明する必要があります。
- ウェブサイト用に作成する reCAPTCHA キーの種類に応じて、適切なアクションを実行します。
- 省略可: ドメインの所有権の証明を無効にする、または AMP ページを許可するには、[ウェブ アプリケーション ファイアウォール(WAF)、ドメインの所有権の証明、AMP ページ、チャレンジ] セクションを展開します。
- ドメインとサブドメインの reCAPTCHA キーを保護するには、[ドメインの所有権の証明を無効にする] トグルがオフになっていることを確認します。
サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。
- スコアベース キーを Accelerated Mobile Pages(AMP)と連携させる場合は、[このキーが AMP ページに対して機能するようにする] トグルをオンにします。
本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。
- [This is a testing key] 切り替えボタンをクリックします。
- [スコア] ボックスで、0~1.0 のスコアを指定します。
- [鍵を作成] をクリックします。
新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。
- ドメインとサブドメインの reCAPTCHA キーを保護するには、[ドメインの所有権の証明を無効にする] トグルがオフになっていることを確認します。
- [ウェブ アプリケーション ファイアウォール(WAF)、ドメインの所有権の証明、AMP ページ、本人確認] セクションを展開します。
- ドメインとサブドメインの reCAPTCHA キーを保護するには、[ドメインの所有権の証明を無効にする] トグルがオフになっていることを確認します。
サイトの制限はないため、ドメインの所有権の証明の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。
- [チェックボックスによる本人確認を使用する] 切り替えをオンにします。
- 適切なチャレンジ セキュリティ オプションを選択します。
チャレンジ セキュリティ オプションは、ユーザーが特定のカテゴリに基づいて画像を選択するよう求められる 2 段階チャレンジをユーザーに求める確率を制御します(たとえば、オートバイや階段の写真を選択する)。
不正行為防止に最善の対策を講じるには、[最高の難易度(bot に対するセキュリティが高い)] を選択します。
[最も簡単なチャレンジ難易度] を選択した場合、ユーザーは視覚的な確認を求められる可能性が低くなります。
-
本番環境以外の環境で、評価の作成時にキーが返すスコアを指定する場合は、次の操作を行います。
- [This is a testing key] 切り替えボタンをクリックします。
- [スコア] ボックスで、0~1.0 のスコアを指定します。
- 適切な [本人確認の種類] オプションを選択します。
- [自動] では、本人確認がポップアップすることがあります。
- [No CAPTCHA] では、本人確認は表示されません。
- [解決できないチャレンジ] では画像が表示されますが、本人確認はパスしません。
- [鍵を作成] をクリックします。
新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。
スコアベース reCAPTCHA キーを作成する
チェックボックス reCAPTCHA キーを作成する
gcloud
reCAPTCHA キーを作成するには、gcloud recaptcha keys create コマンドを使用します。
後述のコマンドデータを使用する前に、次のように置き換えます。
- DISPLAY_NAME: キーの名前。通常はサイトの名前です。
- INTEGRATION_TYPE: 統合の種類
キーの種類に応じて、次の値を指定します。
- スコアベース キーの場合は
score
。 - チェックボックス キーの場合は
checkbox
。
- スコアベース キーの場合は
- DOMAIN_NAME: キーの使用を許可されたウェブサイトのドメインまたはサブドメイン。
複数のドメインをカンマ区切りのリストとして指定します。
250 を超えるドメインで鍵を使用するには、
--allow-all-domains
を指定してドメインの所有権の証明を無効にします。reCAPTCHA Enterprise はドメインリストを無視します。作成した評価の [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 Enterprise はドメインリストを無視します。作成した評価の [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 秘密鍵を見つける
Enterprise バージョン以外の reCAPTCHA を使用するサードパーティ アプリケーションと統合する場合は、以前の秘密鍵が必要です。
reCAPTCHA Enterprise により、作成するサイトキーごとに、以前の reCAPTCHA 秘密鍵(以前の秘密鍵)が作成されます。これをサードパーティ アプリケーションで使用できます。
以前の秘密鍵を見つけるには、次のようにします。
Google Cloud コンソールで、[reCAPTCHA Enterprise] ページに移動します。
[Enterprise キー] セクションで、作成した reCAPTCHA キーを見つけてクリックします。
[鍵の詳細] ページの [統合] タブで、[以前の鍵を使用する] をクリックします。ダイアログが開き、以前の秘密鍵の使用方法についての説明が表示されます。