步驟 4:設定 Identity-Aware Proxy (IAP)

在本步驟中,您將設定 Identity-Aware Proxy (IAP),為部署在 Cloud Run 中的應用程式提供集中式授權層,方法如下:

  1. 設定 OAuth 同意畫面:OAuth 同意畫面會顯示專案摘要、政策和要求的授權存取範圍。設定應用程式的 OAuth 同意畫面,可定義使用者和應用程式審查人員可存取的內容,並註冊應用程式,以便日後發布。如要進一步瞭解 OAuth 同意畫面,請參閱「設定 OAuth 同意畫面並選擇範圍」。

  2. 建立 OAuth 存取憑證:您需要為應用程式和網域建立 OAuth 用戶端 ID,應用程式才能呼叫必要的 API。如要進一步瞭解 OAuth 憑證,請參閱「建立存取憑證」。

  3. 在負載平衡器上啟用 IAP:使用 OAuth 用戶端 ID 和密鑰,在為應用程式建立的負載平衡器上啟用 IAP。

  4. 啟用 IAP:建立可存取應用程式的主體,然後啟用 IAP,確保應用程式安全無虞。

  1. 前往 Cloud de Confiance 控制台的「OAuth 同意畫面」。

    前往 OAuth 同意畫面

  2. 為應用程式選取下列其中一種使用者類型:

    • 外部:任何擁有 Google 帳戶的使用者都能提出授權要求。為完成本教學課程,建議選取「External」(外部)。

    • 內部:只有 Cloud de Confiance by S3NS 貴機構的成員可以向應用程式提出授權要求。

  3. 點選「建立」。

  4. 在「授權網域」部分,新增網域,並指定建立憑證時使用的網域名稱。

  5. 在「開發人員聯絡資訊」部分,輸入您的電子郵件地址。

  6. 點選「儲存並繼續」。

  7. 在「範圍」頁面,按一下「儲存並繼續」。

  8. 選用:如果您選取「外部」做為使用者類型,請在「測試使用者」頁面新增測試使用者,步驟如下:

    1. 點選 [Add users] (新增使用者)。

    2. 輸入您的電子郵件地址和任何其他授權測試使用者,然後按一下「儲存並繼續」。

  9. 查看應用程式註冊摘要。如要變更,請按一下「編輯」。如果應用程式註冊看起來沒問題,請按一下「返回資訊主頁」。

建立 OAuth 存取憑證

  1. 前往 Cloud de Confiance 控制台的「憑證」頁面。

    前往「憑證」

  2. 依序點按「建立憑證」和「OAuth 用戶端 ID」。

  3. 在「應用程式類型」清單中,按一下「網頁應用程式」。

  4. 在「Name」(名稱) 欄位中,輸入 gemini-streamlit-app。

  5. 在「已授權的 JavaScript 來源」部分,按一下「新增 URI」,然後輸入下列 URI:

    https://DOMAIN_NAME
    

    將 DOMAIN_NAME 替換成建立憑證時使用的網域名稱。

  6. 點選「建立」。

    畫面上會顯示「已建立 OAuth 用戶端」,並列出「用戶端 ID」和「用戶端密鑰」。

  7. 複製「Client ID」和「Client secret」。本教學課程的下一個步驟會用到這些詳細資料。

在負載平衡器上啟用 IAP

  1. 在 Cloud de Confiance 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Cloud de Confiance 控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已設定適用於您目前專案的值。工作階段可能要幾秒鐘的時間才能初始化。

  2. 在 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

  1. 前往「Identity-Aware Proxy」頁面。

    前往 Identity-Aware Proxy 頁面

  2. 選取專案。

  3. 選取「gemini-streamlit-app-backend」旁的核取方塊。

  4. 按一下「Add principal」(新增主體)。

  5. 在下列欄位中輸入詳細資料:

    • 「New principals」(新增主體):輸入群組或個人的電子郵件地址,授予他們應用程式的存取權。主體可以是下列任一項目:

      • Google 帳戶

      • Google 群組

      • 服務帳戶

      • Google Workspace 網域

      請務必加入您可以存取的 Google 帳戶。

  6. 在「角色」清單中,依序選取「Cloud IAP」 >「受 IAP 保護的網頁應用程式使用者」。

  7. 按一下 [儲存]。

  8. 在「Identity-Aware Proxy」頁面的「應用程式」下方,點選 gemini-streamlit-app-backend 資源對應列的「IAP」切換鈕,將其設為開啟狀態。

  9. 在隨即顯示的「啟用 IAP」視窗中,勾選核取方塊,確認您已詳閱設定規定,並按照指示設定後端。

  10. 按一下「啟用」。啟用 IAP 後,所有連線都必須提供登入憑證,才能連線至負載平衡器。只有在專案中具有「受 IAP 保護的網頁應用程式使用者」角色的帳戶,才能獲得存取權。