Configure firewall rules to allow HTTP and SSH traffic to backends

Check my progress

/ 10

Configure instance templates and create managed instance groups

Check my progress

/ 20

Configure the HTTP Load Balancer

Check my progress

/ 10

Create and deploy reCAPTCHA session token and challenge-page site key

Check my progress

/ 20

Create Cloud Armor security policy rules for Bot Management

Check my progress

/ 20

Validate bot management with Cloud Armor

Check my progress

/ 20

This lab may incorporate AI tools to support your learning.
This content is not yet optimized for mobile devices.
For the best experience, please visit us on a desktop computer using a link sent by email.

GSP877

總覽

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

Cloud Armor 是 Google 的分散式阻斷攻擊偵測系統,具備網頁應用程式防火牆 (WAF) 功能,並與 Google Cloud HTTP 負載平衡器緊密整合,可保護 Google Cloud 客戶的應用程式不受網際網路攻擊侵擾。

reCAPTCHA Enterprise 服務以 reCAPTCHA API 為基礎,會運用進階風險分析技術區分真人與機器人,協助網站防範垃圾內容和濫用行為。Cloud Armor 機器人管理服務提供端對端解決方案,整合 reCAPTCHA Enterprise 機器人偵測與評分功能,以及 Cloud Armor 在網路邊緣的強制執行措施,確保下游應用程式的安全。

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

HTTP 負載平衡器設定圖

課程內容

本實驗室的內容包括:

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

設定和需求

瞭解以下事項後,再點選「Start Lab」按鈕

請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。

為了順利完成這個實驗室,請先確認:

  • 可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意事項:請使用無痕模式 (建議選項) 或私密瀏覽視窗執行此實驗室,這可以防止個人帳戶和學員帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成實驗室活動了!別忘了,活動一旦開始將無法暫停。
注意事項:務必使用實驗室專用的學員帳戶。如果使用其他 Google Cloud 帳戶,可能會產生額外費用。

如何開始實驗室及登入 Google Cloud 控制台

  1. 按一下「Start Lab」按鈕。如果實驗室會產生費用,請在開啟的對話方塊中選取付款方式。右側的「Lab setup and access」面板會顯示下列項目:

    • 「Open Google Cloud console」按鈕
    • 此實驗室所需的臨時憑證 (使用者名稱和密碼)
    • 完成此實驗室所需的其他資訊 (如有)

    請注意,實驗室計時器位於頁面頂端附近,會顯示剩餘時間。

  2. 按一下「Open Google Cloud console」。如果使用 Chrome 瀏覽器,也可以按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。

    接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。

    提示:您可以在不同的視窗並排開啟分頁。

    注意:頁面顯示「選擇帳戶」對話方塊時,請點選「使用其他帳戶」。
  3. 如有必要,請將下方的 Username 貼到「登入」對話方塊。

    {{{user_0.username | "Username"}}}

    您也可以在「Lab setup and access」面板找到「Username」。

  4. 點選「下一步」。

  5. 複製下方的 Password,並貼到「歡迎使用」對話方塊。

    {{{user_0.password | "Password"}}}

    您也可以在「Lab setup and access」面板找到「Password」。

  6. 點選「下一步」。

    重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:如果使用自己的 Google Cloud 帳戶來進行這個實驗室,可能會產生額外費用。
  7. 繼續點按後續頁面:

    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Google Cloud 控制台稍後會在這個分頁開啟。

注意:如要使用 Google Cloud 產品和服務,請按一下「導覽選單」,或在「搜尋」欄位輸入服務或產品名稱。「導覽選單」圖示和搜尋欄位

事前準備

  • 在 Cloud Shell 設定專案 ID:
export PROJECT_ID=$(gcloud config get-value project) echo $PROJECT_ID gcloud config set project $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

現在可以開始執行第一項工作了。

工作 1:設定防火牆規則,允許傳至後端的 HTTP 和 SSH 流量

您會使用本實驗室啟動時,為專案建立的 default 虛擬私有雲網路。

