第 3 步:配置访问权限

本部分提供了有关完成 MDE 安装所需的部署后步骤的指南。

启用 GKE 集群 Filestore 驱动程序

自 1.4.0 版起,MDE GKE 集群使用 Filestore 实例来存储 JVM 堆转储,这使工程团队能够更有效地排查客户问题。由于 Terraform 限制,此插件可能无法在较低版本的 Autopilot 集群中启用。如果您发现 pod 未启动且处于 ContainerCreating 状态,则需要使用以下命令为 Filestore 启用 CSI 驱动程序:

gcloud container clusters update CLUSTER_NAME \
   --update-addons=GcpFilestoreCsiDriver=ENABLED --region REGION_NAME

配置 Identity-Aware Proxy

借助 Identity-Aware Proxy (IAP),您可以安全地连接到 MDE API 和网页界面,还可以限制对 MDE 网页界面的外部访问权限,仅允许授权用户访问(如果您在部署时选择了“外部负载平衡器”选项)。

如需使用 IAP,您必须先配置 OAuth 屏幕并启用 IAP 服务 API:

  1. 在 Google Cloud 控制台中,前往 IAP,然后点击启用 API。此操作可能需要几分钟才能完成。

  2. 为 IAP 配置 OAuth 权限请求页面:

    1. 在 Google Cloud 控制台中,前往安全性 > Identity-Aware Proxy 页面,然后选择 MDE 部署项目。

    2. 如果您尚未配置项目的 OAuth 权限请求页面,系统将提示您进行配置:

      1. 点击配置同意屏幕
      2. 选择外部用户类型,然后点击创建
      3. 输入您要显示的应用名称,例如 MDE
      4. 用户支持邮箱下,选择您希望作为公开联系方式显示的邮箱。该电子邮件地址必须属于登录的用户账号,或者属于登录用户是管理员或所有者的 Google 群组。
      5. 前往开发者联系信息,输入您希望 Google 用于通知您有关项目变更的电子邮件地址。
      6. 添加任何可选详细信息。
      7. 点击保存

    如需稍后更改 OAuth 同意屏幕上的信息(例如产品名称或电子邮件地址),请重复上述步骤配置同意屏幕。

通过 IAP 建立 SSH 隧道

如需连接到 MDE 服务的专用 IP,您可以通过 SSH 隧道将它们通过代理进行传输,这样您就可以使用 Postman 等本地工具与 MDE API 进行交互。

准备工作

确保您已完成常规 IAP 配置步骤。

标准 MDE 部署会创建一个名为 mde-proxy 的代理虚拟机。此机器可以将传入的请求代理到 MDE API 网关或 MDE 网页界面。此虚拟机只有专用 IP,但借助 Identity-Aware Proxy (IAP) 进行 TCP 转发,您可以创建一条安全的 SSH 隧道来连接到此机器。本部分的其余内容将介绍如何配置 IAP 以将流量隧道传输到 mde-proxy,以及如何从工作站创建到该实例的隧道:

  1. 在 Google Cloud 控制台中,前往 IAP,然后点击 SSH 和 TCP 资源

  2. 向获授权使用 IAP 连接到 mde-proxy 的用户授予权限:

    在用户可以使用 IAP 连接到 mde-proxy 之前,请按照以下说明向他们授予 roles/iap.tunnelResourceAccessor 角色

    1. 从列表中选择 mde-proxy

    2. 点击右侧面板中的添加主账号

    3. 输入要授予访问权限的主账号的电子邮件地址。

    4. 选择 IAP-secured Tunnel User 角色。

  3. 使用以下命令创建通往 MDE API 的隧道:

    export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy"  \
    --format="value(zone)")
    
    gcloud compute ssh mde-proxy \
    --zone "$MDE_PROXY_ZONE" --tunnel-through-iap  \
    -- -N -L 8080:api.mde.cloud.google.com:80
    

    运行命令后,您可以在 http://localhost:8080 下访问 MDE API。

  4. 创建通往 MDE 网页界面的隧道。

    如果您在第 3 步中创建了通往 MDE API 的隧道,则可以打开一个新终端,以便稍后执行命令。连接到 MDE API 和 MDE 网页界面的 SSH 隧道可以并行运行。

    export MDE_PROXY_ZONE=$(gcloud compute instances list --filter="mde-proxy" \
    --format="value(zone)")
    
    gcloud compute ssh mde-proxy \
    --zone "$MDE_PROXY_ZONE" --tunnel-through-iap  \
    -- -N -L 8081:ui.mde.cloud.google.com:80
    

    运行该命令后,即可通过 http://localhost:8081 访问 MDE 网页界面。

配置对网页界面外部 HTTP 负载平衡器的访问权限

在本部分中,您将配置对使用 IAP 的 MDE 网页界面外部 HTTP 负载平衡器的访问权限。

如果您为 MDE 网页界面启用了外部 HTTP 负载平衡器,则必须使用 IAP 将应用访问权限限制为仅限授权用户。

准备工作

请确保您已满足以下前提条件:

  • 您已通过 MDE 网页界面部署 MDE。
  • 您已使用外部 HTTP 负载平衡器部署 MDE Web 界面。
  • 您已完成常规 IAP 配置步骤。

步骤

  1. 在 Google Cloud 控制台中,前往 IAP
  2. 点击应用
  3. 选择 mde/mde-ui-ext-service 服务。

  4. 点击启用切换开关。

  5. 阅读并接受配置要求。

  6. 点击开启。此操作可能需要几分钟时间。

  7. 向获授权使用 IAP 的用户授予访问 MDE 网页界面的权限:

    1. 点击右侧面板中的添加主账号
    2. 输入要授予访问权限的主账号的电子邮件地址。
    3. 选择 IAP-secured Web App User 角色。

为 MDE 网页界面配置 DNS

如果您为 MDE 网页界面启用了外部 HTTP 负载均衡器,则必须将您在 input.tfvars 中分配给变量 MDE_UI_DOMAIN_NAME 的网域名的 A 记录设置为已部署的外部 HTTP 负载均衡器的 IP 地址,以完成 Google 管理的 SSL 证书的预配。

您可以使用以下命令查找外部 HTTP 负载平衡器的 IP 地址:

gcloud compute addresses list --filter="name~'.*mde-ui.*'" --format="value(address)" --global

如需详细了解如何创建 A 记录,请咨询您的 DNS 主机。