透過 Google Cloud Armor 進行機器人管理 +;reCAPTCHA

1. 簡介

Google Cloud HTTP(S) 負載平衡服務部署於 Google 遍布全球的網路連接點 (POP) 邊緣。當使用者流量導向 HTTP(S) 負載平衡器時,會由離使用者最近的 POP 接收,接著透過 Google 的全球網路平衡負載,再傳至處理能力充足且距離最近的後端。

Cloud Armor 是 Google 的分散式阻斷攻擊偵測系統,具備網頁應用程式防火牆 (WAF) 功能,Cloud Armor 與 Google Cloud HTTP 負載平衡器緊密整合,可保護 Google Cloud 客戶的應用程式,抵禦網際網路攻擊。reCAPTCHA Enterprise 服務以現有的 reCAPTCHA API 為基礎,會運用進階風險分析技術區分真人與機器人,協助網站防範垃圾內容和濫用行為。Cloud Armor 機器人管理服務涵蓋整個流程,整合了 reCAPTCHA Enterprise 機器人偵測與評分功能,並利用 Cloud Armor 在網路邊緣強制執行所需作業,藉此確保下游應用程式的安全。

在本實驗室,您將設定具有後端的 HTTP 負載平衡器,如下圖所示。接著,您將學會如何設定 reCAPTCHA 工作階段權杖網站金鑰,並在網站嵌入金鑰,此外,您也會瞭解如何設定重新導向機制,將流量導至 reCAPTCHA Enterprise 手動驗證機制。接著設定 Cloud Armor 機器人管理政策,展示偵測功能如何保護應用程式,防堵惡意機器人流量。

8b46e6728996bc0c.png

課程內容

  • 如何設定 HTTP 負載平衡器與適當的健康狀態檢查。
  • 如何產生 reCAPTCHA WAF 驗證頁面網站金鑰,並將金鑰與 Cloud Armor 安全性政策建立關聯。
  • 如何建立 reCAPTCHA 工作階段權杖網站金鑰並嵌入網頁。
  • 如何建立 Cloud Armor 機器人管理政策。
  • 如何確認機器人管理政策是否根據指定規則處理流量。

軟硬體需求

  • 具備基本網路和 HTTP 知識
  • 基本的 Unix/Linux 指令列知識

2. 設定和需求條件

自修實驗室環境設定

  1. 登入 Google Cloud 控制台,然後建立新專案或重複使用現有專案。如果沒有 Gmail 或 Google Workspace 帳戶,請先建立帳戶

b35bf95b8bf3d5d8.pnga99b7ace416376c4.pngbd84a6d3004737c5.png

  • 專案名稱是這個專案參與者的顯示名稱。這是 Google API 未使用的字元字串,您隨時可以更新。
  • 專案 ID 在所有 Google Cloud 專案中不得重複,且設定後即無法變更。Cloud 控制台會自動產生專屬字串,通常您不需要理會該字串。在大多數程式碼研究室中,您需要參照專案 ID (通常會標示為 PROJECT_ID),因此如果您不喜歡該字串,可以產生另一個隨機字串,或是嘗試使用自己的字串,看看是否可用。專案建立後,系統就會「凍結」這項設定。
  • 還有第三個值,也就是部分 API 使用的「專案編號」。如要進一步瞭解這三種值,請參閱說明文件
  1. 接著,您需要在 Cloud 控制台中啟用帳單,才能使用 Cloud 資源/API。完成本程式碼研究室的費用應該不高,甚至完全免費。如要停用資源,避免在本教學課程結束後繼續產生帳單費用,請按照程式碼研究室結尾的「清除」操作說明操作。Google Cloud 新使用者可參加價值$300 美元的免費試用計畫。

啟動 Cloud Shell

雖然您可以透過筆電遠端操作 Google Cloud,但在本程式碼研究室中,您將使用 Google Cloud Shell,這是可在雲端執行的指令列環境。

在 GCP 主控台,按一下右上角工具列的 Cloud Shell 圖示:

55efc1aaa7a4d3ad.png