本節中,您將設定防火牆規則,允許 Google Cloud 健康狀態檢查與負載平衡器的 HTTP 流量傳至後端。接著再建立一項防火牆規則,允許透過 SSH 連至執行個體。

建立防火牆規則,允許傳至後端的 HTTP 流量

健康狀態檢查會判斷負載平衡器的哪些執行個體能接收新連線。以 HTTP 負載平衡而言,健康狀態檢查探測要求會從 130.211.0.0/22 與 35.191.0.0/16 傳至達到負載平衡的執行個體。虛擬私有雲防火牆規則必須允許這類連線。負載平衡器也會使用同一個 IP 範圍與後端通訊。

請按照下列步驟建立防火牆規則,允許傳至後端的 HTTP 流量:

  1. 前往 Google Cloud 控制台主選單,在「產品」部分依序點選「虛擬私有雲網路」>「防火牆」。
  2. 頁面上可看到現有的「ICMP」、「internal」、「RDP」和「SSH」防火牆規則。每項 Google Cloud 專案預設都包含 default 網路和這些防火牆規則。
  3. 點選「建立防火牆規則」。
  4. 設定下列值,其他屬性均保留預設值:
屬性 值 (按照指示輸入值或選取選項)
名稱 default-allow-health-check
網路 default
目標 指定的目標標記
目標標記 allow-health-check
來源篩選器 IPv4 範圍
來源 IPv4 範圍 130.211.0.0/22 和 35.191.0.0/16
通訊協定和通訊埠 指定的通訊協定和通訊埠:勾選 tcp 後,輸入通訊埠編號 80
注意:請務必逐一輸入兩個「來源 IPv4 範圍」,並在中間加入空格。
  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

點選「Check my progress」,確認目標已達成。 設定防火牆規則,允許傳至後端的 HTTP 和 SSH 流量

工作 2:設定執行個體範本並建立代管執行個體群組

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

設定執行個體範本

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

請按照下列步驟建立執行個體範本:

  1. 在控制台主選單的「產品」部分,依序點選「Compute Engine」>「虛擬機器」部分的「執行個體範本」。
  2. 找到「執行個體範本」頁面標題,然後點選「建立執行個體範本」。
  3. 在「名稱」部分,輸入 lb-backend-template。
  4. 在「位置」部分,選取「全域」。
  5. 在「Series」部分,選取「E2」。
  6. 點選「進階選項」。
  7. 在「管理」分頁,向下捲動至「自動化」部分,並在「開機指令碼」欄位插入下列指令碼:
#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo su vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html
  1. 在「進階選項」部分,點選「網路連線」分頁標籤,並在「網路標記」文字方塊中輸入 allow-health-check。
  2. 設定下列值,其他屬性均保留預設值:
屬性 值 (按照指示輸入值或選取選項)
網路 (位於「網路介面」下方) default
子網路 (位於「網路介面」下方) default ()
注意:網路標記 allow-health-check 會確保這些執行個體套用 HTTP 健康狀態檢查和 SSH 防火牆規則。
  1. 點選「建立」。

等待執行個體範本建立完成。

建立代管執行個體群組

請按照下列步驟建立代管執行個體群組:

  1. 在「Compute Engine」導覽選單,點選「執行個體群組」部分的「執行個體群組」。

  2. 點選「建立執行個體群組」。

  3. 確認已選取「新的代管執行個體群組 (無狀態)」。

  4. 設定下列值,其他屬性均保留預設值:

屬性 值 (按照指示輸入值或選取選項)
名稱 lb-backend-example
執行個體範本 lb-backend-template
位置 單一可用區
區域
可用區
自動調度資源 將「自動調度資源模式」設為「關閉:不自動調度資源」
執行個體數量下限 1
  1. 點選「建立」。

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

  • 將下列程式碼片段貼到 Cloud Shell,為執行個體群組定義 HTTP 服務,並將通訊埠名稱對應至相關通訊埠:
gcloud compute instance-groups set-named-ports lb-backend-example \ --named-ports http:80 \ --zone {{{project_0.startup_script.lab_zone|lab_zone}}}

