Resource Manager 标记有助于控制 Google Cloud 资源的访问权限。借助 Resource Manager 标记, 您的 Google Cloud 资源,并有条件地允许或拒绝政策 根据资源是否具有特定的标记来自定义。您可以使用 Resource Manager 标记来 按细分和服务类型标记每个虚拟机 (VM) 实例。借助 Resource Manager 标记, 您在创建安全 Web 代理政策时唯一地标识主机。
本指南介绍如何执行以下操作:
- 创建使用空政策的安全 Web 代理实例。
- 创建 Resource Manager 标记并将其应用于虚拟机实例。
- 使用 Resource Manager 标记创建安全 Web 代理政策。
- 创建安全 Web 代理实例。
- 测试虚拟机的连接。
准备工作
完成初始设置 步骤。
让组织管理员授予您创建所需的角色 和更新代码。
验证您是否已安装 Google Cloud CLI 406.0.0 或更高版本:
gcloud version | head -n1
如果您安装了较早的 gcloud CLI 版本,请更新版本:
gcloud components update --version=406.0.0
创建使用空政策的安全 Web 代理实例
如需创建安全 Web 代理实例,请先创建空的安全政策 然后创建 Web 代理。
创建空安全政策
控制台
在 Google Cloud 控制台中,前往网络安全页面。
点击安全 Web 代理。
点击政策标签页。
点击创建政策。
为您要创建的政策输入名称。 例如
myswppolicy
。输入政策说明,例如
My new swp policy
.在区域列表中,选择您要在哪个区域 创建政策
点击创建。
Cloud Shell
使用您偏好的文本编辑器创建文件
POLICY_FILE
.yaml.将 将POLICY_FILE
替换为 政策文件所需的资源将以下内容添加到您创建的 YAML 文件中:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTION
替换以下内容:
PROJECT_NAME
:您的项目的名称REGION
:此政策适用的区域POLICY_NAME
:您要应用的政策的名称 正在创建POLICY_DESCRIPTION
:对 创建的政策
导入安全政策:
gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
创建 Web 代理
控制台
在 Google Cloud 控制台中,前往网络安全页面。
点击安全 Web 代理。
点击设置 Web 代理。
为您要创建的 Web 代理输入名称。 例如
myswp
。输入 Web 代理的说明,例如
My new swp
。在区域列表中,选择您要在哪个区域 创建 Web 代理。
在网络列表中,选择您要将 创建 Web 代理。
在子网列表中,选择要添加到的子网 创建 Web 代理。
输入 Web 代理 IP 地址。
在证书列表中,选择所需的证书 用于创建 Web 代理
在政策列表中,选择您创建的政策 网络代理的关联
点击创建。
Cloud Shell
使用您偏好的文本编辑器创建文件
GATEWAY_FILE
.yaml.将 将GATEWAY_FILE
替换为您的目标文件名。 Web 代理文件将以下内容添加到您创建的 YAML 文件中:
name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET_NAME addresses: [GATEWAY_IP_ADDRESS] scope: samplescope
替换以下内容:
GATEWAY_NAME
:此实例的名称GATEWAY_PORT_NUMBERS
:端口号列表 例如[80,443]
CERTIFICATE_URLS
:SSL 证书列表 网址SUBNET_NAME
:所选子网的名称 包含“GATEWAY_IP_ADDRESS
”GATEWAY_IP_ADDRESS
:IP 的可选列表 安全 Web 代理实例的多个 IP 地址 之前在 GCP 控制台中 初始设置步骤如果您选择不列出 IP 地址 忽略此字段,让 Web 代理为您选择 IP 地址。
创建安全 Web 代理实例:
gcloud network-services gateways import GATEWAY_NAME \ --source=GATEWAY_FILE.yaml \ --location=REGION
测试连接性
如需测试连接性,请在您集群内的任意虚拟机中使用 curl
命令
虚拟私有云 (VPC) 网络:
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
预计会出现 403 Forbidden
错误。
创建和附加 Resource Manager 标记
执行以下操作来创建并附加 Resource Manager 标记:
-
创建代码时,请使用
GCE_FIREWALL
用途来指定代码。 包括安全 Web 代理在内的 Google Cloud 网络功能要求GCE_FIREWALL
用途,以应用代码。不过,您可以将代码用于 其他操作
创建安全 Web 代理规则
如需创建安全 Web 代理规则,请执行以下操作:
使用您偏好的文本编辑器创建
RULE_FILE
.yaml 文件。将 将RULE_FILE
替换为您选择的文件名。如需允许通过所选标记访问网址,请将以下内容添加到 YAML 中 文件:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOW
替换以下内容:
RULE_NAME
:此规则的名称RULE_DESCRIPTION
:对 创建的规则RULE_PRIORITY
:此规则的优先级; 数字越小,优先级越高CEL_EXPRESSION
:通用表达式 语言 (CEL) 表达式如需了解详情,请参阅 CEL 匹配器 语言参考。
例如,如需允许从
example.com
将以下内容添加到为sessionMatcher
:sessionMatcher: "source.matchTag('TAG_VALUE') && host() == 'example.com'"
将
TAG_VALUE
替换为您要 allow 形式,格式为tagValues/1234
。导入您创建的规则:
gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
测试连接性
如需测试连接,请在任何关联的虚拟机中使用 curl
命令
添加 TAG_VALUE
标记:
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
将 IPv4_ADDRESS
替换为您的 IPv4 地址
安全 Web 代理实例。