本文是系列文章之一,說明企業將資料中心工作負載遷移至Google Cloud時的網路和安全架構。
本系列包含以下文件:
- 設計網路以遷移企業工作負載:架構方法
- 網路,確保雲端內存取安全:參考架構 (本文件)
- 網路:提供面向網際網路的應用程式:參考架構
- 混合式和多雲端工作負載的網路:參考架構
雲端內使用案例的工作負載位於 VPC 網路中,需要連線至 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 實作虛擬私有雲網路之間的安全性功能流量,特別是使用中樞輻射拓撲時,如圖 2 所示。
圖 2. 在共用 VPC 網路中集中設定網路設備。
Cloud IDS
透過 Cloud 入侵偵測系統 (Cloud IDS),您可以鏡像處理虛擬私有雲網路中子網路的流量,藉此實作原生安全檢查和記錄功能。使用 Cloud IDS,即可檢查及監控網路層和應用程式層的各種威脅,以供分析。您可以在 Google Cloud VPC 網路中建立 Cloud IDS 端點。這些端點會使用 Google Cloud 網路堆疊內建的封包鏡像功能,監控該網路的輸入和輸出流量,以及虛擬私有雲網路內的流量。您必須啟用私人服務存取權,才能連線至服務供應商專案 (Google 管理的專案),該專案會代管 Cloud IDS 程序。
如果您採用軸輻式架構,可以將各個輪輻的流量鏡像到 Cloud IDS 執行個體,如圖 3 所示。
圖 3. Cloud IDS 設定,用於鏡像處理使用私人服務存取權的虛擬私有雲流量。
您可以使用額外步驟,在 VPC Service Controls 服務 perimeter 中保護 Cloud IDS。如要進一步瞭解 VPC Service Controls 支援,請參閱「支援的產品」。
Network Connectivity Center
Network Connectivity Center 是一種協調架構,可簡化連線至中樞 (中央管理資源) 的資源之間的網路連線。NCC 支援下列類型的網路:
- Google Cloud 虛擬私有雲網路
- 使用 Cloud Interconnect 或高可用性 VPN 的地端部署和其他雲端網路
- 以 VM 為錨點的加密連線
Network Connectivity Center 是架構的控制層。網路連線稱為「輪輻」。您可以使用 Network Connectivity Center,以全網格或中樞與輪輻拓撲連結網路。
虛擬私有雲網路對等互連
對於跨越多個虛擬私有雲網路的應用程式 (無論是否屬於相同 Google Cloud 專案或相同機構資源),虛擬私有雲網路對等互連功能可讓虛擬私有雲網路之間建立連線。這項連線功能可確保流量留在 Google 的網路中,不會周遊公開網際網路。
軸輻式架構是虛擬私有雲連線的熱門模式。如果企業有多個應用程式需要存取一組通用服務 (例如記錄或驗證),這個模型就非常實用。如果企業需要為透過中樞離開網路的流量,實作一組通用的安全政策,這個模型也很有用。如需使用 VPC 網路對等互連設定軸輻式架構的指南,請參閱「使用 VPC 網路對等互連的 Cross-Cloud Network 虛擬私有雲互連」。
共用虛擬私有雲
您可以使用共用虛擬私有雲,集中控管主專案中的子網路、路徑和防火牆等網路資源。這個控管層級可讓您採用安全性最佳做法,只授予最低權限的網路管理、稽核及存取控管權,因為您可以將網路管理工作委派給網路和安全管理員。您可以透過服務專案,將建立及管理 VM 的權限指派給執行個體管理員。使用服務專案可確保 VM 管理員只能建立及管理執行個體,且無法在共用虛擬私有雲網路中進行任何會影響網路的變更。
舉例來說,您可以定義兩個虛擬私有雲網路,分別位於兩個主專案中,並將多個服務專案附加至每個網路 (一個用於正式環境,另一個用於測試),進一步提升隔離程度。圖 6 顯示的架構使用不同的專案,將正式環境與測試環境隔離。
如要進一步瞭解建構虛擬私有雲端網路的最佳做法,請參閱虛擬私有雲端設計的最佳做法和參考架構。
圖 6. 共用虛擬私有雲網路設定,使用多個隔離的主機和服務專案 (測試和生產環境)。
混合型服務架構
混合式服務架構提供額外的雲端原生服務,可讓您在多個虛擬私有雲環境中連線及保護服務。這些雲端原生服務可補充升級與轉移架構中提供的服務,並簡化大規模管理虛擬私有雲區隔環境的作業。
Private Service Connect
Private Service Connect 可讓在一個 VPC 網路中代管的服務,顯示在另一個 VPC 網路中。服務不一定要由同一個機構資源代管,因此即使服務附加至其他機構資源,您也可以使用 Private Service Connect,以私密方式取用其他虛擬私有雲網路的服務。
您可以使用 Private Service Connect 存取 Google API,或存取其他虛擬私有雲網路中代管的服務。
使用 Private Service Connect 存取 Google API
使用 Private Service Connect 時,您可以透過虛擬私有雲網路中的 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,在相同或不同機構資源中,向其他虛擬私有雲網路的服務消費者提供服務。服務生產者虛擬私有雲網路可支援多個服務消費者。消費者可以將流量傳送至消費者虛擬私有雲網路中的 Private Service Connect 端點,連線至生產者服務。端點會將流量轉送至包含已發布服務的虛擬私有雲網路。
圖 9:Private Service Connect 設定,可透過服務連結發布代管服務,並透過端點使用服務。
私人服務存取權
建議服務供應商使用 Private Service Connect,向服務消費者提供服務。不過,Private Service Connect 不支援所有服務。您可以使用私人服務存取權,存取這些列出的服務。
虛擬私有雲無伺服器存取連接器
虛擬私有雲無伺服器存取連接器可處理無伺服器環境與虛擬私有雲網路之間的流量。在 Google Cloud 專案中建立連接器時,您要將其附加至特定虛擬私有雲網路和區域。接著設定無伺服器服務,以便在輸出網路流量使用連接器。您可以透過子網路或 CIDR 範圍指定連接器。如圖 10 所示,透過連接器傳送至虛擬私有雲網路的流量,是來自您指定的子網路或 CIDR 範圍。
圖 10:無伺服器 VPC 存取連接器設定,可使用 VPC 網路內的內部 IP 位址存取 Google Cloud 無伺服器環境。
凡是支援 Cloud Run、Cloud Run 函式或 App Engine 標準環境的地區,都支援無伺服器虛擬私有雲存取連接器。如要進一步瞭解如何使用 VPC 無伺服器存取連接器,請參閱支援的服務和支援的網路通訊協定清單。
直接虛擬私有雲輸出
直接虛擬私有雲輸出功能可讓 Cloud Run 服務將流量傳送至虛擬私有雲網路,不必設定無伺服器虛擬私有雲存取連接器。
VPC Service Controls
VPC Service Controls 可防止從 Cloud Storage 或 BigQuery 等服務竊取資料,方法是禁止從網際網路或不屬於安全範圍的專案進行授權存取。舉例來說,假設人為錯誤或不正確的自動化作業,導致 Cloud Storage 或 BigQuery 等服務的 IAM 政策設定有誤。因此,這些服務中的資源會公開存取。在這種情況下,資料可能會外洩。如果這些服務已設為 VPC Service Controls 範圍的一部分,即使身分與存取權管理政策允許存取,系統仍會封鎖資源的連入存取權。
VPC Service Controls 可根據用戶端屬性 (例如身分類型 (服務帳戶或使用者) 和網路來源 (IP 位址或虛擬私有雲網路)) 建立範圍。
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 提供以 Istio 為基礎建構的零信任分散式架構微服務網格,可直接使用 mTLS。您可以使用整合式流程設定網狀網路。代管 Cloud Service Mesh 服務 (由 Google 代管資料和控制層)支援 GKE。您也可以使用叢集內控制層,適用於其他環境,例如 Google Distributed Cloud 或 GKE Multi-Cloud。Cloud Service Mesh 會為您管理身分和憑證,並提供以 Istio 為基礎的授權政策模型。
Cloud Service Mesh 依賴機群來管理多叢集服務部署設定和身分識別。與 Cloud Service Mesh 相同,當工作負載在扁平 (或共用) 的 VPC 網路連線環境中運作時,除了防火牆設定外,沒有其他特殊的網路連線要求。如果您的架構包含多個 Cloud Service Mesh 叢集,且這些叢集位於不同的 VPC 網路或網路環境 (例如透過 Cloud Interconnect 連線),則您也需要東西向閘道。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中的登陸區設計:提供建立登陸區網路的指引。
- 如要查看更多參考架構、圖表和最佳做法,請瀏覽 Cloud Architecture Center。