您可能不會將進階的 VPC 網路功能和開發者友善的無伺服器平台聯想在一起,但是越來越多企業希望能在傳統的 IT 環境中使用無伺服器平台。Google Cloud 在這裡宣布將支援 Cloud Functions 新的網路控制功能,其中包含輸入設定和 VPC Service Controls。
2019 年 12 月到現在,Serverless VPC Access(無伺服器虛擬私人雲端存取)已經讓 Cloud Functions 能夠連到 VPC 的私人 IP。這讓您可以將所有內網輸出的流量傳送至 VPC。我們今天擴充支援了輸入設定,讓您可以控制要進入 Cloud Functions 的流量,讓您也可以執行「非公開的」Cloud Functions。我們也支援 Cloud Functions 結合 VPC Service Controls 的機構政策,能夠控制公司的資料移動範圍。
輸入設定和 VPC Service Controls
隨著無伺服器虛擬私人雲端存取的發佈,我們提供了函式到執行在 VPC 上的服務的出口閘道路徑(例如,在沒有公共 IP 位置的 VM 上執行 stateful services 或 Memorystore 類型的服務。)現在有了輸入設定支援,你可以有更多的控制權來設定您的函式的網路存取。
預設情況下,入口閘道允許專案中的任何 VPC 或任何網際網路來源向函式發送流量。您現在可以將每個 function 的入口閘道設定為 `internal-only`,這將排除不是源自同一專案內部資源的任何網路請求。
如果您想對某個存取的流量進行更多細節規定,您可以使用 VPC Service Controls 設定更嚴格的存取範圍。同時,您也可以使用輸入和輸出設定搭配新的機構政策服務來防止資料外洩。
您可以依據您的需求來對網路做設定:
- 建立只能在 VPC network 中使用的 function ─ 網路設定的主要用途之一是建立一個由您指定的專案或 VPC 網路內的客戶端程式才能做使用。例如,從 VPC 網路中 Compute Engine VM 使用函式。這篇文章示範了如何建立函式。
- 設定函式連接 VPC 上的私有網路 ─ 有些服務並不是為了公共網路而生的,而是依靠網路安全性來控制存取。您可能希望您的 function 能夠連線至您的 VM 或叢集上 VPC 的服務,或 Cloud Memorystore 等代管服務。請參閱將 functions 連線至 Redis 做限速的範例。
- 使用 VPC 防火牆和 NAT 管理 function 輸出流量 – 您可以使用網路出口閘道設定來強制實作 VPC compute instances 的安全策略和防火牆規則——只需將所有路由器流量透過 VPC。若您希望function中的流量都來自安全的 IP,可將路由器流量結合 Cloud NAT。
- 設立安全規則範圍,防止資料外洩 – 預防 functions 不經意將資料外洩到不明目的地。
機構政策
由上述例子得知,有許多方法可以對輸入和輸出設定套用不同的組合。但對於某些範例(例如防止資料外洩),降低因手動設定而造成的人為疏失非常重要,尤其是當您的組織已經有固定的設定程序。為了解決這個問題,Cloud Functions 現在支援機構策略,可將其應用到 Cloud Functions 的網路設定中,這使組織可以透過適當分離關注點,來設定嚴格的安全策略,同時允許開發人員使用無伺服器基礎架構,透過伺服器靈活性高的優勢快速研發。
VPC Connector 和 Service Control 的操作
國際保險公司 AXA 是 VPC Connector for Cloud Functions 和 VPC Service Controls for Cloud Functions 功能的早期客戶,這些功能已成為無伺服器服務在資安方面的基礎。AXA 透過這些功能滿足 2 個重要的需求:
- VPC-SC for Cloud Functions 透過限制安全存取,防止 GCP 的資料外洩,確保敏感資料不會被轉移到未經授權的服務、平台或 GCP 專案中。
- VPC Connector for Cloud Functions 實作了內部和本地服務的連接,在無伺服器服務上建立混合方案,保持最大的靈活性和彈性,並同時和其它自動化服務無縫接軌。
隨著越來越多客戶採用 Cloud Functions 這樣的無伺服器運算平台,Google 也致力於保護您在 Google Cloud 環境中撰寫無伺服器負載的安全性。即刻開始使用 Cloud Functions 上的 VPC service controls,若有興趣請查閱說明。
(本文翻譯改編自 Google Cloud。)