使用 Identity-Aware Proxy (IAP) 控制工作站上應用程式的存取權。IAP 會建立中央授權層,讓您在應用程式層級管理存取權,而不必依賴網路層級防火牆。
您可以根據使用者身分、群組成員資格、裝置安全性、位置、IP 位址和其他信號來控管存取權。使用者透過網路瀏覽器和 HTTPS 存取應用程式,而 IT 團隊則集中定義及強制執行存取政策。
本文說明如何為叢集工作站上的應用程式啟用 IAP。下圖說明已啟用 IAP 的叢集:
事前準備
如要為工作站啟用 IAP,叢集必須符合下列條件:
- 自訂網域:IAP 僅支援使用自訂網域的工作站叢集。
- 應用程式負載平衡器:這個負載平衡器會使用 Private Service Connect (PSC) 端點處理所有 Ingress 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。