在這個步驟中,您將設定 Identity-Aware Proxy (IAP),為部署在 Cloud Run 中的應用程式佈建集中式授權層,方法如下:
設定 OAuth 同意畫面:OAuth 同意畫面會顯示專案摘要、政策和要求的授權範圍。設定應用程式的 OAuth 同意畫面,可定義使用者和應用程式審查人員可存取的內容,並註冊應用程式,以便日後發布。如要進一步瞭解 OAuth 同意畫面,請參閱「設定 OAuth 同意畫面並選擇範圍」。
建立 OAuth 存取憑證:您需要為應用程式和網域建立 OAuth 用戶端 ID,應用程式才能呼叫必要的 API。如要進一步瞭解 OAuth 憑證,請參閱建立存取憑證。
在負載平衡器上啟用 IAP:使用 OAuth 用戶端 ID 和密碼,在為應用程式建立的負載平衡器上啟用 IAP。
啟用 IAP:建立可存取應用程式的主體,然後啟用 IAP,確保應用程式安全無虞。
設定 OAuth 同意畫面
前往 Google Cloud 控制台的「OAuth consent screen」(OAuth 同意畫面)。
為應用程式選取下列其中一種使用者類型:
外部:任何擁有 Google 帳戶的使用者都可以提出授權要求。為完成本教學課程,建議選取「External」(外部)。
內部:只有貴機構的成員才能向應用程式提出授權要求。 Google Cloud
點選「建立」。
在「授權網域」部分,新增網域,並指定建立憑證時使用的網域名稱。
在「開發人員聯絡資訊」部分,輸入您的電子郵件地址。
點選「儲存並繼續」。
在「範圍」頁面中,按一下「儲存並繼續」。
選用:如果您選取「外部」做為使用者類型,請在「測試使用者」頁面新增測試使用者,方法如下:
點選 [Add users] (新增使用者)。
輸入您的電子郵件地址和任何其他授權測試使用者,然後按一下「儲存並繼續」。
查看應用程式註冊摘要。如要修改資訊,請按一下「編輯」。如果應用程式註冊看起來沒問題,請按一下「Back to dashboard」(返回資訊主頁)。
建立 OAuth 存取憑證
前往 Google Cloud 控制台的「憑證」頁面。
按一下「建立憑證」,然後點選「OAuth 用戶端 ID」。
在「應用程式類型」清單中,按一下「網頁應用程式」。
在「Name」(名稱) 欄位中輸入
gemini-streamlit-app
。在「已授權的 JavaScript 來源」部分,按一下「新增 URI」,然後輸入下列 URI:
https://DOMAIN_NAME
將 DOMAIN_NAME 替換為建立憑證時使用的網域名稱。
點選「建立」。
系統會顯示「Oauth client created」(已建立 OAuth 用戶端) 畫面,並顯示「Client ID」(用戶端 ID) 和「Client secret」(用戶端密碼)。
複製「用戶端 ID」和「用戶端密鑰」。您會在教學課程的下一個步驟中需要這些詳細資料。
在負載平衡器上啟用 IAP
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
- 在 Cloud Shell 終端機中執行下列指令:
gcloud compute backend-services update gemini-streamlit-app-backend \ --iap=enabled,oauth2-client-id=CLIENT_ID,oauth2-client-secret=CLIENT_SECRET \ --global
取代下列項目
- CLIENT_ID:您剛建立的 OAuth 憑證中的 OAuth 用戶端 ID。
- CLIENT_SECRET:您剛建立的 OAuth 憑證中的 OAuth 用戶端密鑰。
設定及使用 IAP
前往「Identity-Aware Proxy」頁面。
選取專案。
勾選
gemini-streamlit-app-backend
旁邊的核取方塊。按一下「新增主體」。
在下列欄位中輸入詳細資料:
「New principals」(新增主體):輸入要授予應用程式存取權的群組或個人電子郵件地址。主體可以是下列任一項目:
Google 帳戶
Google 群組
服務帳戶
Google Workspace 網域
請務必加入您可以存取的 Google 帳戶。
在「角色」清單中,依序選取「Cloud IAP」 >「受 IAP 保護的網頁應用程式使用者」。
按一下 [儲存]。
在「Identity-Aware Proxy」頁面的「Applications」下方,按一下
gemini-streamlit-app-backend
資源對應列中的「IAP」切換按鈕,將其設為開啟。在隨即顯示的「開啟應用程式內結帳功能」視窗中,勾選核取方塊,確認您已閱讀設定規定,並據此設定後端。
按一下「開啟」。啟用 IAP 後,系統會要求所有連線提供負載平衡器的登入憑證。只有專案中擁有「IAP-Secured Web App User」(受 IAP 保護的網路應用程式使用者) 角色的帳戶,才能獲得存取權。