准备工作
- 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
- 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
- 在屏幕左上角,点击开始实验即可开始
Deploy the application to App Engine
/ 25
Restrict access with IAP
/ 25
Allow member to access application
/ 25
Access User Identity Information
/ 25
零信任安全模式是指直接將所有使用者、裝置或網路視為不可信。授予存取權與否取決於多項因素,包括但不限於使用者身分、裝置、位置和時段。強制執行零信任政策的其中一個主要用途,是確保使用者能安全存取託管於 Google Cloud 或地端部署資料中心的網頁應用程式,例如 HTTP/HTTPS 型的應用程式。每個網頁應用程式都能設定專屬的存取控管選項,精準管理安全機制,進而降低風險。透過這種模式保護網頁應用程式時,不必設定存取控管清單 (ACL),只要設定 IP 範圍,即可迅速導入零信任做法,不會影響安全性。從架構層面來看,提供零信任存取機制的主要元件是:
在本實驗室,您會將範例應用程式部署至 App Engine、使用 Identity-Aware Proxy (IAP) 強制執行政策,並取得使用者身分資訊,提供給受 IAP 保護的應用程式。
具備 Python 程式設計語言的基本知識
請詳閱以下操作說明。實驗室活動會計時,且中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。
您將在真正的雲端環境完成實作實驗室活動,而不是模擬或示範環境。為此,我們會提供新的暫時憑證,供您在實驗室活動期間登入及存取 Google Cloud。
為了順利完成這個實驗室,請先確認:
點選「Start Lab」按鈕。如果實驗室會產生費用,畫面上會出現選擇付款方式的對話方塊。左側的「Lab Details」窗格會顯示下列項目:
點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也能按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。
接著,實驗室會啟動相關資源,並開啟另一個分頁,顯示「登入」頁面。
提示:您可以在不同的視窗中並排開啟分頁。
如有必要,請將下方的 Username 貼到「登入」對話方塊。
您也可以在「Lab Details」窗格找到 Username。
點選「下一步」。
複製下方的 Password,並貼到「歡迎使用」對話方塊。
您也可以在「Lab Details」窗格找到 Password。
點選「下一步」。
按過後續的所有頁面:
Google Cloud 控制台稍後會在這個分頁開啟。
Cloud Shell 是搭載多項開發工具的虛擬機器,提供永久的 5 GB 主目錄,而且在 Google Cloud 中運作。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。
點按 Google Cloud 控制台頂端的「啟用 Cloud Shell」圖示 。
系統顯示視窗時,請按照下列步驟操作:
連線建立完成即代表已通過驗證,而且專案已設為您的 Project_ID:
gcloud 是 Google Cloud 的指令列工具,已預先安裝於 Cloud Shell,並支援 Tab 鍵自動完成功能。
輸出內容:
輸出內容:
gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南。
您要透過 Google App Engine 建構簡單的網頁應用程式,並靈活運用 Identity-Aware Proxy 限制應用程式存取權,以及向應用程式提供使用者身分資訊。您的應用程式將會:
這是以 Python 3.8 編寫的 App Engine 標準環境應用程式,只會顯示「Hello, world」歡迎頁面。您將部署並測試應用程式,然後使用 IAP 限制相關存取權。
應用程式程式碼位於 main.py 檔案中。這個檔案採用 Flask 網頁框架,會透過範本內容回應網頁要求。該範本檔案位於 templates/index.html,在這個步驟中僅包含純 HTML。第二個範本檔案則位於 templates/privacy.html,內含簡略的隱私權政策範例。
另外還有兩個檔案:一個是 requirements.txt,當中列出應用程式使用的所有非預設 Python 程式庫,另一個是 app.yaml,用來指示 Google Cloud Platform 這是 Python 3.8 App Engine 應用程式。
您可以在 Cloud Shell 使用 cat 指令列出各個檔案:
您也能點選 Cloud Shell 視窗右上方的「編輯」圖示 ,開啟 Cloud Shell 程式碼編輯器,待載入後即可檢查程式碼。
在這個步驟中,不必變更任何檔案。
接下來,要將應用程式部署至 Python 3.8 適用的 App Engine 標準環境。
系統詢問是否要繼續時,請輸入 Y 表示同意。
1-HelloWorld 資料夾中的 app.yaml 檔案,並更新執行階段 Python 版本。系統詢問是否要繼續時,請輸入 Y 並按下 Enter 鍵。
部署作業會在幾分鐘內完成,屆時畫面上將出現訊息,提示您使用下列指令查看應用程式:
點選「Check my progress」,確認目標已達成。
依序選取「導覽選單」圖示 >「查看所有產品」>「安全性」>「Identity-Aware Proxy」,然後依序點選「啟用 API」按鈕 >「前往 Identity-Aware Proxy」。
依序點選「導覽選單」圖示 >「API 和服務」>「OAuth 同意畫面」,為專案設定 OAuth 同意畫面。
在「OAuth 總覽」頁面點選「開始」,並在「應用程式名稱」欄位輸入 IAP Example。
提供使用者支援電子郵件地址:
在「Audience Type」部分選取「內部」,然後點選「下一步」。
在「聯絡資訊」部分,輸入與步驟 4 相同的電子郵件地址,然後點選「下一步」。
在「完成」部分,勾選「Accept terms and conditions」核取方塊後,即可點選「建立」。
返回第一個瀏覽器分頁,在 Cloud Shell 執行下列指令:
請複製指令輸出的網址,稍後會用來填寫 OAuth 同意畫面分頁的表單。
在「OAuth 總覽」頁面,點選「Create Auth Client」,然後從「應用程式類型」中選取「網頁應用程式」。
在「已授權的重新導向 URI」部分,點選「+ 新增網址」,輸入指令輸出內容中的網址,再點選「建立」。
在另一個分頁,依序點選「導覽選單」圖示 >「查看所有產品」>「安全性」>「Identity-Aware Proxy」。
您可能需要視情況重新整理頁面。
按住 Ctrl/Command 鍵,在 IAP 控制台選取 App Engine 應用程式的網址,即可前往該應用程式。
使用登入表單中列出的學生使用者帳戶登入。
畫面上會隨即顯示訊息,指出您沒有應用程式的存取權。
您已成功使用 IAP 保護應用程式,但尚未指示 IAP 哪些帳戶有存取權。
點選「Check my progress」,確認目標已達成。
依序點選「導覽選單」圖示 >「查看所有產品」>「安全性」>「Identity-Aware Proxy」,返回控制台的「Identity-Aware Proxy」頁面。
勾選 App Engine 應用程式旁的核取方塊,然後在頁面的右側欄點選「新增主體」。
在實驗室控制台的左上方複製 Username,然後貼至「新增主體」輸入框。
依序點選「Cloud IAP」>「受 IAP 保護的網頁應用程式使用者」設定角色。
點選「Check my progress」,確認目標已達成。
不過,IAP 可能會因儲存的登入 Cookie 而未重新確認您的授權,導致畫面仍顯示「You don't have access」頁面。
在這種情況下,請執行下列步驟:
/_gcp_iap/clear_login_cookie,例如 https://iap-example-999999.appspot.com/_gcp_iap/clear_login_cookie。新的「使用 Google 帳戶登入」畫面會隨即顯示,當中列出您的個人帳戶。
完成這些步驟後,IAP 會重新確認存取權限,您現在應該能看到應用程式的主畫面。
應用程式受到 IAP 保護後,即可使用 IAP 在網頁要求標頭提供的身分資訊。在這個步驟,應用程式將取得已登入使用者的電子郵件地址,以及 Google Identity 服務指派給該使用者的永久專屬使用者 ID。系統會在歡迎頁面向使用者顯示這項資料。
2-HelloUser 資料夾中的 app.yaml 檔案,並更新執行階段 Python 版本:系統詢問是否要繼續時,請輸入 Y。
部署作業準備就緒後,輸入下列指令:
如果瀏覽器未開啟新分頁,請將顯示的連結複製到新分頁來開啟。您應該會看到類似下列頁面:
點選「Check my progress」,確認目標已達成。
2-HelloUser 資料夾包含與 1-HelloWorld 資料夾相同的一組檔案,但其中兩個檔案有變更:main.py 和 templates/index.html。該程式已改為檢索 IAP 在要求標頭提供的使用者資訊,而且範本現在也會顯示該項資料。
cat main.py,查看 main.py 檔案的內容。在 main.py 檔案,有兩行程式碼可取得 IAP 提供的身分資料:
X-Goog-Authenticated-User- 標頭是由 IAP 提供,名稱不區分大小寫,您可以依需求全部小寫或大寫。render_template 陳述式現在包含這些值,因此可以顯示:
在 index.html 範本用雙大括號括住名稱,即可顯示這些值:
提供的資料包含 accounts.google.com: 前置字串,顯示資訊來源。應用程式可視需要移除半形冒號等所有內容,藉此取得原始值。
您已學會如何使用 Identity-Aware Proxy (IAP) 保護部署至 Google Cloud 的 HTTP(s) 應用程式。
協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。
使用手冊上次更新日期:2025 年 11 月 12 日
實驗室上次測試日期:2025 年 11 月 12 日
Copyright 2026 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。
此内容目前不可用
一旦可用,我们会通过电子邮件告知您
太好了!
一旦可用,我们会通过电子邮件告知您
一次一个实验
确认结束所有现有实验并开始此实验