部署安全 Web 代理实例
本快速入门介绍了如何部署和测试安全 Web 代理实例。
准备工作
完成初始设置步骤。
可选:如果您要运行本指南中指定的
gcloud
命令行示例,请在以下任一开发环境中安装 Google Cloud CLI:如需使用已设置 gcloud CLI 的在线终端,请激活 Cloud Shell:
Cloud Shell 会话会在本页末尾启动,并显示命令行提示符。该会话可能需要几秒钟来完成初始化。
如需使用本地开发环境,请按照以下步骤操作:
创建或选择 Google Cloud 项目。
在 Google Cloud 控制台的“项目选择器”页面上,选择或创建 Google Cloud 项目。
创建 Google Cloud 项目:
gcloud projects create
PROJECT_ID 将
PROJECT_ID
替换为您要使用的项目 ID。选择您创建的 Google Cloud 项目:
gcloud config set project
PROJECT_ID
创建 Linux 虚拟机 (VM) 实例:
gcloud compute instances create swp-test-vm \ --subnet=default \ --zone=
ZONE \ --image-project=debian-cloud \ --image-family=debian-11Compute Engine 向创建虚拟机的用户授予 Compute Instance Admin 角色 (
roles/compute.instanceAdmin
)。Compute Engine 还会将该用户添加到 sudo 群组。创建防火墙规则:
gcloud compute firewall-rules create default-allow-ssh \ --direction=INGRESS \ --priority=1000 \ --network=default \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=0.0.0.0/0
创建安全 Web 代理政策
在 Google Cloud 控制台中,前往安全 Web 代理页面。
点击政策标签页。
点击创建政策。
输入您要创建的政策的名称,例如
myswppolicy
。输入政策说明,例如
My new swp policy
。在区域列表中,选择要创建网站代理政策的区域。
在 TLS 检查政策列表中,选择您创建的 TLS 检查政策。只有您创建的 TLS 检查政策才会显示在列表中。
如果要为政策创建规则,请点击添加规则。 如需了解详情,请参阅创建安全 Web 代理规则。
点击创建。
某些 Web 代理政策要求流量必须经过 TLS 加密才能进行评估。根据您是否需要 TLS 加密,使用以下任一方法创建政策:
使用 TLS 检查配置创建政策。
如需启用 TLS 检查,请执行启用 TLS 检查中所述的步骤,然后创建
policy.yaml
文件:description: basic Secure Web Proxy policy name: projects/
PROJECT_ID /locations/REGION /gatewaySecurityPolicies/policy1 tlsInspectionPolicy: projects/PROJECT_ID /locations/REGION /tlsInspectionPolicies/TLS_INSPECTION_NAME 创建不含 TLS 检查配置的政策。
如果您不想启用 TLS 检查,请创建文件
policy.yaml
:description: basic Secure Web Proxy policy name: projects/
PROJECT_ID /locations/REGION /gatewaySecurityPolicies/policy1
创建安全 Web 代理政策:
gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml \ --location=
REGION
创建安全 Web 代理规则
在 Google Cloud 控制台中,前往安全 Web 代理页面。
点击政策标签页。
点击您的政策名称。
点击添加规则。
填充规则字段:
- 名称
- 说明
- 状态
- 优先级:规则的数字评估顺序。这些规则按照从最高到最低的优先级进行评估,其中
0
是最高优先级。 - 在操作部分中,指定是允许(允许)还是拒绝(拒绝)与规则匹配的连接。
- 在会话匹配部分,指定会话匹配条件。如需详细了解
SessionMatcher
的语法,请参阅 CEL 匹配器语言参考文档。 - 如需启用 TLS 检查,请选择启用 TLS 检查。
- 在应用匹配部分中,指定与请求匹配的条件。如果您未为 TLS 检查启用规则,则请求只能匹配 HTTP 流量。
- 点击创建。
点击添加规则以添加其他规则。
点击创建以创建该政策。
根据您是否需要 TLS 加密,使用以下任一方法创建规则:
使用 TLS 检查配置创建规则。
如需启用 TLS 检查,请创建文件
rule.yaml
:name: projects/
PROJECT_ID /locations/REGION /gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org description: Allow wikipedia enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'wikipedia.org' applicationMatcher: request.path.contains('index.html') tlsInspectionEnabled: true创建不含 TLS 检查配置的规则。
如果您不想启用 TLS 检查,请创建文件
rule.yaml
:name: projects/
PROJECT_ID /locations/REGION /gatewaySecurityPolicies/policy1/rules/allow-wikipedia-org description: Allow wikipedia.org enabled: true priority: 1 basicProfile: ALLOW sessionMatcher: host() == 'wikipedia.org'
创建安全政策规则:
gcloud network-security gateway-security-policies rules import allow-wikipedia-org \ --source=rule.yaml \ --location=
REGION \ --gateway-security-policy=policy1
设置 Web 代理
在 Google Cloud 控制台中,前往安全 Web 代理页面。
点击网络代理标签页。
点击设置网络代理。
输入您要创建的网络代理的名称,例如
myswp
。输入 Web 代理的说明,例如
My new swp
。在区域列表中,选择要创建网站代理的区域。
在网络列表中,选择要创建网站代理的网络。
在子网列表中,选择要创建 Web 代理的子网。
输入网站代理 IP 地址。
在证书列表中,选择要用于创建网站代理的证书。
在政策列表中,选择要与网站代理关联的政策。
点击创建。
创建
gateway.yaml
文件:name: projects/
PROJECT_ID /locations/REGION /gateways/swp1 type: SECURE_WEB_GATEWAY addresses: ["10.128.0.99"] ports: [443] certificateUrls: ["projects/PROJECT_ID /locations/REGION /certificates/cert1"] gatewaySecurityPolicy: projects/PROJECT_ID /locations/REGION /gatewaySecurityPolicies/policy1 network: projects/PROJECT_ID /global/networks/default subnetwork: projects/PROJECT_ID /regions/REGION /subnetworks/default创建安全 Web 代理实例:
gcloud network-services gateways import swp1 \ --source=gateway.yaml \ --location=
REGION 安全 Web 代理实例可能需要几分钟才能部署完毕。
测试连接性
连接到您之前预配的虚拟机:
gcloud compute ssh swp-test-vm \ --zone=
ZONE 测试安全 Web 代理实例:
curl -x http://10.128.0.99:80 https://wikipedia.org
如果您已将安全 Web 代理实例配置为进行 TLS 检查,请使用以下命令:
curl -x http://10.128.0.99:80 https://wikipedia.org/index.html
清理
为避免因本页中使用的资源导致您的 Google Cloud 账号产生费用,请按照以下步骤操作。
删除安全 Web 代理实例 swp1
在 Google Cloud 控制台中,前往安全 Web 代理页面。您可以查看所有网络代理的列表,也可以仅查看特定网络中的代理。
选择要删除的网站代理。
点击删除。
再次点击删除进行确认。
gcloud network-services gateways delete swp1 \
--location=REGION
删除规则 allow-wikipedia-org
在 Google Cloud 控制台中,前往安全 Web 代理页面。您可以查看所有网络代理的列表,也可以仅查看特定网络中的代理。
点击政策标签页。
点击您的政策。
选择要删除的规则。
点击删除。
再次点击删除进行确认。
gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
--location=REGION \
--gateway-security-policy=policy1
删除安全 Web 代理政策 policy1
在 Google Cloud 控制台中,前往安全 Web 代理页面。您可以查看所有网络代理的列表,也可以仅查看特定网络中的代理。
点击政策标签页。
选择要删除的政策。
点击删除。
再次点击删除进行确认。
gcloud network-security gateway-security-policies delete policy1 \
--location=REGION
删除 Linux 虚拟机实例 swp-test-vm
在 Google Cloud 控制台中,前往虚拟机实例页面。
选择要删除的实例。
点击删除。
gcloud compute instances delete swp-test-vm