啟用 IAP

使用 Identity-Aware Proxy (IAP) 控管工作站應用程式的存取權。IAP 會建立中央授權層,讓您在應用程式層級管理存取權,不必依賴網路層級的防火牆。

您可以根據使用者身分、群組成員資格、裝置安全性、位置、IP 位址和其他信號控管存取權。使用者透過網路瀏覽器和 HTTPS 存取應用程式,IT 團隊則在單一位置集中定義及強制執行存取政策。

本文說明如何為叢集內工作站上的應用程式啟用 IAP。下圖說明已啟用 IAP 的叢集:

啟用 IAP 的叢集架構

圖 1. 已啟用 IAP 的叢集

事前準備

您必須先為叢集啟用下列項目,才能為工作站啟用 IAP:

  • 自訂網域:IAP 僅支援使用自訂網域的工作站叢集。
  • 應用程式負載平衡器:這個負載平衡器會使用 Private Service Connect (PSC) 端點處理所有 HTTP 輸入流量,並可讓您設定 IAP。

如要設定這些元件,請參閱「設定 Cloud Workstations 的自訂網域」。

啟用 Proxy

如要為工作站啟用 IAP,請按照下列步驟操作:

  1. 執行下列指令,在叢集的應用程式負載平衡器上啟用 IAP:

    gcloud compute backend-services update BACKEND_SERVICE_NAME \
        --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \
        --global

    更改下列內容:

    • BACKEND_SERVICE_NAME:為叢集設定自訂網域時,建立的後端服務名稱。
    • CLIENT_ID:OAuth 2.0 用戶端 ID。
    • CLIENT_SECRET:OAuth 2.0 用戶端密鑰。

    如要進一步瞭解如何設定已啟用 IAP 的應用程式負載平衡器,請參閱「在負載平衡器上啟用 IAP」。

  2. 將存取權授予網域中的使用者:

    gcloud iap web add-iam-policy-binding \
        --resource-type=backend-services \
        --service=BACKEND_SERVICE_NAME \
        --member='PRINCIPAL' \
        --role='roles/iap.httpsResourceAccessor' \
        --condition="expression=EXPRESSION,title=TITLE,description=DESCRIPTION"

    更改下列內容:

    • BACKEND_SERVICE_NAME:後端服務的名稱。
    • PRINCIPAL:要授予存取權的主體。例如:group:my-group@example.com、user:test-user@example.com 或 domain:example.com。
    • EXPRESSION:條件運算式,以一般運算語言 (CEL) 編寫。舉例來說,您可以使用這個運算式指定存取層級,設定情境感知存取權。
    • TITLE:條件的標題。
    • DESCRIPTION:條件的選用說明。

    Cloud Workstations 仍會根據個別工作站資源上設定的 IAM 政策,執行 IAM 檢查。為避免重複,建議您設定 IAP 政策,將權限授予包含所有核准工作站使用者的大型群組,或整個網域。這項政策主要用於指定存取層級,以設定情境感知存取權。

    如要進一步瞭解如何授予使用者存取權,請參閱 gcloud iap web add-iam-policy-binding。