步驟 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

如果您使用「外部負載平衡器」選項部署 MDE,即可透過 Identity-Aware Proxy (IAP) 安全連線至 MDE API 和網頁介面的內部 IP,並將 MDE 網頁介面的外部存取權限制為僅限授權使用者。

如要使用 IAP,請先設定 OAuth 畫面並啟用 IAP 服務 API:

  1. 在 Google Cloud 控制台中,前往 IAP,然後按一下「Enable API」(啟用 API)。這項作業可能需要幾分鐘才能完成。

  2. 設定 IAP 的 OAuth 同意畫面:

    1. 在 Google Cloud 控制台中,前往「Security」(安全性) >「Identity-Aware Proxy」頁面,然後選取 MDE 部署專案。

    2. 如果您尚未設定專案的 OAuth 同意畫面,系統會提示您進行設定:

      1. 按一下「設定同意畫面」
      2. 選取「外部」使用者類型,然後按一下「建立」
      3. 輸入您想顯示的「Application name」(應用程式名稱),例如 MDE
      4. 在「使用者支援電子郵件」下方,選取要顯示為公開聯絡資訊的電子郵件地址。該地址必須屬於登入的使用者帳戶,或登入使用者是管理員或擁有者的 Google 群組。
      5. 前往「開發人員聯絡資訊」,輸入您希望 Google 用來通知專案異動的電子郵件地址。
      6. 新增任何選填詳細資料。
      7. 按一下 [儲存]

    如果稍後想變更 OAuth 同意畫面上的資訊 (例如產品名稱或電子郵件地址),請重複上述步驟來設定同意畫面。

透過 IAP 建立 SSH 通道

如要連線至 MDE 服務的私人 IP,可以透過 SSH 透過 Proxy 建立通道,這樣就能使用 Postman 等本機工具與 MDE API 互動。

事前準備

請確認您已完成一般 IAP 設定步驟。

標準 MDE 部署作業會建立名為 mde-proxy 的 Proxy VM。這部電腦可將傳入的要求 Proxy 至 MDE API 閘道或 MDE 網頁介面。這個 VM 只有私人 IP,但您可以透過 Identity-Aware Proxy (IAP) for TCP forwarding,建立安全 SSH 通道連線至這部機器。本節其餘內容將說明如何設定 IAP,將流量導向 mde-proxy,以及如何從工作站建立連往該執行個體的通道:

  1. 前往 Google Cloud 控制台的「IAP」,然後點選「SSH AND TCP RESOURCES」(SSH 和 TCP 資源)

  2. 授予有權透過 IAP 連線至 mde-proxy 的使用者權限:

    使用者必須先獲得 roles/iap.tunnelResourceAccessor 角色,才能透過 IAP 連線至 mde-proxy。請按照下列操作說明授予角色:

    1. 從清單中選取「mde-proxy」

    2. 按一下右側面板中的「Add Principal」(新增主體)

    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 網頁介面。
  • 您已完成一般 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 負載平衡器,則必須將指派給變數 MDE_UI_DOMAIN_NAME 的網域名稱 A 記錄,設定為部署的外部 HTTP 負載平衡器 IP 位址,才能完成 Google 代管 SSL 憑證的佈建作業。input.tfvars

您可以使用下列指令,查詢外部 HTTP 負載平衡器的 IP 位址:

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

如要瞭解如何建立 A 記錄,請洽詢 DNS 代管服務供應商。