負載平衡服務會將流量轉送至該具名通訊埠。

點選「Check my progress」,確認目標已達成。 設定執行個體範本並建立代管執行個體群組

工作 3:設定 HTTP 負載平衡器

本節中,您將設定 HTTP 負載平衡器,將流量傳至後端 lb-backend-example。

開始設定

  1. 前往控制台,依序點選「導覽選單」圖示 「導覽選單」圖示 >「查看所有產品」>「網路」部分的「網路服務」>「負載平衡」。

  2. 點選「建立負載平衡器」。

  3. 確認已選取「應用程式負載平衡器 (HTTP/HTTPS)」,然後點選「下一步」。

  4. 確認已選取「公開 (外部)」,然後點選「下一步」。

  5. 確認已選取「最適合全域工作負載」,然後點選「下一步」。

  6. 確認已選取「全域外部應用程式負載平衡器」,然後點選「下一步」。

  7. 選取「設定」。

  8. 在「負載平衡器名稱」文字方塊中,輸入 http-lb。

設定前端

  1. 點選「前端設定」。
  2. 指定下列值,其他屬性均保留預設值:
屬性 值 (按照指示輸入值或選取選項)
通訊協定 HTTP
IP 版本 IPv4
IP 位址 暫時性
通訊埠 80
  1. 點選「完成」。

設定後端

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

  1. 在「Create global external Application Load Balancer」頁面,點選「後端設定」。
  2. 在「後端服務和後端 bucket」部分,點選「建立後端服務」。
  3. 設定下列值,其他屬性均保留預設值:
屬性 值 (按照指示選取選項)
名稱 http-backend
通訊協定 HTTP
已命名的通訊埠 http
執行個體群組 (位於「新增後端」下方) lb-backend-example
通訊埠編號 80
快取模式 使用根據 Cache-Control 標頭的來源設定
健康狀態檢查 建立健康狀態檢查
  1. 在「健康檢查」頁面設定下列值,其他屬性均保留預設值:

「建立健康狀態檢查」按鈕

  1. 設定下列值,其他屬性均保留預設值:
屬性 值 (按照指示選取選項)
名稱 http-health-check
通訊協定 TCP
通訊埠 80
注意:健康狀態檢查會判斷哪些執行個體能接收新連線。

這項 HTTP 健康狀態檢查會每 5 秒輪詢執行個體一次,並等待最多 5 秒,看看執行個體是否有回應。如果成功兩次,就會判定為健康狀態良好;如果失敗兩次,則會判定為狀態不良。
  1. 點選「建立」來建立健康狀態檢查。
  2. 勾選「啟用記錄功能」方塊。
  3. 確認「取樣率」已設為 1。
  4. 點選「建立」來建立後端服務,然後按一下「確定」。

檢查並建立 HTTP 負載平衡器

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

  1. 點選「檢查並完成 (非必要)」。

負載平衡器的「檢查並完成」頁面,當中列出多個類別的資訊,例如主機、路徑規則和後端服務

  1. 檢查「後端服務」和「前端」。
  2. 點選「建立」。

等待負載平衡器建立完成。

  1. 點選負載平衡器的名稱 (http-lb)。
  2. 記下負載平衡器的 IPv4 位址,後續工作會用到。在本實驗室中,這個 IP 位址會以 [LB_IP_v4] 表示。

點選「Check my progress」,確認目標已達成。 設定 HTTP 負載平衡器

測試 HTTP 負載平衡器

為後端建立 HTTP 負載平衡器後,接著要確認流量是否會轉送至後端服務。

  • 在瀏覽器開啟新分頁並前往 http://[LB_IP_v4],測試能否透過 IPv4 存取 HTTP 負載平衡器。請務必將 [LB_IP_v4] 改成負載平衡器的 IPv4 位址。
注意:最多可能需要 5 分鐘,才能存取 HTTP 負載平衡器。順利存取前,可能會出現 404 或 502 錯誤。請持續嘗試,直到頁面成功載入為止。

工作 4:建立及部署 reCAPTCHA 工作階段符記和驗證頁面網站金鑰

