建立防火牆端點和端點關聯

防火牆端點是區域資源,可對網路流量執行第 7 層檢查。建立防火牆端點,強制執行進階安全性政策,例如入侵偵測和防禦。

建立防火牆端點後,請建立防火牆端點關聯,將端點與相同可用區中的一或多個虛擬私有雲網路建立關聯。如果與虛擬私有雲網路相關聯的防火牆政策已啟用第 7 層檢查,系統會透明地攔截相符流量,並轉送至防火牆端點。

您可以建立支援或不支援巨型封包的防火牆端點。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。

本頁面說明如何使用 Google Cloud 控制台、Google Cloud CLI 或 Terraform 建立防火牆端點,並將其與虛擬私有雲 (VPC) 網路建立關聯。

事前準備

設定防火牆端點和關聯之前,請先完成下列步驟:

  1. 確認您有虛擬私有雲網路子網路
  2. 啟用必要的 API:
  3. 如要執行 gcloud 指令列範例,請安裝 gcloud CLI

角色和權限

如要取得建立防火牆端點所需的權限,請要求管理員在您的機構或專案中,授予您必要的Identity and Access Management (IAM) 角色。詳情請參閱「管理存取權」。

如要查看本頁列出作業的進度,請確保使用者帳戶具有Compute 網路使用者 (roles/compute.networkUser) 角色,該角色包含下列權限:

  • networksecurity.operations.get
  • networksecurity.operations.list

配額

如要查看防火牆端點和關聯的配額,請參閱「配額與限制」。

建立防火牆端點

您可以在特定區域中建立防火牆端點。為確保流量檢查正常運作,並避免路由失敗,請在與要檢查的工作負載相同的區域中,建立防火牆端點。

您可以在機構層級或專案層級建立防火牆端點。 組織層級端點僅支援組織層級安全設定檔群組。專案層級端點同時支援機構層級和專案層級安全設定檔群組。

控制台

  1. 前往 Google Cloud 控制台的「Firewall endpoints」(防火牆端點) 頁面。

    前往「防火牆端點」

  2. 在專案選取器選單中,選取您的機構或專案。

  3. 如果您選取機構,請按一下「建立機構層級端點」

    如果您選取專案,請在「位於這項專案的防火牆端點」部分,按一下「建立專案層級端點」

  4. 在「Region」(區域) 清單中,選取要建立防火牆端點的區域。

  5. 在「Zone」(可用區) 清單中,選取要建立防火牆端點的可用區。

  6. 在「名稱」欄位中輸入名稱。

  7. 如要建立機構層級的端點,請在「帳單專案」清單中,選取要用於防火牆端點帳單的 Google Cloud 專案。

  8. 按一下「繼續」

  9. 如要讓端點支援巨型封包,請勾選「啟用巨型封包支援功能」核取方塊;否則請取消勾選這個核取方塊。

  10. 按一下「繼續」

  11. 如要新增防火牆端點關聯,請按一下「新增端點關聯」,否則請略過這個步驟。

    1. 在「專案」清單中,選取要建立防火牆端點關聯的專案 Google Cloud 。
    2. 如果 Google Cloud 專案未啟用 Compute Engine API 或 Network Security API,請按一下「啟用」
    3. 在「Network」(網路) 清單中,選取要與防火牆端點建立關聯的網路。
    4. 在「TLS 檢查政策」清單中,選取要新增至這個關聯的 TLS 檢查政策。
    5. 如要新增其他關聯,請按一下「新增端點關聯」
  12. 點選「建立」

gcloud

如要建立防火牆端點,請使用 gcloud network-security firewall-endpoints create 指令

gcloud network-security firewall-endpoints create NAME \
    --organization ORGANIZATION_ID | --project PROJECT_ID \
    --location LOCATION \
    [--billing-project QUOTA_PROJECT_ID] \
    [--enable-jumbo-frames]

更改下列內容:

  • NAME:防火牆端點的名稱。

  • ORGANIZATION_ID:組織 ID。使用這個旗標建立機構層級的防火牆端點。

  • PROJECT_ID:專案 ID。使用這個旗標建立專案層級的防火牆端點。

  • LOCATION:要建立端點的可用區。

  • QUOTA_PROJECT_ID:配額專案 ID。 這項旗標僅適用於機構層級的防火牆端點。

如要建立支援巨型封包 (大小上限為 8,500 個位元組) 的防火牆端點,請使用選用的 --enable-jumbo-frames 標記。略過這個旗標,即可建立不支援巨型封包的端點。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。

如要將防火牆端點與虛擬私有雲網路建立關聯,請參閱「建立防火牆端點關聯」。

Terraform

使用 google_network_security_firewall_endpoint Terraform 資源

resource "google_network_security_firewall_endpoint" "default" {
  name               = "my-firewall-endpoint"
  parent             = "organizations/123456789"
  location           = "us-central1-a"
  billing_project_id = "my-project-name"
  enable_jumbo_frames = true
}

