返回首頁GCP

GCP 資安與 Cloud Armor 防護完整指南:打造安全的雲端架構

13 min 分鐘閱讀

GCP 資安與 Cloud Armor 防護完整指南:打造安全的雲端架構

雲端安全從來不是選項,而是必要條件。2024 年全球雲端安全事件造成的平均損失達 445 萬美元,而大多數事件都源自於設定錯誤與權限管理疏失。GCP 提供了完整的安全防護體系,從 Cloud Armor 的 WAF/DDoS 防護到細緻的 IAM 權限控管,讓企業能在享受雲端彈性的同時確保資料安全。

本指南將帶你深入了解 GCP 的資安架構與實戰設定。想了解 GCP 的完整功能與服務生態,可參考我們的 GCP 完整指南:從入門概念到企業實戰

GCP 資安架構總覽

Google 基礎設施安全層級

Google 的安全設計從硬體層開始,採用客製化的伺服器、網路設備與 Titan 安全晶片。資料中心部署多層實體安全管控,包括生物辨識門禁、24 小時監控與專屬警衛團隊。

在軟體層面,所有 Google 服務都運行在經過強化的作業系統上,並採用零信任(Zero Trust)架構。這意味著即使在內部網路中,每個請求都需要驗證身分與權限。

GCP 安全層級架構:

層級安全機制責任歸屬
硬體層Titan 晶片、安全開機Google
基礎設施層資料中心實體安全Google
網路層全球私有網路、加密傳輸Google
平台層IAM、Cloud Armor、加密共享
應用層程式碼安全、存取控制客戶

共享責任模型說明

雲端安全是 Google 與客戶共同承擔的責任。Google 負責底層基礎設施的安全,包括實體安全、硬體、網路與虛擬化層。客戶則需要負責作業系統更新、應用程式安全、資料加密與存取控制。

在 GKE 這類託管服務中,責任界線會隨著選擇的管理層級而改變。使用 Autopilot 模式時,Google 承擔更多責任;使用 Standard 模式則需要客戶自行管理節點安全。

GCP 共享責任模型圖解

Cloud Armor:WAF 與 DDoS 防護

Cloud Armor 功能與定價

Cloud Armor 是 GCP 的網路安全服務,提供 Web Application Firewall(WAF)與 DDoS 防護功能。它整合在 Global HTTP(S) Load Balancer 中,能在邊緣節點阻擋惡意流量,避免攻擊到達你的應用程式。

定價方案比較:

方案適用場景主要功能費用
Standard一般網站基本規則、IP 黑白名單政策 $5/月 + 請求費用
Managed Protection Plus企業應用進階 DDoS、WAF 託管規則$3,000/月起

對於中小型網站,Standard 方案通常已足夠。大型企業或金融機構則建議採用 Managed Protection Plus 獲得完整防護。想了解詳細費用,可參考 GCP 定價與費用計算完整指南

安全政策設定教學

建立 Cloud Armor 安全政策的步驟:

# 建立安全政策
gcloud compute security-policies create my-security-policy \
    --description="Main security policy"

# 新增允許規則(允許台灣 IP)
gcloud compute security-policies rules create 1000 \
    --security-policy=my-security-policy \
    --expression="origin.region_code == 'TW'" \
    --action=allow

# 新增阻擋規則(阻擋特定 IP 範圍)
gcloud compute security-policies rules create 2000 \
    --security-policy=my-security-policy \
    --src-ip-ranges="192.168.1.0/24" \
    --action=deny-403

# 套用到後端服務
gcloud compute backend-services update my-backend-service \
    --security-policy=my-security-policy \
    --global

OWASP Top 10 預設規則

Cloud Armor 提供預先設定的 WAF 規則,可直接防護 OWASP Top 10 常見漏洞:

規則集防護內容建議設定
sqli-v33-stableSQL Injection啟用
xss-v33-stableCross-Site Scripting啟用
lfi-v33-stableLocal File Inclusion啟用
rfi-v33-stableRemote File Inclusion啟用
rce-v33-stableRemote Code Execution啟用

啟用預設規則的指令:

gcloud compute security-policies rules create 3000 \
    --security-policy=my-security-policy \
    --expression="evaluatePreconfiguredExpr('sqli-v33-stable')" \
    --action=deny-403

Cloud Armor WAF 規則設定介面

自訂規則與 Rate Limiting

除了預設規則,Cloud Armor 也支援自訂規則與速率限制:

# 設定 Rate Limiting(每分鐘 100 次請求)
gcloud compute security-policies rules create 4000 \
    --security-policy=my-security-policy \
    --expression="true" \
    --action=rate-based-ban \
    --rate-limit-threshold-count=100 \
    --rate-limit-threshold-interval-sec=60 \
    --ban-duration-sec=300

Rate Limiting 是防範暴力攻擊與 API 濫用的有效手段。建議根據正常流量模式設定合理閾值,避免誤擋正常使用者。

IAM 權限管理最佳實踐

角色(Roles)與權限設計

GCP IAM 採用角色型存取控制(RBAC),有三種角色類型:

  1. 基本角色(Basic Roles):Owner、Editor、Viewer,權限範圍過大,不建議在生產環境使用
  2. 預定義角色(Predefined Roles):Google 維護的細緻角色,如 roles/compute.instanceAdmin
  3. 自訂角色(Custom Roles):根據需求自行定義的角色

