部署安全 Web 代理实例
本快速入门介绍如何部署和测试安全 Web 代理实例。
准备工作
完成初始设置步骤。
如需运行此页面上的命令,请在以下任一位置设置 Google Cloud CLI 以下开发环境:
Cloud Shell
如需使用已设置 gcloud CLI 的在线终端,请执行以下操作: 激活 Cloud Shell:
在此页面结束时,系统将启动一个 Cloud Shell 会话并显示 命令行提示符。该会话可能需要几秒钟来完成初始化。
本地 shell
如需使用本地开发环境,请按照以下步骤操作:
创建或选择 Google Cloud 项目。
控制台
在 Google Cloud 控制台的“项目选择器”页面上,选择或创建 Google Cloud 项目。
Cloud Shell
创建 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-11
Compute Engine 为创建虚拟机的用户授予 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
。在区域列表中,选择要创建网站代理政策的区域。
如果要为 Web 代理配置 TLS 检查,请选择 配置 TLS 检查。
在 TLS 检查政策列表中,选择您创建的 TLS 检查政策。只有您创建的 TLS 检查政策才会显示在列表中。
如果要为政策创建规则,请点击继续,然后点击添加规则。如需了解详情,请参阅创建安全 Web 代理规则。
点击创建。
Cloud Shell
某些 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
为最高 优先级。 - 在操作部分,指定 规则是允许 (Allow) 还是拒绝 (Deny)。
- 在会话匹配部分,指定用于匹配会话的条件。如需详细了解
SessionMatcher
,请参阅 CEL 匹配器语言参考文档。 - 如需启用 TLS 检查,请选择启用 TLS 检查。
- 在应用匹配部分中,指定与请求匹配的条件。如果您未为 TLS 检查启用规则,则请求只能匹配 HTTP 流量。
- 点击创建。
点击添加规则以添加其他规则。
点击创建以创建该政策。
Cloud Shell
根据您是否需要 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 代理。
点击网络代理标签页。
点击设置网络代理。
输入您要创建的 Web 代理的名称,例如
myswp
。输入 Web 代理的说明,例如
My new swp
。在区域列表中,选择您要在其中创建 Web 代理。
在网络列表中,选择要创建网站代理的网络。
在子网列表中,选择要添加到的子网 创建 Web 代理。
输入 Web 代理 IP 地址。
在证书列表中,选择要用于创建网站代理的证书。
在政策列表中,选择您创建的要关联的政策 Web 代理。
点击创建。
Cloud Shell
创建
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 scope: samplescope
创建安全 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 代理。您可以查看所有 Web 代理的列表 或仅限特定网络中的规则
选择要删除的网络代理。
点击删除。
再次点击删除进行确认。
Cloud Shell
gcloud network-services gateways delete swp1 \
--location=REGION
删除规则“allow-wikipedia-org
”
控制台
在 Google Cloud 控制台中,前往网络安全页面。
点击安全 Web 代理。您可以查看所有 Web 代理的列表 或仅限特定网络中的规则
点击政策标签页。
点击您的政策。
选择要删除的规则。
点击删除。
再次点击删除进行确认。
Cloud Shell
gcloud network-security gateway-security-policies rules delete allow-wikipedia-org \
--location=REGION \
--gateway-security-policy=policy1
删除安全 Web 代理政策 policy1
控制台
在 Google Cloud 控制台中,前往网络安全页面。
点击安全 Web 代理。您可以查看所有 Web 代理的列表 或仅限特定网络中的规则
点击政策标签页。
选择要删除的政策。
点击删除。
再次点击删除进行确认。
Cloud Shell
gcloud network-security gateway-security-policies delete policy1 \
--location=REGION
删除 Linux 虚拟机实例 swp-test-vm
控制台
在 Google Cloud 控制台中,转到虚拟机实例页面。
选择要删除的实例。
点击删除。
Cloud Shell
gcloud compute instances delete swp-test-vm