arrow_back

在 Google Cloud 中應用雲端安全性基礎知識:挑戰實驗室

登录 加入
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

在 Google Cloud 中應用雲端安全性基礎知識:挑戰實驗室

Lab 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 中级
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP342

Google Cloud 自修研究室標誌

總覽

在挑戰研究室中,您會在特定情境下完成一系列任務。挑戰研究室不會提供逐步說明,您將運用從課程研究室學到的技巧,自行找出方法完成任務!自動評分系統 (如本頁所示) 將根據您是否正確完成任務來提供意見回饋。

在您完成任務的期間,挑戰研究室不會介紹新的 Google Cloud 概念。您須靈活運用所學技巧,例如變更預設值或詳讀並研究錯誤訊息,解決遇到的問題。

若想滿分達標,就必須在時限內成功完成所有任務!

這個實驗室適合已參加 Implement Cloud Security Fundamentals on Google Cloud 技能徽章課程的學員。準備好迎接挑戰了嗎?

測驗主題

  • 建立自訂安全性角色。
  • 建立服務帳戶。
  • 將 IAM 安全性角色繫結至服務帳戶。
  • 在自訂子網路中建立私人 Kubernetes Engine 叢集。
  • 將應用程式部署至私人 Kubernetes Engine 叢集。

設定和需求

點選「Start Lab」按鈕前的須知事項

請詳閱以下操作說明。研究室活動會計時,而且中途無法暫停。點選「Start Lab」 後就會開始計時,讓您瞭解有多少時間可以使用 Google Cloud 資源。

您將在真正的雲端環境中完成實作研究室活動,而不是在模擬或示範環境。為達此目的,我們會提供新的暫時憑證,讓您用來在研究室活動期間登入及存取 Google Cloud。

如要完成這個研究室活動,請先確認:

  • 您可以使用標準的網際網路瀏覽器 (Chrome 瀏覽器為佳)。
注意:請使用無痕模式或私密瀏覽視窗執行此研究室。這可以防止個人帳戶和學生帳戶之間的衝突,避免個人帳戶產生額外費用。
  • 是時候完成研究室活動了!別忘了,活動一開始將無法暫停。
注意:如果您擁有個人 Google Cloud 帳戶或專案,請勿用於本研究室,以免產生額外費用。

挑戰情境

您是 Jooli 公司新上任的初級資安團隊成員,隸屬於 Orca 開發團隊,負責保護公司應用程式使用的雲端基礎架構和服務的安全。

公司預期您具備執行這些工作所需的技能與知識,因此不會提供逐步指南。

您的挑戰

您接到一項工作,需要部署、設定並測試新的 Kubernetes Engine 叢集,供 Orca 開發團隊進行應用程式開發及管道測試。

您須依照機構最新的安全標準,建構符合下列要求的新 Kubernetes Engine 叢集:

  • 部署叢集時,必須使用設有最低必要權限的專屬服務帳戶。
  • 叢集必須部署為 Kubernetes Engine 私人叢集並停用公開端點,且主要執行個體授權網路設為僅包含 Orca 團隊管理跳板機的 IP 位址。
  • 將 Kubernetes Engine 私人叢集部署至 Orca Build 虛擬私有雲的 orca-build-subnet

您從先前的專案得知,在指定用於 Kubernetes Engine 叢集的服務帳戶中,最低必要權限涵蓋下列三個內建角色:

  • roles/monitoring.viewer
  • roles/monitoring.metricWriter
  • roles/logging.logWriter

以上是 Google Kubernetes Engine (GKE) 的《強化叢集的安全防護機制》指南中,「使用最低權限的 Google 服務帳戶」一節指定的角色。

您須建立自訂角色,以便對開發團隊指定的任何其他服務提供存取權,並將這個自訂角色與上方提到的三個內建角色,繫結至叢集使用的服務帳戶。根據您初步得到的指示,開發團隊希望叢集使用的服務帳戶具備某些必要權限,能新增及更新 Google Cloud Storage 值區物件。因此,您須建立新的自訂 IAM 角色來提供下列權限:

  • storage.buckets.get
  • storage.objects.get
  • storage.objects.list
  • storage.objects.update
  • storage.objects.create

建立新的私人叢集後,您必須從管理子網路 orca-mgmt-subnet 中的跳板機 orca-jumphost 連線至該叢集,來測試其設定是否正確。由於這個運算執行個體所在的子網路與私人叢集不同,您必須確認叢集的主要執行個體授權網路包含跳板機的內部 IP 位址。此外,使用 gcloud container clusters get-credentials 指令擷取叢集憑證時,您須指定 --internal-ip 旗標。

您新建的所有雲端物件和服務,都應包含前置字元「orca-」。

最後一項工作,是驗證叢集能否順利運作。具體而言,您需要將簡單的應用程式部署至叢集,並從 orca-jumphost 運算執行個體使用 kubectl 工具,測試叢集的管理權限是否正常運作。

請使用「」區域和「」可用區,來完成本實驗室的所有工作。

工作 1:建立自訂安全性角色

第一項工作,是建立名為「」的新 IAM 安全性自訂角色。這個角色將提供必要的 Google Cloud Storage 值區和物件權限,供使用者建立及更新儲存空間物件。

