本文是一系列文章之一,說明將資料中心工作負載遷移至Google Cloud的企業網路和安全性架構。
本系列包含以下文件:
- 設計遷移企業工作負載的網路:架構方法
- 網路:確保雲端內存取權的參考架構 (本文)
- 面向網際網路的應用程式提交作業網路:參考架構
- 混合式雲端和多雲端工作負載的網路:參考架構
雲端內用途的工作負載位於虛擬私有雲網路中,需要連線至 Google Cloud中的其他資源。這些應用程式可能會使用雲端原生提供的服務,例如 BigQuery。安全範圍是由各種第一方 (1P) 和第三方 (3P) 功能提供,例如防火牆、VPC Service Controls 和網路虛擬設備。
在許多情況下,這些工作負載會跨越多個 Google Cloud虛擬私有雲網路,因此需要保護虛擬私有雲網路之間的邊界。本文件將深入探討這些安全性和連線架構。
隨即轉移架構
雲端內應用程式的第一個情境是採用提取及轉移架構,將現有工作負載原封不動地遷移至雲端。
Cloud NGFW
您可以設定 Cloud Next Generation Firewall,建立安全邊界。您可以使用標記、服務帳戶和網路標記,將精細的防火牆規則套用至 VM。如需使用防火牆規則管理流量 Google Cloud 的導入指南,請參閱企業基礎架構藍圖中的網路防火牆政策。
您也可以使用防火牆規則記錄來稽核及驗證防火牆規則設定的效果。
您可以使用虛擬私有雲流量記錄進行網路鑑識,並串流記錄以整合SIEM。這個整體系統可提供即時監控、事件關聯、分析和安全性快訊。
圖 1 顯示防火牆規則如何使用網路標記,協助限制虛擬私人雲端網路中 VM 之間的流量。
圖 1. 網路防火牆設定,使用網路標記套用精細的輸出控制。
網路虛擬裝置
網路虛擬設備 (NVA) 是具有安全功能的 VM,例如網路應用程式防火牆 (WAF) 或安全應用程式層級防火牆。具有多個網路介面的 NVA 可用於在虛擬私有雲網路之間建立橋接。您可以使用 NVA 實作 VPC 網路間的安全功能流量,尤其是在使用樞紐-輻條式設定時,如圖 2 所示。
圖 2. 共用 VPC 網路中的集中式網路裝置設定。
Cloud IDS
您可以使用 Cloud Intrusion Detection System (Cloud IDS),透過鏡像虛擬私有雲網路中子網路的流量,實作原生安全檢查和記錄功能。您可以使用 Cloud IDS 檢查及監控網路層和應用程式層中的各種威脅,以利分析。您會在 Google Cloud 虛擬私有雲網路中建立 Cloud IDS 端點。這些端點會使用 Google Cloud 網路堆疊內建的封包鏡像功能,監控該網路的輸入和輸出流量,以及虛擬私有雲內的網路流量。您必須啟用私人服務存取權,才能連線至託管 Cloud IDS 程序的服務供應商專案 (Google 代管的專案)。
如果您採用輻射狀架構,則可將每個輻條的流量鏡像到 Cloud IDS 執行個體,如圖 3 所示。
圖 3. Cloud IDS 設定,用於鏡像使用私人服務存取權的 VPC 流量。
您可以透過額外步驟,在 VPC Service Controls 服務範圍內保護 Cloud IDS。如要進一步瞭解 VPC Service Controls 支援的產品,請參閱支援的產品。
Network Connectivity Center
Network Connectivity Center 是一項指揮調度架構,可簡化與中樞管理資源 (稱為中樞) 連線的資源之間的網路連線。Network Connectivity Center 支援下列類型的網路:
- Google Cloud 虛擬私有雲網路
- 使用 Cloud Interconnect 或高可用性 VPN 的內部部署和其他雲端網路
- 由 VM 錨定的加密連線
Network Connectivity Center 是架構的控制層。連線至網路的連線稱為輻條。您可以使用 Network Connectivity Center,以全網狀或中樞與輻條的拓撲連結網路。
虛擬私有雲網路對等互連
對於跨越多個虛擬私有雲網路的應用程式,無論應用程式屬於同一個 Google Cloud 專案或同一個機構資源,虛擬私有雲網路對等互連功能都能讓虛擬私有雲網路之間建立連線。這項連線功能可讓流量留在 Google 的網路中,不會穿越公開網際網路。
軸輻式架構是 VPC 連線的熱門模式。當企業擁有多個需要存取常用服務 (例如記錄或驗證) 的應用程式時,這個模型就很實用。如果企業需要針對透過中樞離開網路的流量,實作一組通用的安全性政策,這個模型也非常實用。如要瞭解如何使用 VPC 網路對等互連功能設定軸輻式架構,請參閱「使用 VPC 網路對等互連功能建立跨雲端網路的虛擬私有雲間連線」。
共用虛擬私有雲
您可以使用共用虛擬私有雲,集中控管主機專案中的子網路、路徑和防火牆等網路資源。您可以將網路管理工作委派給網路和安全性管理員,因此,您可以採用安全性最佳做法,只授予最低權限的網路管理、稽核及存取控管權。您可以使用服務專案,將建立及管理 VM 的權限指派給執行個體管理員。使用服務專案可確保 VM 管理員僅能建立及管理執行個體,且不得在共用虛擬私有雲網路中進行任何對網路造成影響的變更。
舉例來說,您可以定義兩個主機專案中的兩個虛擬私有雲網路,並將多個服務專案附加至每個網路,其中一個用於實際工作環境,另一個用於測試。圖 6 顯示一種架構,可透過使用個別專案,將實際工作環境與測試環境隔離。
如要進一步瞭解建構虛擬私有雲網路的最佳做法,請參閱「虛擬私人雲端設計的最佳做法與參考架構」。
圖 6. 共用虛擬私人雲端網路設定,使用多個隔離的主機和服務專案 (測試和實際環境)。
混合型服務架構
混合式服務架構提供額外的原生雲端服務,可讓您在多虛擬私有雲環境中連線及保護服務。這些雲端原生服務可補足升級及轉移架構的功能,讓您更輕鬆地管理虛擬私有雲區隔環境。
Private Service Connect
Private Service Connect 可讓在一個虛擬私有雲網路中代管的服務,顯示在另一個虛擬私有雲網路中。服務不必由相同的機構資源代管,因此您可以使用私人服務連線,從其他虛擬私人雲端網路私下使用服務,即使該網路已連結至其他機構資源,也一樣。
您可以透過兩種方式使用 Private Service Connect:存取 Google API 或存取其他虛擬私有雲網路中代管的服務。
使用 Private Service Connect 存取 Google API
使用 Private Service Connect 時,您可以使用屬於 VPC 網路的 Private Service Connect 端點,公開 Google API,如圖 7 所示。
圖 7. Private Service Connect 設定,使用私人虛擬私有雲網路的 Private Service Connect 端點,將流量傳送至 Google API。
工作負載可以使用 Private Service Connect 端點,將流量傳送至全球 Google API 套件。此外,您可以使用 Private Service Connect 後端存取單一 Google API,將負載平衡器的安全性功能擴充至 API 服務。圖 8 顯示這項設定。
圖 8:Private Service Connect 設定,可透過 Private Service Connect 後端將流量傳送至 Google API。
在虛擬私有雲網路或實體之間使用 Private Service Connect
Private Service Connect 也讓服務供應商可為其他虛擬私有雲網路中的服務消費者提供服務,無論該網路是否位於同一機構資源或其他機構資源皆可。服務供應者 VPC 網路可以支援多個服務用戶。消費者可以將流量傳送至位於消費者虛擬私有雲網路中的 Private Service Connect 端點,藉此連線至供應商服務。端點會將流量轉送至包含已發布服務的 VPC 網路。
圖 9:Private Service Connect 設定,可透過服務連結發布代管服務,並透過端點使用服務。
私人服務存取權
服務供應商建議使用 Private Service Connect 向服務消費者提供服務。不過,Private Service Connect 不支援所有服務。您可以使用私人服務存取權存取這些列出的服務。
虛擬私有雲無伺服器存取連接器
虛擬私有雲 無伺服器存取連接器可處理無伺服器環境與虛擬私有雲網路之間的流量。在 Google Cloud 專案中建立連接器時,您要將其附加至特定虛擬私有雲網路和地區。接著,您可以設定無伺服器服務,以便在外出網路流量使用連接器。您可以使用子網路或 CIDR 範圍指定連接器。透過連接器傳送至虛擬私人雲端網路的流量,會來自您指定的子網路或 CIDR 範圍,如圖 10 所示。
圖 10:無伺服器虛擬私有雲端存取連接器設定,可透過使用虛擬私有雲網路內部的內部 IP 位址,存取 Google Cloud 無伺服器環境。
支援無伺服器虛擬私有雲存取連接器的地區,必須支援 Cloud Run、Cloud Run 函式或 App Engine 標準環境。如需更多資訊,請參閱使用 VPC Serverless 存取連接器的支援服務和支援的網路通訊協定清單。
直接虛擬私有雲輸出
直接虛擬私有雲輸出可讓 Cloud Run 服務將流量傳送至虛擬私有雲網路,而無需設定無伺服器虛擬私有雲存取連接器。
VPC Service Controls
VPC Service Controls 可防止來自網路或非安全範圍內專案的授權存取,進而避免 Cloud Storage 或 BigQuery 等服務的資料外洩。舉例來說,假設人為錯誤或自動化作業導致 Cloud Storage 或 BigQuery 等服務的 IAM 政策設定錯誤,因此,這些服務中的資源可供公開存取。在這種情況下,資料可能會外洩。如果您將這些服務設為 VPC Service Controls 範圍的一部分,即使 IAM 政策允許存取,資源的入站存取權仍會遭到封鎖。
VPC Service Controls 可根據用戶端屬性建立範圍,例如身分類型 (服務帳戶或使用者) 和網路來源 (IP 位址或 VPC 網路)。
VPC Service Controls 有助於降低下列安全性風險:
- 使用遭竊憑證,透過未經授權的網路存取
- 惡意內部人員或遭到入侵的程式碼竊取資料。
- 因 IAM 政策設定錯誤而導致私人資料公開。
圖 11 顯示如何透過 VPC Service Controls 建立服務範圍,以便降低這些風險。
圖 11:使用私人存取服務,將 VPC 服務範圍擴充至混合式環境。
您可以使用輸入和輸出規則,在兩個服務範圍之間啟用通訊,如圖 12 所示。
圖 12:設定輸入和輸出規則,以便在服務範圍之間通訊。
如需 VPC Service Controls 部署架構的詳細建議,請參閱「設計及架構服務範圍」。如要進一步瞭解 VPC Service Controls 支援的服務清單,請參閱「支援的產品和限制」。
零信任分散式架構
網路邊界安全控制項雖然必要,但不足以支援最低權限和多層防護的安全性原則。零信任分散式架構會建立在網路邊界上,但不會完全依賴網路邊界來執行安全性機制。由於是分散式架構,因此由微服務組成,每項服務都會實施安全性政策、強式驗證和工作負載身分。
您可以將零信任分散式架構實作為由 Cloud Service Mesh 和 Cloud Service Mesh 管理的服務。
Cloud Service Mesh
Cloud Service Mesh 提供即用型 mTLS 零信任分散式架構微服務網格,以 Istio 基礎架構建構而成。您可以使用整合的流程來設定網格。代管 Cloud Service Mesh 在 GKE 上支援 Google 代管的資料和控制層。您也可以使用叢集內控制層,這類控制層適合用於其他環境,例如 Google Distributed Cloud 或 GKE Multi-Cloud。Cloud Service Mesh 會為您管理身分和憑證,並提供以 Istio 為基礎的授權政策模型。
Cloud Service Mesh 會使用機群來管理多叢集服務的部署設定和身分。與 Cloud Service Mesh 一樣,當工作負載在平面 (或共用) 虛擬私人雲端網路連線環境中運作時,除了防火牆設定之外,沒有其他網路連線要求。如果架構包含跨多個虛擬私人雲端網路或網路環境 (例如跨 Cloud Interconnect 連線) 的多個 Cloud Service Mesh 叢集,您也需要東西向閘道。Cloud Service Mesh 的網路最佳做法與 GKE 網路最佳做法相同。
Cloud Service Mesh 也與 Identity-Aware Proxy (IAP) 整合。IAP 可讓您設定精細的存取權政策,以便根據原始要求的屬性 (例如使用者身分、IP 位址和裝置類型) 控管使用者對工作負載的存取權。這類控制機制可實現端對端零信任環境。
使用 Cloud Service Mesh 時,您必須考量 GKE 叢集需求。詳情請參閱「在 GKE 上安裝單一專案」說明文件中的「需求」一節。
後續步驟
- 面向網際網路應用程式提交作業的網路:參考架構。
- 混合式雲端和多雲端工作負載的網路:參考架構。
- Cross-Cloud Network 中分散式應用程式的網路安全性。
- 遷移至 Google Cloud可協助您規劃、設計及執行將工作負載遷移至 Google Cloud的程序。
- Google Cloud中的登陸區設計提供建立登陸區網路的相關指南。
- 如需更多參考架構、圖表和最佳做法,請瀏覽 雲端架構中心。