使用 Private Service Connect 对 Looker (Google Cloud Core) 实例进行专用入站访问

如需将 Private Service Connect 与 Looker (Google Cloud Core) 搭配使用,必须在创建 Looker (Google Cloud Core) 实例时启用 Private Service Connect

此文档页面介绍了如何使用 Private Service Connect 配置从客户端到 Looker (Google Cloud Core) 的路由,也称为入站流量

借助 Private Service Connect,使用方可以从其 VPC 网络内部、通过混合网络或在部署外部区域应用负载均衡器时以公开方式访问托管式服务。它允许代管式服务提供方在其各自的 VPC 网络中托管这些服务,并为其使用方提供专用或公共连接。

当您使用 Private Service Connect 访问 Looker (Google Cloud Core) 时,您是服务使用方,而 Looker (Google Cloud Core) 是服务提供方。对 Looker (Google Cloud Core) 的入站访问要求将使用方 VPC 添加为 Looker (Google Cloud Core) Private Service Connect 实例的允许的 VPC

本文档介绍了如何设置和配置自定义网域,并提供了有关使用专用连接的端点访问 Looker (Google Cloud Core) 的指南。

建议通过具有后端的应用负载均衡器来访问 Looker (Google Cloud Core)。此设置还支持自定义网域证书身份验证,从而为用户访问添加额外的安全保障和控制措施。

创建自定义网域

创建 Looker (Google Cloud Core) 实例后的第一步是设置自定义网域并更新该实例的 OAuth 凭据。以下部分将引导您完成此过程。

为专用连接 (Private Service Connect) 实例创建自定义网域时,该自定义网域必须满足以下要求:

  • 自定义网域必须至少包含三个部分,其中包括至少一个子网域。例如 subdomain.domain.com
  • 自定义网域不得包含以下任何内容:
    • looker.com
    • google.com
    • googleapis.com
    • gcr.io
    • pkg.dev

设置自定义域名

创建 Looker (Google Cloud Core) 实例后,您可以设置自定义网域。

准备工作

在自定义 Looker (Google Cloud Core)实例的网域之前,请先确定网域的 DNS 记录存储在何处,以便您更新这些记录。

所需的角色

如需获得为 Looker (Google Cloud Core) 实例创建自定义网域所需的权限,请让您的管理员为您授予该实例所在项目的 Looker Admin (roles/looker.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建自定义网域

在 Google Cloud 控制台中,按以下步骤操作,自定义 Looker (Google Cloud Core) 实例的网域:

  1. 实例页面上,点击要为其设置自定义网域的实例的名称。
  2. 点击自定义网域标签页。
  3. 点击添加自定义网域

    系统随即会打开添加新的自定义网域面板。

  4. 仅使用字母、数字和短划线,输入您要使用的 Web 网域的主机名(最多 64 个字符),例如:looker.examplepetstore.com

  5. 点击继续按钮。

  6. 系统会打开更新 DNS 记录 部分。入站公共 IP 列在数据字段中。

  7. 点击添加新的自定义网域面板上的完成,返回到自定义网域标签页。

更新自定义网域需要 10 到 15 分钟才能完成。

设置自定义网域后,该网域会显示在 Google Cloud 控制台中 Looker (Google Cloud core) 实例详情页面自定义网域标签页的网域列中。

创建自定义网域后,您可以查看删除该网域的相关信息。

更新 OAuth 凭据

  1. 在 Google Cloud 控制台中依次前往 API 和服务 > 凭据,然后选择 Looker (Google Cloud Core) 实例使用的 OAuth 客户端的 OAuth 客户端 ID,即可访问您的 OAuth 客户端。
  2. 点击添加 URI 按钮,以更新 OAuth 客户端中的已获授权的 JavaScript 来源字段,使其包含贵组织将用于访问 Looker (Google Cloud Core)的相同 DNS 名称。例如,如果您的自定义网域是 looker.examplepetstore.com,则您输入的 URI 也是 looker.examplepetstore.com

  3. 更新或添加自定义网域,将其添加到您创建 Looker (Google Cloud Core) 实例时使用的 OAuth 凭据已获授权的重定向 URI 列表中。在 URI 末尾添加 /oauth2callback。例如,如果您的自定义网域是 looker.examplepetstore.com,请输入 looker.examplepetstore.com/oauth2callback

对 Looker (Google Cloud Core) 的私密访问

设置自定义网域后,如需从本地环境或其他云提供商环境(即通过混合网络)访问实例,则需要以下网络组件:

通过 Private Service Connect 部署的 Looker (Google Cloud Core)支持与 Cloud Load Balancing 集成的 Private Service Connect 网络端点组(称为后端)。如需了解如何使用后端私密访问已启用 Private Service Connect 的 Looker (Google Cloud Core) 实例,请参阅 Looker PSC 北向区域内部 L7 ALB Codelab。

下图展示了 Private Service Connect 后端网络设置示例:

使用后端从本地访问 Looker (Google Cloud Core) 实例的网络架构。

设置 DNS

设置 DNS 时,您可以使用以下两种方法中的任一种:

  • 更新本地 DNS,使其成为映射到 Private Service Connect 端点 IP 地址的 Looker (Google Cloud Core) 自定义网域的权威 DNS。
  • 创建 Cloud DNS 专用地区,使用为 Private Service Connect 端点分配的 IP 地址创建记录集,并启用入站 DNS 转发,以允许您的 VPC 成为映射到 Private Service Connect 端点 IP 地址的 Looker (Google Cloud Core) 自定义网域的权威来源。

注入自定义安全响应标头

当您将 Looker (Google Cloud Core) 与 Private Service Connect 一起嵌入到外部应用中时,漏洞评估和渗透测试 (VAPT) 安全扫描可能会标记出缺失的强制性安全响应标头,例如 Referrer-PolicyPermissions-PolicyCross-Origin-Resource-Policy (CORP)。

如需强制执行自定义安全政策并顺利通过 VAPT 扫描,请按以下步骤操作,在 Looker (Google Cloud Core) Private Service Connect 连接前使用应用负载均衡器来注入所需的响应标头:

  1. Google Cloud 控制台中,前往负载均衡页面。

    转到“负载均衡”

  2. 点击与 Looker (Google Cloud Core) 实例相关联的负载均衡器的名称,然后点击修改

  3. 前往后端配置,然后选择与 Looker (Google Cloud Core) Private Service Connect NEG 关联的后端服务。

  4. 高级配置下,使用自定义响应标头功能添加所需的标头(例如 Cross-Origin-Resource-Policy: same-originReferrer-Policy: no-referrer)。

问题排查

使用 Private Service Connect 后端配置 Looker (Google Cloud Core) 实例的入站访问权限时,您可能会遇到实例无法成功预配或负载均衡器无法访问后端服务的问题。

如果您的负载均衡器日志显示 failed_to_pick_backendno healthy upstream (HTTP 503) 错误,并且网络端点组 (NEG) 始终处于 pending 状态,则说明使用方项目缺少强制性网络配置步骤。具体而言,使用方项目未获授权连接到 Looker (Google Cloud Core) 生产者服务,或者未在使用方 VPC 中创建网络连接资源。

如需解决这些问题,请确保在消费方项目中完成以下强制性网络配置步骤:

  1. 项目列入许可名单:将使用方项目添加到 Looker (Google Cloud Core) 服务连接的允许的 VPC 列表中。此添加操作会授权使用方 VPC 与 Looker (Google Cloud Core) 提供方服务建立连接。
  2. 网络连接配置:在使用方 VPC 中创建网络连接资源,并将其与 Looker (Google Cloud Core) 实例相关联。

后续步骤