確認已建立自訂安全性角色。

工作 2:建立服務帳戶

第二項工作,是建立新私人叢集專用的服務帳戶。該帳戶必須命名為「」。

確認已建立新服務帳戶。

工作 3:將自訂安全性角色繫結至服務帳戶

現在,請將 Kubernetes Engine 叢集服務帳戶所需的 Cloud 作業套件記錄和監控角色,以及您為了提供儲存空間權限而建立的自訂 IAM 角色,繫結至剛才建立的服務帳戶。

確認已將正確的內建角色和自訂安全性角色,繫結至新服務帳戶。

工作 4:建立及設定新的 Kubernetes Engine 私人叢集

現在請使用先前設定的服務帳戶,建立新的 Kubernetes Engine 私人叢集,並完成下列設定:

  • 將叢集命名為「
  • 將叢集部署至子網路 orca-build-subnet
  • 設定叢集使用「」服務帳戶
  • 啟用下列私人叢集選項:enable-master-authorized-networksenable-ip-aliasenable-private-nodesenable-private-endpoint

叢集設定完成後,請將 orca-jumphost 運算執行個體的內部 IP 位址,新增至主要執行個體授權網路清單。

確認已正確部署 Kubernetes Engine 私人叢集。

工作 5:將應用程式部署至私人 Kubernetes Engine 叢集

您有一個可部署至任何叢集的簡易測試應用程式,能快速測試基本容器部署功能是否正常運作,以及使用者能否建立及存取基本服務。現在請設定環境,使用跳板機 orca-jumphost 將這個簡易測試應用程式部署至新叢集。

注意:執行任何 kubectl 指令前,請先確認已正確安裝 gke-gcloud-auth-plugin。詳情請見下方的提示 1 kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0

這會部署應用程式來監聽通訊埠 8080。使用基本負載平衡器服務即可公開這個通訊埠以進行測試。

確認應用程式已部署至私人 Kubernetes Engine 叢集。

提示與秘訣

  • 提示 1:務必使用 gke-gcloud-auth-plugin。您需要這項外掛程式,才能繼續使用 kubectl。執行下列指令即可安裝這項程式,安裝時務必將 GKE 叢集名稱、可用區和專案 ID 替換為您需要的值。
sudo apt-get install google-cloud-sdk-gke-gcloud-auth-plugin echo "export USE_GKE_GCLOUD_AUTH_PLUGIN=True" >> ~/.bashrc source ~/.bashrc gcloud container clusters get-credentials <your cluster name> --internal-ip --project=<project ID> --zone <cluster zone>
  • 提示 2:將 orca-jumphost 機器的內部 IP 位址新增至私人 Kubernetes Engine 叢集的授權位址清單時,務必使用 /32 網路遮罩,以確保只有特定運算執行個體獲得授權。

  • 提示 3:指定 enable-private-endpoint 選項後,如果您所在的虛擬私有雲或其他網路,位於部署 Kubernetes Engine 私人叢集的虛擬私有雲外,就無法直接連線至該叢集。這個選項能為私人叢集提供最高安全性,因此您必須在部署叢集的虛擬私有雲中,使用跳板機或 Proxy 連線至叢集的內部管理 IP 位址。

恭喜!

在本實驗室中,您建立了新 Kubernetes Engine 私人叢集,並為其設定具備最低叢集執行權限的專屬服務帳戶。此外,您也藉由建立自訂 IAM 角色,提供 Google Cloud Storage 值區的儲存空間物件建立及更新權限,並將該角色繫結至叢集使用的服務帳戶。最後,您驗證叢集可以順利運作。在這項工作中,您將簡單的應用程式部署至叢集,並從 orca-jumphost 運算執行個體使用 kubectl 工具,測試叢集的管理權限是否正常運作。

Implement Cloud Security Fundamentals on Google Cloud 徽章

取得下一枚技能徽章

這個自學實驗室是 Implement Cloud Security Fundamentals on Google Cloud 技能徽章課程的一部分。完成這個技能徽章課程即可獲得上方的徽章,表彰您的成就。您可以在履歷表和社群平台張貼徽章,並加上 #GoogleCloudBadge 公開這項成就。

這個技能徽章課程是 Google Cloud 雲端資安工程師學習路徑的一部分。如果您已完成這個學習路徑中的其他技能徽章課程,歡迎瀏覽目錄,尋找其他可以參加的技能徽章課程。

Google Cloud 教育訓練與認證

協助您瞭解如何充分運用 Google Cloud 的技術。我們的課程會介紹專業技能和最佳做法,讓您可以快速掌握要領並持續進修。我們提供從基本到進階等級的訓練課程,並有隨選、線上和虛擬課程等選項,方便您抽空參加。認證可協助您驗證及證明自己在 Google Cloud 技術方面的技能和專業知識。

使用手冊上次更新日期:2024 年 3 月 25 日

實驗室上次測試日期:2023 年 12 月 4 日

Copyright 2024 Google LLC 保留所有權利。Google 和 Google 標誌是 Google LLC 的商標,其他公司和產品名稱則有可能是其關聯公司的商標。