初始设置步骤

本文档介绍了使用 Secure Web Proxy 所需的初始设置步骤。

获取 IAM 角色和权限

如需获得预配安全 Web 代理实例所需的权限,请让管理员向您授予项目的以下 IAM 角色:

  • 如需配置政策和预配 Secure Web Proxy 实例,您需要具备Compute Network Admin 角色 (roles/compute.networkAdmin)。
  • 如需上传显式 Secure Web Proxy TLS 证书,您需要具备Certificate Manager Editor 角色 (roles/certificatemanager.editor)
  • 如需配置分布式跟踪和遥测政策:Network Services Admin 角色 (roles/networkservices.admin) 或 Compute Network Admin 角色 (roles/compute.networkAdmin)
  • 如需在 Cloud Trace 中查看跟踪记录范围,您需要拥有 Cloud Trace User 角色 (roles/cloudtrace.user)
  • 如需将轨迹跨度导出到 Cloud Trace,请向以下服务账号授予 Cloud Trace Agent 角色 (roles/cloudtrace.agent):
    • Compute Engine 服务代理: service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
    • 网络安全服务代理: service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com
    • 客户端虚拟机 (VM) 服务账号(如果客户端应用生成或传播 span)

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

可选:如果您有一组用户负责管理 Compute Engine 组织安全政策,请向他们授予 Compute Organization Security Policy Admin 角色 (roles/compute.orgSecurityPolicyAdmin)。

如需详细了解项目角色和权限,请参阅以下内容:

创建 Google Cloud 项目

如需创建或选择 Google Cloud 项目,请按以下步骤操作:

控制台

  1. 在 Google Cloud 控制台中,前往项目选择器页面。

    转到“项目选择器”

  2. 创建 Google Cloud 项目或选择现有项目。

gcloud

您可以按照以下任一步骤操作:

  • 如需创建 Google Cloud 项目,请使用 gcloud projects create 命令

    gcloud projects create PROJECT_ID
    

    PROJECT_ID 替换为唯一的项目 ID。

  • 如需选择现有 Google Cloud 项目,请使用 gcloud config set 命令

    gcloud config set project PROJECT_ID
    

启用结算功能

确保您的 Google Cloud 项目已启用结算功能。 如需了解详情,请参阅为项目启用、停用或更改结算功能验证项目的结算状态

启用所需的 API

控制台

  1. 在 Google Cloud 控制台中,前往启用对 API 的访问权限页面。

    前往“启用对 API 的访问权限”

    按照说明启用以下必需的 API:Compute Engine API、Certificate Manager API、Network Services API、Network Security API 和 Cloud Trace API。

  2. 可选:如果您计划为代理配置 TLS 检查,则必须启用 Certificate Authority Service API。

    前往“启用对 API 的访问权限”

gcloud

如需启用必需的 Google Cloud API,请使用 gcloud services enable 命令

gcloud services enable \
    compute.googleapis.com \
    certificatemanager.googleapis.com \
    networkservices.googleapis.com \
    networksecurity.googleapis.com \
    privateca.googleapis.com \
    cloudtrace.googleapis.com

可选:根据需要启用以下 API:

  • 如需为代理配置 TLS 检查,请启用 Certificate Authority Service API (privateca.googleapis.com)。

  • 如需使用 Trace 跟踪出站流量,请启用 Trace API (cloudtrace.googleapis.com)。

创建 VPC 子网

在您要部署 Secure Web Proxy 实例的每个区域中,为 VPC 网络创建一个子网。如果您之前创建过子网,则可以通过将 purpose 参数设置为 PRIVATE,将该子网重新用作 VPC 子网。

gcloud

如需创建子网,请使用 gcloud compute networks subnets create 命令

gcloud compute networks subnets create VPC_SUBNET_NAME \
    --purpose=PRIVATE \
    --region=REGION \
    --network=NETWORK_NAME \
    --range=IP_RANGE

替换以下内容:

  • VPC_SUBNET_NAME:VPC 子网的名称
  • REGION:您要部署 VPC 子网的区域
  • NETWORK_NAME:您的 VPC 网络的名称
  • IP_RANGE:子网范围,例如 10.10.10.0/24

创建代理子网

为要部署 Secure Web Proxy 实例的每个区域创建代理子网。

建议您创建大小为 /23 的子网,该子网最多可存储 512 个代理专用地址。Secure Web Proxy 使用此范围来分配专用唯一 IP 地址池。此预留池有助于确保代理有足够的容量来处理伸缩,并与 VPC 网络中的 Cloud NAT 和目的地安全地互动。

gcloud

如需创建代理子网,请使用 gcloud compute networks subnets create 命令

gcloud compute networks subnets create PROXY_SUBNET_NAME \
    --purpose=REGIONAL_MANAGED_PROXY \
    --role=ACTIVE \
    --region=REGION \
    --network=NETWORK_NAME \
    --range=IP_RANGE

替换以下内容:

  • PROXY_SUBNET_NAME:代理子网的名称
  • REGION:您要部署代理子网的区域
  • NETWORK_NAME:您的 VPC 网络的名称
  • IP_RANGE:子网范围,例如 192.168.0.0/23

部署 TLS 证书

由于安全 Web 代理的默认和最基本功能(即在不进行深度检查的情况下强制执行政策)不需要传输层安全协议 (TLS) 证书,因此 TLS(以前称为 SSL)证书对于安全 Web 代理是可选的。

仅当客户端(网络中的工作负载、应用或设备)使用 HTTPS 连接到 Secure Web Proxy 时,才需要 TLS 证书。如需了解详情,请参阅 SSL 证书概览

如需使用 Certificate Manager 部署 TLS 证书,请按照以下任一方法操作:

以下示例展示了如何使用 Certificate Manager 部署自行管理的区域级证书:

  1. 创建 TLS 证书。

    openssl req -x509 -newkey rsa:2048 \
        -keyout KEY_PATH \
        -out CERTIFICATE_PATH -days 365 \
        -subj '/CN=SWP_HOST_NAME' -nodes -addext \
        "subjectAltName=DNS:SWP_HOST_NAME"
    

    替换以下内容:

    • KEY_PATH:用于保存私钥的路径,例如 ~/key.pem
    • CERTIFICATE_PATH:用于保存证书的路径,例如 ~/cert.pem
    • SWP_HOST_NAME:Secure Web Proxy 实例的主机名,例如 myswp.example.com
  2. 将 TLS 证书上传到 Certificate Manager

  3. 将 TLS 证书部署到负载均衡器

后续步骤