佈建並連線至環境的作業需要一些時間才能完成。完成後,您應該會看到如下的內容:

7ffe5cbb04455448.png

這部虛擬機器已預先安裝所有必要的開發工具,並提供永久的 5 GB 主目錄,而且可在 Google Cloud 運作,大幅提升網路效能並強化驗證功能。您只要使用瀏覽器,就能完成本實驗室的所有工作。

事前準備

在 Cloud Shell 中,確認專案 ID 是否已設定完畢

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
PROJECT_ID=[YOUR-PROJECT-NAME]
echo $PROJECT_ID

啟用 API

啟用所有必要服務

gcloud services enable compute.googleapis.com
gcloud services enable logging.googleapis.com
gcloud services enable monitoring.googleapis.com
gcloud services enable recaptchaenterprise.googleapis.com

3. 設定防火牆規則,允許 HTTP 和 SSH 流量傳至後端

設定防火牆規則,允許 Google Cloud 健康狀態檢查與負載平衡器的 HTTP 流量傳至後端。此外,請設定防火牆規則,允許透過 SSH 連至執行個體。

我們將使用專案中建立的 default 虛擬私有雲網路。建立防火牆規則,允許 HTTP 流量傳送至後端。健康狀態檢查會判斷負載平衡器的哪些執行個體能接收新連線。以 HTTP 負載平衡來說,對達到負載平衡的執行個體執行健康狀態檢查探測時,探測要求的來源位址範圍為 130.211.0.0/22 和 35.191.0.0/16。虛擬私有雲防火牆規則必須允許這類連線。負載平衡器也會使用同一個 IP 範圍與後端通訊。

  1. 前往 Cloud 控制台,依序點選「導覽選單」圖示 mainmenu.png >「虛擬私有雲網路」 >「防火牆」

131fb495c9242335.png

  1. 頁面上可看到現有的 ICMPinternalRDPSSH 防火牆規則。每項 Google Cloud 雲端專案一開始都有 default 網路和這些防火牆規則。
  2. 按一下「建立防火牆規則」
  3. 設定下列值,其他屬性均保留預設值:

屬性

值 (按照指示輸入值或選取選項)

名稱

default-allow-health-check

網路

default

目標

指定的目標標記

目標標記

allow-health-check

來源篩選器

IP 範圍

來源 IP 範圍

130.211.0.0/22 和 35.191.0.0/16

通訊協定和通訊埠

指定的通訊協定和通訊埠:勾選「TCP」後,輸入通訊埠編號 80

  1. 點選「建立」

或者,如果您使用 gcloud 指令列,指令如下:

gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check
  1. 接著再建立一項防火牆規則,允許透過 SSH 連至執行個體:
gcloud compute firewall-rules create allow-ssh --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0 --target-tags=allow-health-check

4. 設定執行個體範本並建立代管執行個體群組

代管執行個體群組會使用執行個體範本,建立一組相同的執行個體。您會使用這些執行個體來建立 HTTP 負載平衡器的後端。

設定執行個體範本

執行個體範本這種資源可用來建立 VM 執行個體和代管執行個體群組。執行個體範本會定義機型、開機磁碟映像檔、子網路、標籤和其他執行個體屬性。按照下列指示建立執行個體範本。

  1. 在 Cloud 控制台,依序點選「導覽選單」圖示 mainmenu.png >「Compute Engine」>「執行個體範本」>「建立執行個體範本」
  2. 在「名稱」部分,輸入 lb-backend-template
  3. 為「系列」選取 N1
  4. 按一下「網路、磁碟、安全性、管理、單一用戶群」

1d0b7122f4bb410d.png

  1. 前往「管理」部分,並在「開機指令碼」欄位插入下列指令碼。
#! /bin/bash
sudo apt-get update
sudo apt-get install apache2 -y
sudo a2ensite default-ssl
sudo a2enmod ssl
sudo vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
sudo echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
  1. 按一下「網路連線」分頁標籤,然後新增網路標記:allow-health-check
  2. 設定下列值,其他屬性均保留預設值:

屬性