reCAPTCHA Enterprise for WAF 與 Cloud Armor 整合服務提供下列功能:reCAPTCHA 驗證問題頁面、reCAPTCHA 動作符記和 reCAPTCHA 工作階段符記。在這項工作中,您將導入 reCAPTCHA 工作階段符記網站金鑰,並建立 reCAPTCHA WAF 驗證頁面網站。

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

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

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

  1. 建立 reCAPTCHA 工作階段符記網站金鑰,並為該金鑰啟用 WAF 功能:
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

執行上述指令後,輸出內容會顯示建立的工作階段符記網站金鑰。請記下這個值,稍後會用到。

這段指令還會將 WAF 服務設為 Cloud Armor,以便啟用 Cloud Armor 整合服務。

注意:這裡使用的是 score 整合類型,Cloud Armor 政策會據此進行評估。您也可以改用 checkbox 和 invisible 類型。

您在建立金鑰時也一併設定了測試分數,用於確認使用 Cloud Armor 建立的機器人管理政策是否正常運作。模擬機器人流量並不容易,因此這是測試該功能的好方法。
  1. 建立 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. 依序點選「導覽選單」圖示 「導覽選單」圖示 >「安全性」>「reCAPTCHA」。您應該會在「reCAPTCHA 金鑰」清單中看到剛才建立的金鑰:

導入 reCAPTCHA 工作階段符記網站金鑰

  1. 前往 Google Cloud 控制台主選單,依序點選「Compute Engine」>「VM 執行個體」。在執行個體群組中找到 VM 後,點選「連線」欄下方的「SSH」。在隨後跳轉的頁面中,點選「授權」。

「連線」欄中醒目顯示 SSH

  1. 前往網路伺服器根目錄,在「直接透過瀏覽器進行 SSH 連線」殼層輸入下列程式碼,將使用者變更為 root:
cd /var/www/html/ sudo su
  1. 更新到達網頁 index.html,並嵌入 reCAPTCHA 工作階段符記網站金鑰。在到達網頁的 head 區段,設定先前記下的工作階段符記網站金鑰,如下所示:

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

執行下列指令前,請記得將 <SESSION_TOKEN_SITE_KEY> 改成網站符記:

echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<SESSION_TOKEN_SITE_KEY>&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
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
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
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

在瀏覽器開啟所有網頁,確認能否正常存取。請務必將 [LB_IP_v4] 改成負載平衡器的 IPv4 位址:

  1. 開啟 http://[LB_IP_v4]/index.html。如果網頁右下角顯示「採用 reCAPTCHA 保護機制」,即表示已成功導入 reCAPTCHA:

reCAPTCHA 標誌

  1. 點選每個連結。

瀏覽器顯示主頁面,當中列出三個連結

  1. 確認您能存取所有頁面。

訊息內容:Congrats! You have a good score!

點選「Check my progress」,確認目標已達成。 部署 reCAPTCHA 工作階段符記和驗證頁面網站金鑰

工作 5:為機器人管理服務建立 Cloud Armor 安全性政策規則

本節中,您將使用 Cloud Armor 機器人管理規則,根據 reCAPTCHA 評分來允許、拒絕及重新導向要求。

  1. 在 Cloud Shell 透過 gcloud 建立安全性政策:
gcloud compute security-policies create recaptcha-policy \ --description "policy for bot management"
  1. 為使用 reCAPTCHA Enterprise 手動驗證機制來區分真人和自動化用戶端,您需要將先前建立的 reCAPTCHA WAF 手動驗證網站金鑰 (CHALLENGE-PAGE-KEY),與安全性政策建立關聯。輸入下列指令碼時,請記得將「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」。

政策內容應如下所示:

「規則」分頁,當中列出多項動作及其優先順序

點選「Check my progress」,確認目標已達成。 為機器人管理服務建立 Cloud Armor 安全性政策規則

工作 6:使用 Cloud Armor 驗證機器人管理服務

  1. 開啟瀏覽器並輸入網址 http://[LB_IP_v4]/index.html,接著點選「Visit allowed link」。

