總覽

本頁面提供 Google Distributed Cloud (GDC) 實體隔離環境中專案網路政策的總覽。

專案網路政策會定義輸入或輸出規則。與 Kubernetes 網路政策不同,您只能為政策指定一種政策類型。

對於專案內的流量,GDC 預設會將預先定義的專案網路政策 (即專案內政策) 套用至每個專案。

專案中的服務和工作負載預設會與外部服務和工作負載隔離。不過,只要套用跨專案流量網路政策,來自不同專案命名空間且位於同一機構的服務和工作負載,就能彼此通訊。

同樣地,如要將服務和工作負載連線至其他機構專案以外的目的地,也必須明確核准。您必須停用資料竊取防護功能,才能允許跨機構流量。

輸入和輸出防火牆規則是專案網路政策的主要元件,可決定允許哪些類型的流量進出網路。如要在 GDC 中為專案命名空間設定防火牆規則,請使用 GDC 控制台。

安全性與連線

根據預設,專案中的服務和工作負載會與該專案隔離。如未設定網路政策,就無法與外部服務和工作負載通訊。

如要在 GDC 中為專案命名空間設定網路政策,請使用 ProjectNetworkPolicy 資源。您可以透過這項資源定義政策,允許專案內、專案間、外部 IP 位址的通訊,以及來自外部 IP 位址的通訊。此外,只有停用專案的資料竊取防護功能,才能將工作負載移出專案。

GDC 專案網路政策是外加的。工作負載的最終強制執行結果是針對流量流的「any」比對,比對對象是套用至該工作負載的所有政策聯集。如果有多項政策,系統會將每項政策的規則加總合併,只要流量符合其中一項規則,就會允許通過。

此外,套用單一政策後,系統會拒絕所有未指定的流量。因此,當您套用一或多項以工作負載為主題的政策時,系統只會允許政策指定的流量。

使用您為專案分配的知名 IP 位址時,系統會對機構外送流量執行來源網路位址轉譯 (NAT)。

全域專案網路政策

您可以建立全域專案網路政策。全域專案網路政策的適用範圍涵蓋整個 GDC 宇宙。每個 GDC 宇宙可由多個 GDC 區域組成,這些區域會劃分為相互連線並共用控制層的區域。舉例來說,如果宇宙包含兩個地區,每個地區有三個區域,則可能如下所示:us-virginia1-aus-virginia1-bus-virginia1-ceu-ams1-aeu-ams1-beu-ams1-c

區域專案網路政策的範圍僅限於建立時指定的區域。每個區域都是獨立的災害網域。區域會管理使用本機控制層的基礎架構、服務、API 和工具。

如要進一步瞭解 GDC 宇宙中的全域資源,請參閱多區域總覽

您可以使用 Networking Kubernetes 資源模型 (KRM) API 建立全域專案網路政策。使用 API 版本 networking.global.gdc.goog 建立全域資源。

您可以使用 KRM API 或 GDC 控制台建立區域專案網路政策。使用 API 版本 networking.gdc.goog 建立區域資源。

允許所有網路政策

您可以建立允許所有網路政策,為專案建立廣泛的預設存取規則。

您可以設定下列類型的允許所有網路政策:

  • 允許所有流量政策:允許進出任何來源的流量,包括其他專案和外部 IP。
  • 允許所有外部流量政策:允許傳入和傳出機構外部 IP 位址的流量。
  • 允許所有專案的流量政策:允許機構內所有專案的流量。

詳情請參閱「建立允許所有流量的網路政策」。

工作負載層級網路政策

您可以建立工作負載層級的網路政策,為專案中的個別 VM 和 Pod 定義精細的存取權控管機制。這些政策可做為工作負載的防火牆,根據標籤控管流量,以提升安全性並隔離應用程式。這項精細程度可讓您嚴格控管專案內和跨專案的工作負載,確保只有允許的工作負載可以相互通訊。

工作負載層級的網路政策也提供沿單一區域強制執行 PNP 的功能。

詳情請參閱「建立工作負載層級的網路政策」。

準備預先定義的角色和存取權

如要設定專案網路政策,您必須具備必要的 Identity and Access 角色:

  • 專案 NetworkPolicy 管理員:管理專案命名空間中的專案網路政策。請機構 IAM 管理員授予您專案 NetworkPolicy 管理員 (project-networkpolicy-admin) 叢集角色。
  • 全域 PNP 管理員:在全域專案命名空間中,對所有多區域 PNP 資源擁有寫入權限。請要求機構 IAM 管理員授予「全域 PNP 管理員」(global-project-networkpolicy-admin) 角色。詳情請參閱預先定義的角色說明

後續步驟