值 (按照指示輸入值或選取選項)

網路 (位於「網路介面」下方)

預設

子網路 (位於「網路介面」下方)

預設 (us-east1)

網路標記

allow-health-check

  1. 點選「建立」
  2. 等待執行個體範本建立完成。

建立代管執行個體群組

  1. 一樣在「Compute Engine」頁面,點選左選單中的「執行個體群組」

ed419061ad2b982c.png

  1. 按一下「建立執行個體群組」。選取「New managed instance group (stateless)」(新增代管執行個體群組 (無狀態))
  2. 設定下方的值,其他屬性均保留預設值:

屬性

值 (按照指示輸入值或選取選項)

名稱

lb-backend-example

位置

單一可用區

區域

us-east1

可用區

us-east1-b

執行個體範本

lb-backend-template

自動調度資源

不啟用自動調度資源功能

執行個體數量

1

  1. 點選「建立」

將具名通訊埠新增至執行個體群組

為執行個體群組定義一個 HTTP 服務,並將通訊埠名稱對應至相關通訊埠。負載平衡服務會將流量轉送至該具名通訊埠。

gcloud compute instance-groups set-named-ports lb-backend-example \
    --named-ports http:80 \
    --zone us-east1-b

5. 設定 HTTP 負載平衡器

設定 HTTP 負載平衡器,將流量傳至後端 lb-backend-example:

開始設定

  1. 前往 Cloud 控制台,依序點選「導覽選單」圖示 mainmenu.png >「網路服務」>「負載平衡」>「建立負載平衡器」
  2. 在「HTTP(S) 負載平衡」下方,按一下「開始設定」

4f8b8cb10347ecec.png

  1. 選取「From Internet to my VMs」(從網際網路到我的 VM)、「Classic HTTP(S) Load Balancer」(傳統版 HTTP(S) 負載平衡器),然後按一下「Continue」(繼續)
  2. 將「Name」(名稱) 設為 http-lb。

設定後端

後端服務會將傳入流量導向一或多個連接的後端。每個後端都有執行個體群組,以及其他負載能力中繼資料。

  1. 點選「後端設定」
  2. 在「後端服務和後端 bucket」部分,點選「建立後端服務」
  3. 設定下列值,其他屬性均保留預設值:

屬性

值 (依指示選取選項)

名稱

http-backend

通訊協定

HTTP

具名通訊埠

htp

執行個體群組

lb-backend-example

通訊埠編號

80

  1. 按一下「完成」
  2. 點選「新增後端」
  3. 在「健康狀態檢查」部分,選取「建立健康狀態檢查」

168a9ba1062b1f45.png

  1. 設定下方的值,其他屬性均保留預設值:

屬性

值 (依指示選取選項)

名稱

http-health-check

通訊協定

TCP

通訊埠

80

dc45bc726bb4dfad.png

  1. 按一下 [儲存]
  2. 勾選「啟用記錄功能」方塊。
  3. 將「取樣率」設為 1:

c8f884fa4a8cd50.png

  1. 按一下 [Create] (建立) 即可建立後端服務。

1fd2ad21b1d32a95.png

設定前端

主機與路徑規則會決定流量的導向方式。舉例來說,您可以將影片流量導向其中一個後端,並將靜態內容流量導向另一個後端。不過,本實驗室無須設定「主機與路徑規則」。

  1. 點選「前端設定」
  2. 指定下方的值,其他屬性均保留預設值:

屬性

值 (按照指示輸入值或選取選項)

通訊協定

HTTP

IP 版本

IPv4

IP 位址

暫時

通訊埠

80

  1. 按一下「完成」

檢查並建立 HTTP 負載平衡器

  1. 點選「檢查並完成」

478e5e51057af3a3.png

  1. 檢查「後端服務」和「前端」
  2. 點選「建立」
  3. 等待負載平衡器建立完成。
  4. 點選負載平衡器的名稱 (http-lb)。
  5. 記下負載平衡器的 IPv4 位址,後續工作會用到。我們將這個 IP 位址稱為 [LB_IP_v4]。

