如要定義可從 service perimeter 內部網路存取的服務,請使用「可透過虛擬私有雲存取的服務」功能。「可透過虛擬私有雲存取的服務」功能限制可從 service perimeter 內部網路端點存取的服務集。
「可透過虛擬私有雲存取的服務」功能僅適用於從虛擬私有雲網路端點到 Google API 的流量。與 service perimeter 不同,「可透過虛擬私有雲存取的服務」功能不適用於 Google API 之間的通訊,也不適用於獨立租用環境的網路 (用於實作特定 Google Cloud 服務)。
為 perimeter 設定「可透過虛擬私有雲存取的服務」時,您可以指定個別服務的清單,也可以加入 RESTRICTED-SERVICES 值,自動納入 perimeter 保護的所有服務。
如要確保完全限制存取預期服務,請務必執行下列操作:
設定 perimeter,保護您要開放存取的同一組服務。
在 perimeter 內設定虛擬私有雲,使用受限制 VIP。
使用第 3 層防火牆。
範例:僅可存取 Cloud Storage 的虛擬私有雲網路
假設您有 service perimeter (my-authorized-perimeter),其中包含兩個專案:my-authorized-compute-project 和 my-authorized-gcs-project。該 perimeter 會保護 Cloud Storage 服務。
my-authorized-gcs-project 使用多項服務,包括 Cloud Storage、Bigtable 等。my-authorized-compute-project 託管虛擬私有雲網路。
由於這兩個專案共用一個 perimeter,因此 my-authorized-compute-project 中的虛擬私有雲網路可以存取 my-authorized-gcs-project 中的服務資源,無論 perimeter 是否保護這些服務都一樣。不過,您希望虛擬私有雲網路只能存取 my-authorized-gcs-project 中的 Cloud Storage 資源。
您擔心虛擬私有雲網路中 VM 的憑證遭竊後,攻擊者可能會利用該 VM 從 my-authorized-gcs-project 中任何可用的服務竊取資料。
您已將虛擬私有雲網路設定為使用受限制 VIP,其可限制虛擬私有雲網路只能存取 VPC Service Controls 支援的 API。但這無法阻止您的虛擬私有雲網路存取支援的服務,例如 my-authorized-gcs-project 中的 Bigtable 資源。
如要限制虛擬私有雲網路只能存取儲存空間服務,請啟用「可透過虛擬私有雲存取的服務」,並將 storage.googleapis.com 設為允許的服務:
gcloud access-context-manager perimeters update my-authorized-perimeter \
--enable-vpc-accessible-services \
--add-vpc-allowed-services=storage.googleapis.com
大功告成!my-authorized-compute-project 中的虛擬私有雲網路現在只能存取 Cloud Storage 服務的資源。日後新增至 perimeter 的任何專案和虛擬私有雲網路,也適用這項限制。