本文档介绍了使用安全 Web 代理所需的初始设置步骤。
获取 IAM 角色和权限
如需获得预配安全 Web 代理实例所需的权限,请让管理员向您授予项目的以下 IAM 角色:
- 如需配置政策和预配 Secure Web Proxy 实例,您需要具备 Compute Network Admin 角色 (
roles/compute.networkAdmin) - 如需上传显式安全 Web 代理 TLS 证书,您需要具备证书管理器编辑者角色 (
roles/certificatemanager.editor)。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
您也可以通过自定义角色或其他预定义角色来获取所需的权限。
可选:如果您有一组用户负责管理 Compute Engine 组织安全政策,请向他们授予 Compute Organization Security Policy Admin 角色 (roles/compute.orgSecurityPolicyAdmin)。
如需详细了解项目角色和权限,请参阅以下内容:
创建 Google Cloud 项目
如需创建或选择 Google Cloud 项目,请按以下步骤操作:
控制台
在 Google Cloud 控制台中,前往项目选择器页面。
创建 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
控制台
在 Google Cloud 控制台中,前往启用对 API 的访问权限页面。
按照说明启用以下必需的 API:Compute Engine API、Certificate Manager API、Network Services API 和 Network Security API。
可选:如果您计划为代理配置 TLS 检查,则必须启用 Certificate Authority Service 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
可选:如果您计划为代理配置 TLS 检查,则必须启用 Certificate Authority Service (privateca.googleapis.com) API。
创建 VPC 子网
在 VPC 网络中为要部署安全 Web 代理实例的每个区域创建一个子网。如果您之前创建过子网,则可以通过将 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
创建代理子网
为要部署安全 Web 代理实例的每个区域创建一个代理子网。
建议您创建大小为 /23 的子网,该子网最多可存储 512 个代理专用地址。安全 Web 代理使用此范围来分配专用唯一 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 连接到安全 Web 代理时,才需要 TLS 证书。如需了解详情,请参阅 SSL 证书概览。
如需使用 Certificate Manager 部署 TLS 证书,请按照以下任一方法操作:
以下示例展示了如何使用证书管理服务部署自行管理的区域级证书:
创建 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.pemCERTIFICATE_PATH:用于保存证书的路径,例如~/cert.pemSWP_HOST_NAME:Secure Web Proxy 实例的主机名,例如myswp.example.com