このページでは、reCAPTCHA キー(サイトキーとも呼ばれます)を作成して、ウェブページとモバイルアプリでユーザー インタラクションを確認する方法について説明します。
reCAPTCHA サイトキーは、サイトまたはアプリに対する reCAPTCHA Enterprise の構成を表します。設定には、CAPTCHA チャレンジを表示するかどうかなどの重要なオプションが含まれています。reCAPTCHA サイトキーは、API キーとは異なります。
始める前に
ご使用の環境内で reCAPTCHA Enterprise をセットアップするための最適な方法を選択し、セットアップを完了します。
モバイル アプリ用の reCAPTCHA サイトキー(モバイルキー)には、セキュリティ審査の後にアクセスできます。この機能へのサイトのオンボーディングについては、Google の営業チームまでお問い合わせください。
サイトキーの作成
プロジェクト用に作成できる reCAPTCHA キーの数に制限はありません。ウェブサイトまたはモバイルアプリごとに 1 つの reCAPTCHA キーを作成することをおすすめします。
ステージング環境と本番環境用に別々のサイトキーを作成してください。そうしないと、テスト環境からのデータが reCAPTCHA リスク分析に悪影響を及ぼすリスクがあります。
サイトキーを作成する最も簡単な方法は、Cloud Console を使用することです。別の方法としては、reCAPTCHA Enterprise API や Google Cloud CLI を使用することもできます。
Console
Cloud Console で [reCAPTCHA Enterprise] ページに移動します。
ページの上部にあるプロジェクト セレクタにリソース名が表示されていることを確認します。
プロジェクトの名前が表示されない場合は、リソース セレクタをクリックしてプロジェクトを選択します。
[鍵を作成] をクリックします。
- [表示名] フィールドに、キーの表示名を入力します。
- ウェブサイトまたはモバイル プラットフォーム用のサイトキーを作成します。手順については、ご使用のプラットフォームに対応するセクションを展開してご覧ください。
ウェブサイトのサイトキーの作成
ウェブサイト用のスコアベースまたはチェックボックスのサイトキーを作成できます。
[プラットフォームの種類を選択] プルダウン メニューから、[ウェブサイト] を選択します。
[ドメインリスト] セクションが表示されます。
お使いのウェブサイトのドメイン名を入力してください。
[ドメインリスト] セクションで、[ドメインを追加] をクリックします。
- [ドメイン] フィールドにドメインの名前を入力します。
省略可: ドメインを追加するには、[ドメインを追加] をクリックして [ドメイン] フィールドに別のドメインの名前を入力します。最大 250 個のドメインを追加できます。
ウェブサイトの場合、reCAPTCHA サイトキーは、指定したドメインとサブドメインに固有のものです。複数のドメインからウェブサイトを提供する場合は、複数のドメインを指定できます。あるドメイン(たとえば
examplepetstore.com
)を指定すると、そのサブドメイン(たとえばsubdomain.examplepetstore.com
)を指定する必要はありません。
- 作成するサイトキーの種類に応じて、適切な操作を行います。
- スコアベースのサイトキー(推奨)を作成する手順は次のとおりです。
- 省略可: ドメインの所有権の証明を無効にする、または AMP ページを許可するには、[ドメインの所有権の証明、AMP のページ、本人確認] セクションを展開します。
- ドメインとサブドメインの reCAPTCHA サイトキーを保護するには、[ドメインの所有権の証明を無効にする] がオフになっていることを確認します。
サイトの制限はないため、ドメイン検証の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。
- スコアベースのサイトキーを Accelerated Mobile Pages(AMP)と連携させる場合は、[このキーが AMP ページに対して機能するようにする] 切り替えをクリックします。
- ドメインとサブドメインの reCAPTCHA サイトキーを保護するには、[ドメインの所有権の証明を無効にする] がオフになっていることを確認します。
- [鍵を作成] をクリックします。
- 省略可: ドメインの所有権の証明を無効にする、または AMP ページを許可するには、[ドメインの所有権の証明、AMP のページ、本人確認] セクションを展開します。
- チェックボックス サイトキーを作成して、ユーザーに本人確認を表示するには、ユーザーにチャレンジを表示するには、次の操作を行います。
- [ドメインの所有権の証明、AMP のページ、本人確認] セクションを展開します。
- ドメインとサブドメインの reCAPTCHA サイトキーを保護するには、[ドメインの所有権の証明を無効にする] がオフになっていることを確認します。
サイトの制限はないため、ドメイン検証の無効化はセキュリティ リスクとなります。したがって、reCAPTCHA キーは誰でもアクセスして使用できます。
- [チェックボックスによる本人確認を使用する] 切り換えをクリックします。
- 適切なチャレンジ セキュリティ オプションを選択します。
チャレンジ セキュリティ オプションは、ユーザーが特定のカテゴリに基づいて画像を選択するよう求められる 2 段階チャレンジをユーザーに求める確率を制御します(たとえば、オートバイや階段の写真を選択する)。
不正行為防止に最善の対策を講じるには、[最高の難易度(bot に対するセキュリティが高い)] を選択します。
[最も簡単なチャレンジ難易度] を選択した場合、ユーザーは視覚的な確認を求められる可能性が低くなります。
- [鍵を作成] をクリックします。
- [ドメインの所有権の証明、AMP のページ、本人確認] セクションを展開します。
- スコアベースのサイトキー(推奨)を作成する手順は次のとおりです。
新しく作成された鍵は、[reCAPTCHA のキー] ページにリストされています。
モバイル アプリ用のサイトキーの作成
モバイル アプリケーション用のスコアベースのサイトキーのみを作成できます。
- [プラットフォームの種類を選択] プルダウン メニューから
[Android アプリ] または [iOS アプリ] を選択してください。
- 選択したプラットフォームに応じて、Android パッケージまたは iOS バンドル ID を入力します。
[Android アプリ] を選択した場合、次の手順を行います。
- [Android パッケージ リスト] セクションで、[Android パッケージを追加] をクリックします。
[Android パッケージ] フィールドに、Android パッケージの名前を入力します。
- 省略可: パッケージを追加するには、[Android パッケージを追加] をクリックして、[Android パッケージ] に別の Android パッケージの名前を入力します。
[iOS アプリ] を選択した場合、次の手順を行います。
- [iOS bundle ID list] セクションで、[iOS バンドル ID を追加] をクリックします。
[バンドル ID] フィールドに、iOS バンドル ID の名前を入力します。
- 省略可: 別のバンドル ID を追加するには、[iOS バンドル ID を追加 ] をクリックし、[バンドル ID ] フィールドに iOS バンドル ID の名前を入力します。
モバイルアプリの場合、reCAPTCHA サイトキーは特定のパッケージ名(
com.google.recaptcha.test
など)に固有のものです。 - [鍵を作成] をクリックします。
新しく作成された鍵は、[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 recaptcha keys create
コマンドを使用します。
ウェブサイトのキーを作成するには、次のコマンドを使用します。
gcloud recaptcha keys create \ --web \ --display-name=DISPLAY_NAME \ --integration-type=INTEGRATION_TYPE \ --domains=DOMAINS
次の値を指定します。
- DISPLAY_NAME: キーの名前。通常はサイトの名前です。
INTEGRATION_TYPE: 統合の種類(
SCORE
またはCHECKBOX
)。DOMAINS: キーの使用を許可されたウェブサイトのドメインまたはサブドメインカンマ区切りのリストとして複数のドメインを指定します。
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].
次のステップ
- スコアベースのサイトキーまたはチェックボックスを使用したサイトキーをウェブページにインストールする。
- モバイルキーは iOS アプリまたは Android アプリに統合する。
- WAF と Google Cloud Armor の統合用に reCAPTCHA Enterprise を実装します。