IP アドレスの許可リストを構成する

信頼できる 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

  1. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  2. 後述のコマンドデータを使用する前に、次のように置き換えます。

    • 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 アドレスまたはサブネットを削除する

gcloud

  1. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  2. 後述のコマンドデータを使用する前に、次のように置き換えます。

    • 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

  1. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

  2. 後述のコマンドデータを使用する前に、次のように置き換えます。

    • 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": ""
}


次のステップ