good-score 網頁,當中顯示「Congrats! You have a good score!」字樣

  1. 以無痕模式開啟新視窗,確保進入全新工作階段。

  2. 輸入網址 http://[LB_IP_v4]/index.html,接著點選「Visit blocked link」。畫面上應該會顯示 HTTP 403 錯誤:

「403 Forbidden」錯誤訊息

注意:如未顯示「403 Forbidden」錯誤,您可能需要等久一點,reCAPTCHA 規則才會生效。請稍候 5 分鐘,然後再試一次。測試每個連結時,務必使用新的無痕視窗。
  1. 以無痕模式開啟新視窗,確保進入全新工作階段。

  2. 輸入網址 http://[LB_IP_v4]/index.html,接著點選「Visit redirect link」。您應該會看到重新導向至 Google reCAPTCHA 的訊息和手動驗證頁面,如下所示:

Google reCAPTCHA 對話方塊

注意:如果使用者互動通過評估,reCAPTCHA Enterprise 會發出豁免 Cookie。瀏覽器會將該 Cookie 附加至使用者對同一網站提出的後續要求,直到 Cookie 過期為止。預設有效期限為三小時。 注意:reCAPTCHA 採用進階風險分析引擎與調整式人機驗證機制,防止自動化軟體在您的網站上從事濫用行為,同時也讓有效使用者輕鬆通過驗證。如果演算法判定您是真人,就會自動通過 reCAPTCHA 驗證,您無須採取額外動作。否則,系統將顯示各種圖片,您必須先分類才能繼續操作。根據預設,只有最可疑的流量會被要求回答人機驗證問題。如果系統未要求,您仍能查看政策記錄,確認自己是否已獲得豁免。

驗證 Cloud Armor 記錄

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

  1. 前往控制台,依序點選「導覽選單」圖示 「導覽選單」圖示 >「查看所有產品」>「網路」部分的「網路安全性」>「Cloud Armor 政策」。
  2. 點選「recaptcha-policy」。
  3. 點選「記錄」分頁標籤。
  4. 點選「查看政策記錄檔」。
  5. 複製下方的 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」區段。

展開的「jsonPayload」和「enforcedSecurityPolicy」區段,以及醒目標示的 HTML 網址

注意:如果未顯示記錄項目,請稍候幾分鐘讓政策生效,然後重新整理先前使用的網址,再次查看記錄。
  1. 對 http://[LB_IP_v4]/bad-score.html 和 http://[LB_IP_v4]/median-score.html 執行相同程序。

針對 bad-score 連結展開的安全性政策和要求資料

針對 median-score 連結展開的安全性政策和要求資料

您可以看到 configuredAction 已設為「ALLOW」、「DENY」或「GOOGLE_RECAPTCHA」,而且政策名稱為 recaptcha-policy。

注意:查看 Cloud Armor 安全性政策建立的記錄,即可判斷流量來源,以及流量獲允許或遭拒絕的時間點。

點選「Check my progress」,確認目標已達成。 使用 Cloud Armor 驗證機器人管理服務

恭喜!

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

使用手冊上次更新日期:2026 年 4 月 2 日

實驗室上次測試日期:2026 年 4 月 2 日

Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。

Before you begin

  1. Labs create a Google Cloud project and resources for a fixed time
  2. Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
  3. On the top left of your screen, click Start lab to begin

Use private browsing

  1. Copy the provided Username and Password for the lab
  2. Click Open console in private mode

Sign in to the Console

  1. Sign in using your lab credentials. Using other credentials might cause errors or incur charges.
  2. Accept the terms, and skip the recovery resource page
  3. Don't click End lab unless you've finished the lab or want to restart it, as it will clear your work and remove the project

This content is not currently available

We can notify you via email when it becomes available

Great!

We can contact you via email if it becomes available

One lab at a time

Confirm to end all existing labs and start this one

Use private browsing to run the lab

Using an Incognito or private browser window is the best way to run this lab. This prevents any conflicts between your personal account and the Student account, which may cause extra charges incurred to your personal account.