创建防火墙端点和端点关联

防火墙端点是一种可用区级 资源,可为网络流量提供第 7 层检查。创建防火墙端点以强制执行高级安全政策,例如入侵检测和防御。

创建防火墙端点后,请创建 防火墙端点关联 ,以将该端点与同一可用区中的一个或多个 Virtual Private Cloud (VPC) 网络相关联。如果在与 VPC 网络关联的防火墙政策中启用了第 7 层检查,匹配的流量将被透明地拦截并转发到防火墙端点。

您可以创建支持或不支持巨型帧的防火墙端点。如需了解防火墙端点支持的数据包大小,请参阅 支持的数据包大小

本页面介绍如何使用 Google Cloud 控制台、 Google Cloud CLI 或 Terraform 创建防火墙端点并将其与 虚拟私有云 (VPC) 网络相关联。

准备工作

在配置防火墙端点和关联之前,请完成以下操作:

角色与权限

如需获得创建防火墙端点所需的权限,请让 您的管理员向您授予必要的 Identity and Access Management (IAM) 角色 ,以便您在组织或项目中执行此操作。如需了解详情,请参阅 管理访问权限

如需检查本页面中列出的操作的进度,请确保 您的用户账号具有 Compute Network User (roles/compute.networkUser) 角色,该角色包含以下权限:

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

配额

如需查看防火墙端点和关联的配额,请参阅 配额和限制

创建防火墙端点

您可以在特定可用区中创建防火墙端点。为确保流量检查正常进行并避免路由失败,请在要检查的工作负载所在的可用区中创建防火墙端点。

您可以在组织级或项目级创建防火墙端点。 组织级端点仅支持组织级安全配置文件组。项目级端点同时支持组织级和项目级安全配置文件组。

控制台

  1. 在 Google Cloud 控制台中,前往 防火墙端点 页面。

    进入“防火墙端点”

  2. 点击打开项目选择器 ,然后选择您的组织或项目。

  3. 如果您选择了组织,请点击创建组织级端点

    如果您选择了项目,请在此项目中的防火墙端点 部分中,点击创建项目级端点

  4. 区域 列表中,选择要创建防火墙端点的区域。

  5. 可用区 列表中,选择要创建防火墙端点的可用区。

  6. 名称 字段中,输入防火墙端点的名称。

  7. 如果您要创建组织级端点,请在结算 项目 列表中,选择要用于 Google Cloud 结算防火墙端点的项目。

  8. 点击继续 。随即会打开高级配置 部分。

  • 如果您希望端点支持巨型帧,请选中 Enable jumbo frames support 复选框;否则,请取消选中此复选框。

  • 点击继续

  • 如果您要添加防火墙端点关联, 请点击 添加端点关联;否则,请跳过此步骤。

    1. 项目 列表中,选择要创建防火墙端点关联的 Google Cloud 项目 。
    2. 如果未为 项目 Google Cloud 启用 Compute Engine API 或 Network Security API,请点击启用
    3. 网络 列表中,选择要与防火墙端点关联的网络。
    4. TLS 检查政策列表中,选择要添加到此关联的 TLS 检查政策。
    5. 如需添加其他关联,请点击添加端点关联
  • 点击创建

  • 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 标志。跳过此标志可创建不支持巨型帧的端点。如需了解防火墙端点支持的数据包大小,请参阅 支持的数据包大小

    如需将防火墙端点与 VPC 网络关联,请参阅 创建防火墙端点关联

    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 命令

    创建防火墙端点关联

    防火墙端点关联可将防火墙端点与特定可用区中的 VPC 网络相关联。此关联可确保防火墙端点检查与该可用区中关联的网络匹配的拦截规则的流量。

    在创建关联之前,请确保您拥有一个防火墙端点

    关联要求

    配置端点关联时,请遵循以下要求:

    • 可用区限制 :您必须在防火墙端点所在的可用区中创建关联。为确保流量检查有效,请在部署计算实例的可用区中创建关联。
    • 每个可用区一个端点 :在单个可用区中,您只能将 VPC 网络与一个防火墙端点(项目级或组织级)相关联。不过,您可以将单个 VPC 网络与多个不同可用区中的不同防火墙端点相关联。
    • 跨项目关联 :您可以将 VPC 网络与单独项目中的防火墙端点相关联。 如果您使用项目级端点,则端点的项目必须与 VPC 网络位于同一组织中。
    • 资源映射 :关联是项目级资源。即使关联指向组织级防火墙端点,您也需要在部署计算实例的特定项目中创建关联。

    支持巨型帧的防火墙端点只能接受不超过 8,500 字节的数据包。或者,不支持巨型帧的防火墙端点只能接受不超过 1,460 字节的数据包。如果您需要入侵检测和防御服务或网址过滤服务,建议您将关联的 VPC 网络配置为使用 最大传输单元 (MTU) 限制 8,500 字节和 1,460 字节。如需了解详情,请参阅 支持的数据包大小

    控制台

    1. 在 Google Cloud 控制台中,前往 防火墙端点 页面。

      进入“防火墙端点”

    2. 在项目选择器菜单中,选择您的 Google Cloud 项目。

    3. 点击创建端点关联

    4. 区域列表中,选择要创建防火墙端点关联的区域。

    5. 可用区列表中,选择要创建防火墙端点关联的可用区。

    6. 防火墙端点 列表中,选择要添加到此关联的防火墙端点。

    7. 网络 列表中,选择要添加到此关联的网络。

    8. 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:在其中创建关联的项目 ID。 Google Cloud 这应该是您要拦截流量的项目。

    • TLS_PROJECT_NAME:TLS 检查政策的项目名称。 Google Cloud

    • REGION_NAME:TLS 检查政策的区域名称。

    • TLS_POLICY_NAME:TLS 检查政策的名称。

      此政策用于对指定网络上的加密流量进行 TLS 检查。这是一个可选参数。

    后续步骤