使用 Identity-Aware Proxy (IAP) 控管工作站應用程式的存取權。IAP 會建立中央授權層,讓您在應用程式層級管理存取權,不必依賴網路層級的防火牆。
您可以根據使用者身分、群組成員資格、裝置安全性、位置、IP 位址和其他信號控管存取權。使用者透過網路瀏覽器和 HTTPS 存取應用程式,IT 團隊則在單一位置集中定義及強制執行存取政策。
本文說明如何為叢集內工作站上的應用程式啟用 IAP。下圖說明已啟用 IAP 的叢集:
事前準備
您必須先為叢集啟用下列項目,才能為工作站啟用 IAP:
- 自訂網域:IAP 僅支援使用自訂網域的工作站叢集。
- 應用程式負載平衡器:這個負載平衡器會使用 Private Service Connect (PSC) 端點處理所有 HTTP 輸入流量,並可讓您設定 IAP。
如要設定這些元件,請參閱「設定 Cloud Workstations 的自訂網域」。
啟用 Proxy
如要為工作站啟用 IAP,請按照下列步驟操作:
-
執行下列指令,在叢集的應用程式負載平衡器上啟用 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」。
-
將存取權授予網域中的使用者:
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。