6. 測試 HTTP 負載平衡器

為後端建立 HTTP 負載平衡器後,接著要確認流量是否會轉送至後端服務。在瀏覽器開啟新分頁並前往 http://[LB_IP_v4],測試能否透過 IPv4 存取 HTTP 負載平衡器。請務必將負載平衡器的 IPv4 位址換成 [LB_IP_v4]。

7. 建立及部署 reCAPTCHA 工作階段權杖和驗證頁面網站金鑰

reCAPTCHA Enterprise for WAF 與 Google Cloud Armor 整合服務提供下列功能:reCAPTCHA 驗證問題頁面reCAPTCHA 動作權杖reCAPTCHA 工作階段權杖。在本程式碼研究室中,我們將導入 reCAPTCHA 工作階段權杖網站金鑰,並建立 reCAPTCHA WAF 驗證頁面網站金鑰。

建立 reCAPTCHA 工作階段權杖和 WAF 驗證頁面網站金鑰

建立工作階段權杖和驗證頁面網站金鑰前,請再次確認已啟用 reCAPTCHA Enterprise API,做法如開頭的「啟用 API」一節所述。

評估完成後,reCAPTCHA JavaScript 會在使用者的瀏覽器,將 reCAPTCHA 工作階段權杖設為 Cookie。只要 reCAPTCHA JavaScript 保持啟用,使用者的瀏覽器就會附加並重新整理 Cookie。

  1. 建立 reCAPTCHA 工作階段權杖網站金鑰,並為該金鑰啟用 WAF 功能。我們也會將 WAF 服務設為 Cloud Armor,以便啟用 Cloud Armor 整合服務。
gcloud recaptcha keys create --display-name=test-key-name \
   --web --allow-all-domains --integration-type=score --testing-score=0.5 \
   --waf-feature=session-token --waf-service=ca
  1. 執行上述指令後,輸出內容會顯示建立的金鑰。請記下這項資訊,我們會在下一個步驟中將其新增至網站。
  2. 建立 reCAPTCHA WAF 驗證頁面網站金鑰,並為該金鑰啟用 WAF 功能。您可以透過 reCAPTCHA 驗證問題頁面功能,將傳入要求重新導向至 reCAPTCHA Enterprise,藉此判斷要求是正當行為,還是可能涉及詐欺。之後,我們會將這組金鑰與 Cloud Armor 安全性政策建立關聯,啟用手動驗證功能。後續步驟會將這組金鑰稱為 CHALLENGE-PAGE-KEY。
gcloud recaptcha keys create --display-name=challenge-page-key \
   --web --allow-all-domains --integration-type=INVISIBLE \
   --waf-feature=challenge-page --waf-service=ca
  1. 依序點選「導覽選單」 ( mainmenu.png) >「安全性」 >「reCAPTCHA Enterprise」。您應該會在「Enterprise 金鑰」下方看到剛才建立的金鑰 -

4e2567aae0eb92d7.png

導入 reCAPTCHA 工作階段權杖網站金鑰

  1. 依序前往「導覽選單」 ( mainmenu.png) >「Compute Engine」 >「VM 執行個體」。在執行個體群組中找到 VM,然後透過 SSH 連線至該 VM。

6d7b0fd12a667b5f.png

  1. 前往網路伺服器根目錄,並將使用者變更為 root -
@lb-backend-example-4wmn:~$ cd /var/www/html/
@lb-backend-example-4wmn:/var/www/html$ sudo su
  1. 更新到達網頁 index.html,並嵌入 reCAPTCHA 工作階段權杖網站金鑰。在到達網頁的 head 區段,設定工作階段權杖網站金鑰,如下所示:

<script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script>

請記得先替換權杖,再更新 index.html 檔案,如下所示:

root@lb-backend-example-4wmn:/var/www/html# echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&waf=session" async defer></script></head><body><h1>Main Page</h1><p><a href="/good-score.html">Visit allowed link</a></p><p><a href="/bad-score.html">Visit blocked link</a></p><p><a href="/median-score.html">Visit redirect link</a></p></body></html>' > index.html
  1. 建立另外三個範例網頁,測試機器人管理政策:
  • good-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Congrats! You have a good score!!</h1></body></html>' > good-score.html
  • bad-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Sorry, You have a bad score!</h1></body></html>' > bad-score.html
  • median-score.html
root@lb-backend-example-4wmn:/var/www/html# echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>You have a median score that we need a second verification.</h1></body></html>' > median-score.html
  1. 在瀏覽器開啟所有網頁,確認能否正常存取。請務必將負載平衡器的 IPv4 位址換成 [LB_IP_v4]。
  • 開啟 http://[LB_IP_v4]/index.html。如果網頁右下角顯示「採用 reCAPTCHA 保護機制」,即表示已成功導入 reCAPTCHA:

d695ad23d91ae4e9.png

  • 點選每個連結。

4a2ad1b2f10b4c86.png

  • 確認您能存取所有頁面。

481f63bf5e6f244.png

8. 為機器人管理服務建立 Cloud Armor 安全性政策規則

在本節中,您將使用 Cloud Armor 機器人管理規則,根據 reCAPTCHA 評分來允許、拒絕及重新導向要求。請注意,您在建立工作階段權杖網站金鑰時,已將測試分數設為 0.5。

  1. 在 Cloud Shell 中透過 gcloud 建立安全性政策(如需如何使用 Cloud Shell 的說明,請參閱「設定和需求條件」一節中的「啟動 Cloud Shell」):
gcloud compute security-policies create recaptcha-policy \
    --description "policy for bot management"
  1. 如要使用 reCAPTCHA Enterprise 手動驗證機制區分真人和自動化用戶端,請將我們為手動驗證機制建立的 reCAPTCHA WAF 驗證網站金鑰,與安全性政策建立關聯。將「CHALLENGE-PAGE-KEY」替換為我們建立的金鑰 -
gcloud compute security-policies update recaptcha-policy \
   --recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
  1. 新增機器人管理規則,使系統在網址路徑符合 good-score.html 且評分高於 0.4 時,即允許流量。
gcloud compute security-policies rules create 2000 \
     --security-policy recaptcha-policy\
     --expression "request.path.matches('good-score.html') &&    token.recaptcha_session.score > 0.4"\
     --action allow
  1. 新增機器人管理規則,使系統在網址路徑符合 bad-score.html 且評分低於 0.6 時,即拒絕流量。
  gcloud compute security-policies rules create 3000 \
     --security-policy recaptcha-policy\
     --expression "request.path.matches('bad-score.html') && token.recaptcha_session.score < 0.6"\
     --action "deny-403"
  1. 新增機器人管理規則,使系統在網址路徑符合 median-score.html 且評分等於 0.5 時,則將流量重新導向至 Google reCAPTCHA
  gcloud compute security-policies rules create 1000 \
     --security-policy recaptcha-policy\
     --expression "request.path.matches('median-score.html') && token.recaptcha_session.score == 0.5"\
     --action redirect \
     --redirect-type google-recaptcha
  1. 將安全性政策附加至後端服務 http-backend:
gcloud compute backend-services update http-backend \
    --security-policy recaptcha-policy –-global
  1. 前往控制台,依序點選「導覽選單」 >「網路安全性」 >「Cloud Armor」
  2. 點選 recaptcha-policy。政策內容應如下所示:

74852618aaa96786.png

9. 使用 Cloud Armor 驗證機器人管理服務

  1. 開啟瀏覽器並輸入網址 http://[LB_IP_v4]/index.html。前往「Visit allow link」(造訪允許的連結)。你應該可以透過以下方式通過驗證:

edf3e6ca238d2ee7.png

  1. 以無痕模式開啟新視窗,確保進入全新工作階段。輸入網址 http://[LB_IP_v4]/index.html,然後前往「Visit blocked link」。畫面上應該會顯示 HTTP 403 錯誤:

