啟用 IAP

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

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

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

圖 1. 已啟用 IAP 的叢集

事前準備

如要為工作站啟用 IAP,叢集必須符合下列條件:

  • 自訂網域:IAP 僅支援使用自訂網域的工作站叢集。
  • 應用程式負載平衡器:這個負載平衡器會使用 Private Service Connect (PSC) 端點處理所有 Ingress 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.comuser:test-user@example.comdomain:example.com
    • EXPRESSION:以一般運算語言 (CEL) 編寫的條件運算式。舉例來說,這個運算式可用於指定存取層級,以設定情境感知存取權。
    • TITLE:條件的標題。
    • DESCRIPTION:條件的選填說明。 Cloud Workstations 仍會根據個別工作站資源上設定的 IAM 政策執行 IAM 檢查。為避免重複作業,請考慮設定 IAP 政策,將權限授予涵蓋所有核准工作站使用者的廣泛群組,或整個網域。您主要可以使用這項政策指定存取層級,藉此設定情境感知存取權。

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