如要將信任的 IP 位址排除在 reCAPTCHA 強制執行範圍外,請為與網站相關聯的 reCAPTCHA 金鑰建立許可清單。然後將 IP 位址和子網路新增至這個許可清單。
您也可以從允許清單中移除 IP 位址或子網路,並查看允許清單中的 IP 位址和子網路。
事前準備
開始之前,請務必先執行下列工作:
收集要加入許可清單的所有 IP 位址和子網路。
找出要從許可清單中移除的 IP 位址和子網路。
確認您具備下列 Identity and Access Management 角色:reCAPTCHA Enterprise 管理員 (
roles/recaptchaenterprise.admin)。
將 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 方法和網址:
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 允許清單是否正常運作,請完成下列步驟:
確認您已將 IP 位址或子網路新增至特定 reCAPTCHA 金鑰的許可清單。
從使用允許清單中 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 方法和網址:
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 方法和網址:
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": ""
}