如要建立支援巨型封包 (大小上限為 8,500 個位元組) 的防火牆端點,請將 enable_jumbo_frames 欄位設為 true。如要建立不支援巨型封包的防火牆端點,請將這個欄位設為 false。如要瞭解防火牆端點支援的封包大小,請參閱「支援的封包大小」。

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

建立防火牆端點關聯

防火牆端點關聯會將防火牆端點連結至特定可用區中的虛擬私有雲網路。建立關聯後,防火牆端點就會檢查該可用區中與相關聯網路的攔截規則相符的流量。

建立關聯前,請先確認您有防火牆端點

關聯資格條件

設定端點關聯時,請遵守下列規定:

  • 區域限制:您必須在與防火牆端點相同的區域中建立關聯。如要有效檢查流量,請在部署運算執行個體的區域中建立關聯。
  • 每個可用區一個端點:在單一可用區中,您只能將虛擬私有雲網路與一個防火牆端點 (專案層級或機構層級) 建立關聯。不過,您可以將單一虛擬私有雲網路與多個不同區域的不同防火牆端點建立關聯。
  • 跨專案關聯:您可以將虛擬私有雲網路與其他專案中的防火牆端點建立關聯。如果您使用專案層級端點,端點的專案必須與虛擬私有雲網路位於相同機構。
  • 資源對應:關聯是專案層級的資源。即使關聯指向機構層級的防火牆端點,您仍可在部署運算執行個體的特定專案中建立關聯。

支援巨型封包的防火牆端點只能接受大小上限為 8,500 個位元組的封包。或者,不支援巨型封包的防火牆端點只能接受大小上限為 1,460 個位元組的封包。如需網址篩選服務或入侵偵測與防護服務,建議您將相關聯的虛擬私有雲網路設定為使用最大傳輸單元 (MTU) 限制,分別為 8,500 位元組和 1,460 位元組。詳情請參閱「 支援的封包大小」。

控制台

  1. 前往 Google Cloud 控制台的「Firewall endpoints」(防火牆端點) 頁面。

    前往「防火牆端點」

  2. 在專案選取器選單中,選取您的 Google Cloud 專案。

  3. 按一下「建立端點關聯」

  4. 在「Region」(區域) 清單中,選取要建立防火牆端點關聯的區域。

  5. 在「Zone」(可用區) 清單中,選取要建立防火牆端點關聯的可用區。

  6. 在「防火牆端點」清單中,選取要新增至關聯的防火牆端點。

  7. 在「網路」清單中,選取要加入關聯的網路。

  8. 在「TLS inspection policy」(TLS 檢查政策) 清單中,選取要新增至這個關聯的 TLS 檢查政策。

  9. 點選「建立」

gcloud

如要建立防火牆端點關聯,請使用 gcloud network-security firewall-endpoint-associations create 指令

機構層級防火牆端點

gcloud network-security firewall-endpoint-associations \
    create NAME \
    --endpoint organizations/ORGANIZATION_ID/locations/LOCATION/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
    --network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
    --location LOCATION \
    --project PROJECT_ID \
    [ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]

專案層級防火牆端點

gcloud network-security firewall-endpoint-associations \
    create NAME \
    --endpoint projects/ENDPOINT_PROJECT_ID/locations/LOCATION/firewallEndpoints/FIREWALL_ENDPOINT_NAME \
    --network projects/PROJECT_NAME/global/networks/NETWORK_NAME \
    --location LOCATION \
    --project PROJECT_ID \
    [ --tls-inspection-policy projects/TLS_PROJECT_NAME/locations/REGION_NAME/tlsInspectionPolicies/TLS_POLICY_NAME ]

更改下列內容:

  • NAME:防火牆端點關聯的名稱。

  • ORGANIZATION_ID:防火牆端點所在的機構 ID。這個旗標僅適用於機構層級的防火牆端點。

  • ENDPOINT_PROJECT_ID:防火牆端點所在的專案 ID。這個旗標僅適用於專案層級的防火牆端點。

  • LOCATION:防火牆端點所在的可用區。

  • FIREWALL_ENDPOINT_NAME:防火牆端點的名稱。

  • PROJECT_NAME:網路的 Google Cloud 專案名稱。

  • NETWORK_NAME:網路名稱。

  • PROJECT_ID:建立關聯的 Google Cloud 專案 ID。這應是您要攔截流量的專案。

  • TLS_PROJECT_NAME:TLS 檢查政策的 Google Cloud 專案名稱。

  • REGION_NAME:TLS 檢查政策的區域名稱。

  • TLS_POLICY_NAME:TLS 檢查政策的名稱。

    這項政策用於指定網路中加密流量的 TLS 檢查。這是選用引數。

後續步驟