最小權限設計範例:

# 自訂角色:只允許啟停 VM
title: VM Operator
description: Can start and stop VM instances
includedPermissions:
  - compute.instances.start
  - compute.instances.stop
  - compute.instances.list
  - compute.instances.get

服務帳號安全管理

服務帳號(Service Account)是 GCP 中應用程式的身分認證方式。安全管理要點:

做法說明風險等級
避免使用預設服務帳號預設帳號權限過大
定期輪替金鑰建議 90 天輪替一次
使用 Workload Identity避免匯出金鑰檔案
限制金鑰下載透過組織政策禁止
# 建立專用服務帳號
gcloud iam service-accounts create my-app-sa \
    --display-name="My Application Service Account"

# 授予最小必要權限
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="serviceAccount:my-app-sa@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/storage.objectViewer"

最小權限原則實踐

實踐最小權限原則的具體步驟:

  1. 盤點現有權限:使用 Policy Analyzer 找出過度授權
  2. 移除基本角色:將 Owner/Editor 替換為預定義角色
  3. 啟用條件式存取:限制特定時間或來源 IP
  4. 定期審查:每季檢視並清理不必要的權限
# 條件式 IAM 綁定(限制 IP 範圍)
gcloud projects add-iam-policy-binding PROJECT_ID \
    --member="user:[email protected]" \
    --role="roles/compute.admin" \
    --condition="expression=request.auth.access_levels.accessPolicies/ACCESS_POLICY/accessLevels/LEVEL_NAME,title=Corporate Network Only"

資料保護與加密

傳輸中與靜態加密

GCP 預設對所有資料進行加密:

  • 傳輸中加密:所有 Google 服務間的通訊都使用 TLS 1.3
  • 靜態加密:儲存的資料使用 AES-256 加密

加密金鑰選項:

選項說明適用場景
Google 管理金鑰預設選項,Google 自動管理一般用途
CMEK客戶管理加密金鑰合規需求
CSEK客戶提供加密金鑰高安全需求

Secret Manager 密鑰管理

Secret Manager 是集中管理敏感資訊的服務,適合儲存 API 金鑰、資料庫密碼等機密:

# 建立密鑰
gcloud secrets create db-password --data-file=./password.txt

# 授予存取權限
gcloud secrets add-iam-policy-binding db-password \
    --member="serviceAccount:my-app-sa@PROJECT_ID.iam.gserviceaccount.com" \
    --role="roles/secretmanager.secretAccessor"

# 在應用程式中讀取
gcloud secrets versions access latest --secret=db-password

Secret Manager 密鑰版本管理

安全監控與事件回應

Security Command Center

Security Command Center(SCC)是 GCP 的安全營運中心,提供:

  • 資產清查:自動發現所有 GCP 資源
  • 弱點掃描:Web Security Scanner 檢測網站漏洞
  • 威脅偵測:Event Threat Detection 識別可疑活動
  • 合規報告:CIS、PCI-DSS 等標準的合規檢查

SCC 分為標準版(免費)與進階版(付費)。標準版提供基本資產清查與安全發現,進階版則包含完整的威脅偵測與安全分析功能。

Cloud Audit Logs

Audit Logs 記錄所有 GCP API 呼叫,分為四種類型:

日誌類型記錄內容預設啟用
Admin Activity資源設定變更是(免費)
Data Access資料讀寫操作否(需啟用)
System EventGoogle 系統事件是(免費)
Policy Denied權限拒絕事件是(免費)

建議至少啟用 Admin Activity 與 Data Access 日誌,並設定日誌匯出至 Cloud Storage 長期保存。

合規認證與稽核

GCP 支援的合規標準

GCP 已取得多項國際認證:

  • ISO 27001:資訊安全管理系統
  • SOC 1/2/3:服務組織控制報告
  • PCI DSS:支付卡產業資料安全標準
  • HIPAA:美國健康保險可攜性和責任法案
  • FedRAMP:美國聯邦風險與授權管理計畫

這些認證涵蓋 GCP 基礎設施,但客戶仍需確保自己的應用程式符合相關標準。

稽核報告取得方式

透過 Compliance Reports Manager 可下載 GCP 的稽核報告:

  1. 前往 Cloud Console → Security → Compliance Reports
  2. 選擇需要的認證類型(ISO、SOC 等)
  3. 接受保密協議後下載報告

這些報告可用於向稽核人員證明基礎設施的合規性。

GCP 合規報告下載介面

結論:建立持續的資安防護機制

GCP 提供了完整的安全工具鏈,從邊緣防護到資料加密,從權限管理到安全監控。但工具只是起點,真正的安全需要:

  1. 正確的架構設計:從一開始就將安全納入考量
  2. 持續的監控與改善:定期檢視安全態勢
  3. 完善的事件回應計畫:預先規劃應變流程

實際操作這些服務時,可參考 GCP 核心服務實戰教學:Compute Engine、Cloud Run、GKE 完整操作指南 學習基礎設定。安全與成本往往需要平衡,詳細的費用規劃請見 GCP 定價與費用計算完整指南


延伸閱讀


擔心雲端安全?

資安事件的代價遠超過預防成本。 預約資安評估,讓我們幫你檢視潛在風險。


參考資源

需要專業的雲端建議?

無論您正在評估雲平台、優化現有架構,或尋找節費方案,我們都能提供協助

預約免費諮詢

相關文章