信頼できる IP アドレスを reCAPTCHA の適用から除外するには、サイトに関連付けられている reCAPTCHA キーの許可リストを作成します。次に、この許可リストに IP アドレスとサブネットを追加します。
許可リストから IP アドレスまたはサブネットを削除したり、許可リスト内の IP アドレスとサブネットを表示したりすることもできます。
始める前に
始める前に、次の操作を行ってください。
許可リストに追加するすべての IP アドレスとサブネットを収集します。
許可リストから削除する IP アドレスとサブネットを特定します。
reCAPTCHA Enterprise 管理者(
roles/recaptchaenterprise.admin)の Identity and Access Management ロールがあることを確認します。
許可リストに IP アドレスまたはサブネットを追加する
IP アドレスまたはサブネットを許可リストに追加すると、reCAPTCHA は検証をスキップし、その IP アドレスまたはサブネットからのリクエストには常に 0.9 のスコアを付与します。許可リストには、最大 1,000 個の IP アドレスとサブネットを追加できます。
gcloud
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
後述のコマンドデータを使用する前に、次のように置き換えます。
- KEY: サイトに関連付けられている reCAPTCHA キー。
- IP_ADDRESS_OR_SUBNET: 許可リストに追加する必要がある IP アドレスまたはサブネット。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud recaptcha keys add-ip-override KEY \ --ip=IP_ADDRESS_OR_SUBNET \ --override=ALLOW
Windows(PowerShell)
gcloud recaptcha keys add-ip-override KEY ` --ip=IP_ADDRESS_OR_SUBNET ` --override=ALLOW
Windows(cmd.exe)
gcloud recaptcha keys add-ip-override KEY ^ --ip=IP_ADDRESS_OR_SUBNET ^ --override=ALLOW
REST
リクエストのデータを使用する前に、次のように置き換えます。
- KEY: サイトに関連付けられている reCAPTCHA キー。
- IP_ADDRESS_OR_SUBNET: 許可リストに追加する必要がある IP アドレスまたはサブネット。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
HTTP メソッドと URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys/KEY:addIpOverride
リクエストの本文(JSON):
{
"ip_override_data": {
"ip": "IP_ADDRESS_OR_SUBNET",
"override_type": "ALLOW"
}
}
リクエストを送信するには、次のいずれかのオプションを選択します。
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/KEY:addIpOverride"
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/KEY:addIpOverride" | Select-Object -Expand Content
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。
IP アドレスまたはサブネットを許可リストに追加すると、数分以内に変更が有効になります。
許可リストの構成を検証する
IP 許可リストが想定どおりに機能していることを確認するには、次の操作を行います。
特定の reCAPTCHA キーの許可リストに IP アドレスまたはサブネットを追加したことを確認します。
許可リストに登録されている IP アドレスを使用しているマシンまたは環境から、完全な reCAPTCHA トランザクションを開始します。
評価結果を確認します。送信元 IP の許可リストが有効になっている場合、JSON レスポンスの
riskAnalysis.scoreは0.9になります。
許可リストから IP アドレスまたはサブネットを削除する
gcloud
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
後述のコマンドデータを使用する前に、次のように置き換えます。
- KEY: サイトに関連付けられている reCAPTCHA キー。
- IP_ADDRESS_OR_SUBNET: 許可リストに追加する必要がある IP アドレスまたはサブネット。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud recaptcha keys remove-ip-override KEY \ --ip=IP_ADDRESS_OR_SUBNET \ --override=ALLOW
Windows(PowerShell)
gcloud recaptcha keys remove-ip-override KEY ` --ip=IP_ADDRESS_OR_SUBNET ` --override=ALLOW
Windows(cmd.exe)
gcloud recaptcha keys remove-ip-override KEY ^ --ip=IP_ADDRESS_OR_SUBNET ^ --override=ALLOW
REST
リクエストのデータを使用する前に、次のように置き換えます。
- KEY: サイトに関連付けられている reCAPTCHA キー。
- IP_ADDRESS_OR_SUBNET: 許可リストに追加する必要がある IP アドレスまたはサブネット。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
HTTP メソッドと URL:
POST https://recaptchaenterprise.googleapis.com/v1/projects/PROJECT_ID/keys/KEY:removeIpOverride
リクエストの本文(JSON):
{
"ip_override_data": {
"ip": "IP_ADDRESS_OR_SUBNET",
"override_type": "ALLOW"
}
}
リクエストを送信するには、次のいずれかのオプションを選択します。
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/KEY:removeIpOverride"
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/KEY:removeIpOverride" | Select-Object -Expand Content
成功したことを示すステータス コード(2xx)と空のレスポンスが返されます。
許可リストから IP アドレスまたはサブネットを削除すると、数分以内に変更が反映されます。
許可リストのすべての IP アドレスを一覧表示する
gcloud
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
後述のコマンドデータを使用する前に、次のように置き換えます。
- KEY: サイトに関連付けられている reCAPTCHA キー。
次のコマンドを実行します。
Linux、macOS、Cloud Shell
gcloud recaptcha keys list-ip-overrides KEY --format=json
Windows(PowerShell)
gcloud recaptcha keys list-ip-overrides KEY --format=json
Windows(cmd.exe)
gcloud recaptcha keys list-ip-overrides KEY --format=json
REST
リクエストのデータを使用する前に、次のように置き換えます。
- KEY: サイトに関連付けられている reCAPTCHA キー。
- PROJECT_ID: 実際の Google Cloud プロジェクト ID
HTTP メソッドと URL:
GET https://recaptchaenterprise.googleapis.com/v1/projects//keys/ :listIpOverrides
リクエストを送信するには、次のいずれかのオプションを選択します。
curl
次のコマンドを実行します。
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://recaptchaenterprise.googleapis.com/v1/projects//keys/ :listIpOverrides"
PowerShell
次のコマンドを実行します。
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://recaptchaenterprise.googleapis.com/v1/projects//keys/ :listIpOverrides" | Select-Object -Expand Content
次のような JSON レスポンスが返されます。
{
"ipOverrides": [
{
"ip": "1.2.3.4",
"overrideType": "ALLOW"
}
],
"nextPageToken": ""
}