ecef5655b291dbb0.png

  1. 以無痕模式開啟新視窗,確保進入全新工作階段。輸入網址 http://[LB_IP_v4]/index.html,然後點選「Visit redirect link」。您應該會看到重新導向至 Google reCAPTCHA 的訊息和手動驗證頁面,如下所示:

53ed2b4067b55436.png

驗證 Cloud Armor 記錄

請查看安全性政策記錄,確認機器人管理服務正常運作。

  1. 在控制台中,依序前往「導覽選單」>「網路安全性」>「Cloud Armor」
  2. 點選「recaptcha-policy」
  3. 按一下「Logs」(記錄檔)

46fd825d8506d355.png

  1. 點選「查看政策記錄檔」
  2. 複製下方的 Monitoring Query Language(MQL) 查詢,並貼到查詢編輯器:
resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(recaptcha-policy)
  1. 接著點選「執行查詢」
  2. 在查詢結果中,找出針對 http://[LB_IP_v4]/good-score.html 發出要求的記錄項目,並展開「jsonPayload」和「enforcedSecurityPolicy」區段。

b7b1712642cf092b.png

  1. 對 http://[LB_IP_v4]/bad-score.html 和 http://[LB_IP_v4]/median-score.html 執行相同程序

c28f96d83056725a.png8c4803d75a77142c.png

請注意,configuredAction 已設為「ALLOW」、「DENY」或「GOOGLE_RECAPTCHA」,而且政策名稱為 recaptcha-policy

恭喜!您已完成本實驗室,瞭解如何使用 Cloud Armor 管理機器人

©2020 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,所有其他公司和產品的名稱可能為其相關公司的商標。

10. 實驗室清理

  1. 依序前往「網路安全性」>>「Cloud Armor」>>「%POLICY NAME%」,然後選取「刪除」-

2646f9c1df093f90.png

  1. 依序前往「Networking」(網路) >>「Network services」(網路服務) >>「Load Balancing」(負載平衡)。選取您建立的負載平衡器,然後按一下「刪除」。

8ad4f55dc06513f7.png

選取要刪除的後端服務和健康狀態檢查做為額外資源 -

f6f02bb56add6420.png

  1. 依序前往「導覽選單」 ( mainmenu.png) >「Compute Engine」 >「執行個體群組」。選取代管執行個體群組,然後按一下「刪除」-

2116b286954fd6.png

在文字方塊中輸入「delete」,確認刪除湖泊。

等待系統刪除代管執行個體群組。這也會刪除群組中的執行個體。您必須先刪除執行個體群組,才能刪除範本。

  1. 從左側窗格前往「執行個體範本」。選取執行個體範本,然後按一下「刪除」。
  2. 依序前往「導覽選單」 ( mainmenu.png) >「虛擬私有雲網路」 >「防火牆」。選取 default-allow-health-check 和 allow-ssh 規則,然後按一下「刪除」。
  3. 依序點選「導覽選單」 ( mainmenu.png) >「安全性」 >「reCAPTCHA Enterprise」。選取我們建立的金鑰並刪除。在文字方塊中輸入「DELETE」,確認刪除湖泊。

e71ecd11baf262ca.png

11. 恭喜!

您已成功使用 Cloud Armor 實作機器人管理服務。過程中,您設定了 HTTP 負載平衡器,接著產生 reCAPTCHA 工作階段權杖網站金鑰,並將該金鑰導入網頁。另外,您還學會建立驗證頁面網站金鑰、設定 Cloud Armor 機器人管理政策,並確認系統如何根據規則處理要求。最後,您也順利查看安全性政策記錄,找出流量獲允許、遭封鎖或重新導向的原因。

涵蓋內容

  • 如何設定執行個體範本及建立代管執行個體群組。
  • 如何設定 HTTP 負載平衡器。
  • 如何建立 Cloud Armor 機器人管理政策。
  • 如何建立及導入 reCAPTCHA 工作階段權杖網站金鑰。
  • 如何建立及導入 reCAPTCHA 驗證頁面網站金鑰。
  • 如何確認機器人管理政策運作正常。

後續步驟

  • 請嘗試設定 reCAPTCHA 動作權杖。