本页介绍了如何在服务边界中配置 Private Service Connect 端点。
Private Service Connect 是一项Google Cloud 网络功能,可让您通过端点从虚拟私有云网络以私密方式访问托管式服务。借助 VPC Service Controls,您可以在入站和出站规则中指定 Private Service Connect 端点,从而让独立公司能够使用内部 IP 地址进行通信。
准备工作
查看入站和出站规则。
创建新的 Private Service Connect 端点,该端点仅允许访问 VPC Service Controls 支持的 Google API。
在入站流量规则中配置端点
控制台
在 Google Cloud 控制台中创建或更新边界时,您可以将入站流量规则配置为包含转发规则。
在 Google Cloud 控制台导航菜单中,依次点击安全 > VPC Service Controls。
如需创建新边界,请点击新边界。
如需修改现有边界,请选择相应边界,然后点击修改。
选择入站流量政策。
在入站流量规则窗格中,点击添加入站流量规则。
在来源部分,从来源列表中选择选择来源。
点击 Private Service Connect 端点。
点击添加端点。
在添加 Private Service Connect 端点窗格中,选择以下选项之一:
搜索 PSC 端点:此选项可让您从列表中搜索并选择所需的 Private Service Connect 端点。
手动输入 PSC 端点 ID:此选项可让您手动输入 Private Service Connect 端点。如需指定 Private Service Connect 端点,请使用以下格式:
//compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID,其中FORWARDING_RULE_ID是端点转发规则的 ID。
点击添加端点。
点击完成。
点击创建或保存。
如需了解其他入站流量规则属性,请参阅入站流量规则参考。
gcloud
您可以使用 JSON 文件或 YAML 文件配置入站流量规则以包含转发规则。以下示例使用 YAML 格式:
- ingressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
*OR*
- pscEndpoint:
forwardingRule: PSC_ENDPOINT
ingressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
- permission: PERMISSION
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
将 PSC_ENDPOINT 替换为您要允许访问安全边界内资源的 Private Service Connect 端点。如需指定 Private Service Connect 端点,请使用以下格式://compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID,其中 FORWARDING_RULE_ID 是端点的转发规则的 ID。
如需了解其他入站流量规则属性,请参阅入站流量规则参考。
使用 Private Service Connect 端点配置入站流量规则文件后,您可以在创建或更新边界时使用该规则。
如需在创建安全边界时配置规则,请运行以下命令:
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=RESOURCES \ --restricted-services=RESTRICTED_SERVICES \ --ingress-policies=INGRESS_FILENAME.yaml \ --policy=POLICY_NAME
将 INGRESS_FILENAME 替换为入站规则文件的路径。
如需了解详情,请参阅创建服务边界。
如需在更新安全边界时配置规则,请运行以下命令:
gcloud access-context-manager perimeters update PERIMETER_ID \ --set-ingress-policies=INGRESS_FILENAME.yaml
替换以下内容:
PERIMETER_ID:您要更新的服务边界的 ID。INGRESS_FILENAME:入站流量规则文件的路径。
如需了解详情,请参阅更新服务边界的入站流量和出站流量政策。
在出站流量规则中配置端点
控制台
您可以在 Google Cloud 控制台中创建或更新边界时,将出站流量规则配置为包含转发规则。
在 Google Cloud 控制台导航菜单中,依次点击安全 > VPC Service Controls。
如需创建新边界,请点击新边界。
如需修改现有边界,请选择相应边界,然后点击修改。
选择出站流量政策。
在出站流量规则窗格中,点击添加出站流量规则。
在来源部分,从来源列表中选择选择来源。
点击 Private Service Connect 端点。
点击添加端点。
在添加 Private Service Connect 端点窗格中,选择以下选项之一:
搜索 PSC 端点:此选项可让您从列表中搜索并选择所需的 Private Service Connect 端点。
手动输入 PSC 端点 ID:此选项可让您手动输入 Private Service Connect 端点。如需指定 Private Service Connect 端点,请使用以下格式:
//compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID,其中FORWARDING_RULE_ID是端点转发规则的 ID。
点击添加端点。
点击完成。
点击创建或保存。
如需了解其他出站流量规则属性,请参阅出站流量规则参考。
gcloud
您可以使用 JSON 文件或 YAML 文件配置出站规则以包含转发规则。以下示例使用 YAML 格式:
- egressTo:
operations:
- serviceName: SERVICE_NAME
methodSelectors:
- method: METHOD_NAME
*OR*
- permission: PERMISSION
*OR*
roles:
- ROLE_NAME
resources:
- projects/PROJECT_NUMBER
*OR*
externalResources:
- EXTERNAL_RESOURCE_PATH
egressFrom:
identityType: ANY_IDENTITY | ANY_USER_ACCOUNT | ANY_SERVICE_ACCOUNT
*OR*
identities:
- PRINCIPAL_IDENTIFIER
sources:
- resource: RESOURCE
*OR*
- accessLevel: ACCESS_LEVEL
*OR*
- pscEndpoint:
forwardingRule: PSC_ENDPOINT
sourceRestriction: RESTRICTION_STATUS
将 PSC_ENDPOINT 替换为您希望允许边界内的资源通过其访问外部资源的 Private Service Connect 端点。如需指定 Private Service Connect 端点,请使用以下格式://compute.googleapis.com/projects/PROJECT_ID/global/forwardingRules/FORWARDING_RULE_ID,其中 FORWARDING_RULE_ID 是端点的转发规则的 ID。
如需了解其他出站流量规则属性,请参阅出站流量规则参考。
使用 Private Service Connect 端点配置出站流量规则文件后,您可以在创建或更新边界时使用该规则。
如需在创建安全边界时配置规则,请运行以下命令:
gcloud access-context-manager perimeters create NAME \ --title=TITLE \ --resources=RESOURCES \ --restricted-services=RESTRICTED_SERVICES \ --egress-policies=EGRESS_FILENAME.yaml \ --policy=POLICY_NAME
将 EGRESS_FILENAME 替换为出站规则文件的路径。
如需了解详情,请参阅创建服务边界。
如需在更新安全边界时配置规则,请运行以下命令:
gcloud access-context-manager perimeters update PERIMETER_ID \ --set-egress-policies=EGRESS_FILENAME.yaml
替换以下内容:
PERIMETER_ID:您要更新的服务边界的 ID。EGRESS_FILENAME:出站流量规则文件的路径。
如需了解详情,请参阅更新服务边界的入站流量和出站流量政策。
排查访问被拒问题
如果 Private Service Connect 端点导致访问被拒绝,问题排查结果页面还会显示以下信息:
PSC 转发规则 ID:请求访问的转发规则的端点 ID。
PSC 转发规则状态:请求访问权限的转发规则的状态。
入站和出站部分:违规分析器会根据所有入站和出站规则评估 Private Service Connect 端点,并在入站和出站部分显示结果。
如需了解详情,请参阅在违规分析器中诊断访问遭拒问题。
限制
如需了解适用于服务边界中 Private Service Connect 端点的配额和限制,请参阅配额和限制。
您可以在入站和出站规则中使用 Private Service Connect 端点,以仅访问支持的服务。
VPC Service Controls 仅支持入站和出站规则中新创建的 Private Service Connect 端点。您无法使用现有的旧版 Private Service Connect 端点;必须重新创建这些端点才能与 VPC Service Controls 搭配使用。
后续步骤
- 详细了解 VPC Service Controls。
- 详细了解 Private Service Connect。
- 了解如何创建服务边界。