实验设置说明和要求
保护您的账号和进度。请务必在无痕浏览器窗口中,使用实验凭证运行此实验。

使用 BigQuery 分析稽核記錄

实验 1 小时 30 分钟 universal_currency_alt 5 积分 show_chart 入门级
info 此实验可能会提供 AI 工具来支持您学习。
此内容尚未针对移动设备进行优化。
为获得最佳体验,请在桌面设备上访问通过电子邮件发送的链接。
「重要提醒」圖示 重要提醒:

「桌機/筆電」圖示 請務必使用桌機/筆電完成這個實作實驗室。

「勾選」圖示 每個實驗室都只有 5 次嘗試機會。

「測驗目標」圖示 提醒:第一次嘗試時,不一定能全部答對,甚至可能需要重做,這是正常的過程。

「計時器」圖示 實驗室活動開始後,計時器無法暫停。實驗室會在 1 小時 30 分鐘後結束,如果您沒做完,就必須重新開始。

「提示」圖示 您可查看實驗室技術提示瞭解詳情。

活動總覽

Google Cloud 服務會寫入稽核記錄,記錄 Google Cloud 資源中的管理活動和存取動作。稽核記錄項目可協助您瞭解 Google Cloud 專案中相關人事時地物的問題。啟用稽核記錄功能後,安全性、稽核和法規遵循實體就能監控 Google Cloud 資料與系統,防範可能的安全漏洞或外部資料濫用情形。

在這個實驗室,您將調查稽核記錄,找出涉及雲端資源的可疑活動模式。

情境

Cymbal Bank 已正式遷移至混合雲解決方案,並成功在新雲端環境部署工作流程。然而,資安工程團隊接獲通知,指出有數個雲端資源出現未經授權的存取行為,且警告的嚴重性極高。這項消息令人憂心,因為惡意人士可能會利用遭入侵的雲端資源竊取資料,並對其他系統發動攻擊。這是您第一次遇到安全事件。您的團隊主管 Chloe 認為,這是學習事件應變程序和流程的絕佳機會。您被指派跟著資安工程部門的事件應變團隊成員 Hannah 學習,觀察她如何處理事件。Hannah 已提供警告記錄的存取權,您將使用這些記錄調查惡意活動。為了進一步瞭解這起安全事件,您已設定測試環境來重現事件並分析相關構件。您將使用兩個不同的使用者帳戶:一個帳戶會產生惡意活動,另一個帳戶則用於調查。

以下說明如何完成這項工作。首先,您要從第一個使用者帳戶產生活動,重現安全事件,然後將匯出記錄用於進一步分析。接著,您將繼續重現事件,並產生額外的使用者活動。最後,您將使用 BigQuery 分析記錄檔。

設定

點選「Start Lab」之前

請詳閱下列操作說明。實驗室活動會計時,中途無法暫停。點選「Start Lab」後就會開始計時,顯示可使用 Google Cloud 資源的時間。

您會在實際雲端環境完成實驗室活動,而非模擬或示範環境。因此,我們會提供新的臨時憑證,讓您在實驗室活動期間登入及存取 Google Cloud。

如要順利完成這個實驗室活動,請先確認:

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

如何啟動實驗室環境及登入 Google Cloud 控制台

  1. 點選「Start Lab」按鈕。左側的「Lab Details」面板會顯示下列項目:

    • 剩餘時間
    • 「Open Google Cloud console」按鈕
    • 這個實驗室中應使用的暫時憑證
    • 完成這個實驗室所需的其他資訊 (如有)
    注意:如果實驗室會產生費用,畫面中會出現選擇付款方式的彈出式視窗。
  2. 點選「Open Google Cloud console」;如果使用 Chrome 瀏覽器,也可以按一下滑鼠右鍵,選取「在無痕視窗中開啟連結」。「登入」頁面會在新的瀏覽器分頁開啟。

    提示:為方便切換,可以將分頁安排在不同的視窗並排顯示。

    注意:如果顯示「選擇帳戶」對話方塊,請點選「使用其他帳戶」
  3. 如有需要,請複製下方的 Google Cloud 使用者名稱,然後貼到「登入」對話方塊。點選「下一步」

{{{user_0.username | "Google Cloud username"}}}

您也可以在「Lab Details」面板找到 Google Cloud 使用者名稱

  1. 複製下方的 Google Cloud 密碼,並貼到「歡迎使用」對話方塊。點選「下一步」
{{{user_0.password | "Google Cloud password"}}}

您也可以在「Lab Details」面板找到 Google Cloud 密碼

重要事項:請務必使用實驗室提供的憑證,而非自己的 Google Cloud 帳戶憑證。 注意:在這個實驗室中使用自己的 Google Cloud 帳戶,可能會產生額外費用。
  1. 繼續點選後續頁面:
    • 接受條款及細則。
    • 由於這是臨時帳戶,請勿新增救援選項或雙重驗證機制。
    • 請勿申請免費試用。

Cloud 控制台稍後會在這個分頁中開啟。

注意事項:點選畫面左上方的導覽選單,即可查看 Google Cloud 產品與服務清單。Google Cloud 控制台選單:展示導覽選單圖示

啟用 Cloud Shell

Cloud Shell 是一套線上開發與作業環境,可透過瀏覽器隨時隨地存取。Cloud Shell 提供指令列存取權,方便您使用 Google Cloud 資源。

  1. 點按 Google Cloud 控制台右上方的「啟用 Cloud Shell」圖示 「啟用 Cloud Shell」圖示。您可能需要點選「繼續」

Cloud Shell 啟動後,您會看到訊息顯示這個工作階段的 Google Cloud 專案 ID:

您在本工作階段的 Cloud Platform 專案會設為「YOUR_PROJECT_ID」

Google Cloud 的指令列工具 gcloud 已預先安裝於 Cloud Shell,且提供 Tab 鍵完成功能。如要存取 Google Cloud,必須先授權 gcloud。

  1. 執行下列指令,列出目前使用的帳戶名稱:
gcloud auth list
  1. 系統會顯示彈出式視窗,要求您「授權 Cloud Shell」。點選「授權」

  2. 輸出畫面應如下所示:

輸出內容:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. 使用下列指令列出專案 ID:
gcloud config list project

輸出內容範例:

[core] project = qwiklabs-gcp-44776a13dea667a6 附註:如須有關 gcloud 的完整說明,請前往 Google Cloud 參閱 gcloud CLI 總覽指南

工作 1:產生帳戶活動

注意:請確認您目前位於 username 1:Google Cloud 控制台。

在這項工作,您將建立及刪除雲端資源,產生帳戶活動,並以 Cloud 稽核記錄的形式存取這些活動。

  1. 將下列指令複製到 Cloud Shell 終端機:
gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID echo "this is a sample file" > sample.txt gcloud storage cp sample.txt gs://$DEVSHELL_PROJECT_ID gcloud compute networks create mynetwork --subnet-mode=auto export ZONE=$(gcloud compute project-info describe \ --format="value(commonInstanceMetadata.items[google-compute-default-zone])") gcloud compute instances create default-us-vm \ --machine-type=e2-micro \ --zone=$ZONE --network=mynetwork gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID
  1. 按下 Enter 鍵。

點選「Check my progress」,確認工作已正確完成。 產生帳戶活動

工作 2:匯出稽核記錄

注意:請確認您目前位於 username 1:Google Cloud 控制台。

您在前一項工作產生的活動已列入稽核記錄。在這項工作,您會將這些記錄匯出至 BigQuery 資料集,用於進一步分析。

  1. 前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入 Logs Explorer,然後在搜尋結果點選「Logs Explorer」。Logs Explorer 頁面就會開啟。
  2. 點按「Observability Logging」旁邊的「固定」
  3. 匯出記錄時,系統會將目前的篩選器套用至匯出的內容。將下列查詢複製到「查詢建立工具」
logName = ("projects/{{{project_0.project_id | Project ID}}}/logs/cloudaudit.googleapis.com%2Factivity")
  1. 點選「執行查詢」。查詢結果應會顯示在「查詢結果」窗格。這個查詢會篩選專案中的 Cloud 稽核記錄。
  2. 在「查詢編輯器」欄位下方,依序點選「動作」>「建立接收器」。「建立記錄檔轉送接收器」對話方塊隨即開啟。
注意:如果瀏覽器視窗較窄,使用者介面可能會顯示「更多」,而不是「更多動作」
  1. 在「建立記錄檔轉送接收器」對話方塊,指定下列設定,其餘設定請保留預設值:
區段 欄位: 值
接收器詳細資料 接收器名稱:AuditLogsExport
點選「下一步」
接收器目的地 「選取接收器服務」:BigQuery 資料集
「選取 BigQuery 資料集」:建立新的 BigQuery 資料集。
「建立資料集」對話方塊會隨即開啟
建立資料集 「資料集 ID」:auditlogs_dataset
點選「建立資料集」
「建立資料集」對話方塊會關閉,您將返回「接收器目的地」對話方塊。
接收器目的地 點選「下一步」
如果已勾選「使用分區資料表」核取方塊,請取消勾選,然後點選「下一步」
選擇要納入接收器的記錄檔 您會發現已預先填入「建立『包含』篩選器」:logName=("projects/[PROJECT ID]/logs/cloudaudit.googleapis.com%2Factivity")
點選「下一步」
按一下「建立接收器」
返回「Logs Explorer」頁面。
  1. 在「記錄」導覽窗格,點選「記錄路由器」,在「記錄路由器接收器」清單查看 AuditLogsExport 接收器。
  2. AuditLogsExport 接收器旁邊,依序點選「更多動作」圖示 「更多」圖示 >「查看接收器詳細資料」,即可查看您建立的 AuditLogsExport 接收器相關資訊。「接收器詳細資料」對話方塊隨即開啟。
  3. 查看完接收器資訊後,按一下「取消」,關閉「接收器詳細資料」對話方塊。

之後所有記錄都會匯出至 BigQuery,您可以使用 BigQuery 工具分析稽核記錄資料,但已有的記錄項目不會匯出。

點選「Check my progress」,確認工作已正確完成。 匯出稽核記錄

工作 3:產生更多帳戶活動

注意:請確認您目前位於 username 1:Google Cloud 控制台。

在這項工作,您將建立及刪除雲端資源,產生額外的帳戶活動,然後在 BigQuery 存取這些活動,從記錄檔擷取進一步洞察資訊。

  1. 將下列指令複製到 Cloud Shell 終端機:
gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID gcloud storage buckets create gs://$DEVSHELL_PROJECT_ID-test echo "this is another sample file" > sample2.txt gcloud storage cp sample.txt gs://$DEVSHELL_PROJECT_ID-test export ZONE=$(gcloud compute project-info describe \ --format="value(commonInstanceMetadata.items[google-compute-default-zone])") gcloud compute instances delete --zone=$ZONE \ --delete-disks=all default-us-vm

這些指令會產生更多活動,方便您在匯出至 BigQuery 的稽核記錄中查看。

  1. 按下 Enter 鍵。

系統提示時,請輸入 Y 並按下 Enter 鍵。您會發現自己建立了兩個 bucket,並刪除了一個 Compute Engine 執行個體。

  1. 幾分鐘後,系統會顯示提示,請在 Cloud Shell 終端機輸入下列指令:
gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID gcloud storage rm --recursive gs://$DEVSHELL_PROJECT_ID-test
  1. 按下 Enter 鍵。

您會發現兩個 bucket 都已刪除。

點選「Check my progress」,確認工作已正確完成。 產生更多帳戶活動

工作 4:以第二位使用者的身分登入

您需要在 Google Cloud 控制台切換 Google Cloud 帳戶,登入「Lab Details」面板中提供的第二個使用者帳戶,用這個帳戶分析記錄。

  1. 在 Google Cloud 控制台,點選畫面右上角的使用者圖示,然後按一下「新增帳戶」
  2. 返回「Lab Details」面板,複製 Google Cloud username 2 密碼。接著將使用者名稱和密碼貼到 Google Cloud 控制台的「登入」對話方塊。

工作 5:分析管理員活動記錄

注意:請確認您目前位於 username 2:Google Cloud 控制台。

在這項工作,您將查看前一項工作產生的管理員活動記錄。您的目標是找出並套用篩選器,隔離可能指出可疑活動的記錄。這樣就能匯出這部分記錄,簡化分析程序,找出潛在問題。

管理員活動記錄檔的項目中,包含 API 呼叫,還有其他修改設定或資源中繼資料的管理動作。例如:當建立 VM 執行個體與 App Engine 應用程式,以及變更權限時,系統都會建立記錄。

注意:您可以在記錄檢視器、Cloud Logging 和 Cloud SDK 查看稽核記錄項目,也能將項目匯出至 Pub/Sub、BigQuery 或 Cloud Storage。
  1. 前往 Google Cloud 控制台,在標題列的「搜尋」欄位輸入 Logs Explorer,然後在搜尋結果點選「Logs Explorer」。Logs Explorer 頁面就會開啟。
  2. 點按「Observability Logging」旁邊的「固定」
  3. 確認「顯示查詢」切換鈕已啟用。系統會開啟「查詢建立工具」欄位。
  4. 將下列指令複製並貼到「查詢建立工具」欄位。請注意指令中的 Google Cloud 專案 ID 和專案 ID。
logName = ("projects/{{{project_0.project_id | "PROJECT_ID"}}}/logs/cloudaudit.googleapis.com%2Factivity")
  1. 點選「執行查詢」
  2. 在「查詢結果」找到含有 storage.buckets.delete 摘要欄位的記錄項目,這表示有 Cloud Storage bucket 遭刪除。記錄結果包含摘要欄位,用來顯示記錄項目的重要資訊。

這筆項目是指 storage.googleapis.com 呼叫 storage.buckets.delete 方法將 bucket 刪除。bucket 名稱與專案 ID 相同:

  1. 點選這筆項目中的「storage.googleapis.com」文字,然後選取「顯示相符的項目」。「查詢結果」現在應該只會顯示和已建立/刪除 Cloud Storage bucket 有關的六筆項目。
  2. 在查詢編輯器欄位,您會看到查詢建立工具新增了 protoPayload.serviceName="storage.googleapis.com" 這行,這會將查詢篩選到只包含符合 storage.googleapis.com 的項目。
  3. 在查詢結果中,點按其中一筆項目的「storage.buckets.delete」,然後選取「顯示相符的項目」

您會發現「查詢建立工具」文字中新增了一行:

logName = ("projects/{{{project_0.project_id | "PROJECT_ID"}}}/logs/cloudaudit.googleapis.com%2Factivity") protoPayload.serviceName="storage.googleapis.com" protoPayload.methodName="storage.buckets.delete"

「查詢結果」現在應該會顯示與已刪除 Cloud Storage bucket 相關的所有項目。您可以使用這個技巧輕鬆找出特定事件。

  1. 在「查詢結果」,點選「storage.buckets.delete」事件行旁的展開箭頭 >

buckets_delete_log

  1. 再點按該行旁的展開箭頭 >,展開 authenticatitonInfo 欄位:

authenticatitonInfo

請注意 principalEmail 欄位,這裡會顯示執行這項動作的使用者帳戶電子郵件地址,也就是您用來產生使用者活動的使用者 1 帳戶。

工作 6:使用 BigQuery 分析稽核記錄

注意:請確認您目前位於 username 2:Google Cloud 控制台。

您已產生記錄並匯出至 BigQuery 資料集。在這項工作,您將使用查詢編輯器分析記錄。

注意:將記錄檔匯出至 BigQuery 資料集時,Cloud Logging 會建立有日期的資料表,以保留匯出的記錄項目。系統會將記錄項目放在資料表,這些資料表是根據項目的記錄檔名稱來命名。

開啟 BigQuery 控制台

  1. 前往 Google Cloud 控制台,點選「導覽選單」中的「BigQuery」
    畫面會顯示「歡迎使用 Cloud 控制台中的 BigQuery」對話方塊,其中包含快速入門指南的連結和使用者介面更新內容。

  2. 按一下「完成」,關閉對話方塊。

  1. 在「傳統版 Explorer」窗格,點選專案 () 旁的展開箭頭。auditlogs_dataset 資料集隨即顯示。
注意:如果未顯示 auditlogs_dataset,請重新載入瀏覽器視窗。

接著,確認 BigQuery 資料集具備適當權限,可讓匯出寫入者儲存記錄項目。

  1. 點選 auditlogs_dataset 資料集。

  2. 在 auditlogs_dataset 工具列,點選「共用」下拉式選單,然後選取「管理權限」

  3. 在「Share permission for "auditlogs_dataset"」頁面,展開「BigQuery 資料編輯者」部分。

  4. 確認用於匯出記錄的服務帳戶已列入權限清單。服務帳戶類似 service-xxxxxxxx@gcp-sa-logging.iam.gserviceaccount.com

    設定記錄匯出功能時,系統會自動指派這項權限,因此可用來確認記錄匯出功能是否已設定完成。

  5. 點選「關閉」,關閉「分享資料集」視窗。

  6. 在「傳統版 Explorer」窗格,點選 auditlogs_dataset 資料集旁的展開箭頭,查看 cloudaudit_googleapis_com_acitivty 資料表。這個資料表包含匯出的記錄檔。

  7. 選取 cloudaudit_googleapis_com_activity 資料表。系統會顯示資料表結構定義。請花點時間查看資料表結構定義和詳細資料。

  8. 展開「開啟方式」下拉式選單,然後依序選取「SQL 查詢」>「新分頁」

query_drop_down

  1. 在查詢建立工具的「未命名的查詢」分頁,刪除所有現有文字,然後複製貼上下列指令:
SELECT timestamp, resource.labels.instance_id, protopayload_auditlog.authenticationInfo.principalEmail, protopayload_auditlog.resourceName, protopayload_auditlog.methodName FROM `auditlogs_dataset.cloudaudit_googleapis_com_activity_*` WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND CURRENT_DATE() AND resource.type = "gce_instance" AND operation.first IS TRUE AND protopayload_auditlog.methodName = "v1.compute.instances.delete" ORDER BY timestamp, resource.labels.instance_id LIMIT 1000;

這個查詢會傳回過去 7 天內刪除虛擬機器的使用者。

  1. 按一下「執行」

幾秒後,BigQuery 會傳回過去 7 天內,使用者刪除 Compute Engine 虛擬機器的所有記錄。您應該會看到一筆項目,也就是您在先前工作中以使用者 1 身分產生的活動。請注意,BigQuery 只會顯示您建立匯出作業以後的活動。

  1. 在「未命名的查詢」分頁,將先前的查詢換成下列內容:
SELECT timestamp, resource.labels.bucket_name, protopayload_auditlog.authenticationInfo.principalEmail, protopayload_auditlog.resourceName, protopayload_auditlog.methodName FROM `auditlogs_dataset.cloudaudit_googleapis_com_activity_*` WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND CURRENT_DATE() AND resource.type = "gcs_bucket" AND protopayload_auditlog.methodName = "storage.buckets.delete" ORDER BY timestamp, resource.labels.instance_id LIMIT 1000;

這項查詢會傳回過去 7 天內,曾刪除 Cloud Storage bucket 的使用者。您應該會看到兩筆項目,這是您在先前工作中以使用者 1 身分產生的活動。

  1. 按一下「執行」

BigQuery 分析稽核記錄的功能非常強大。在這個活動,我們只示範了兩種稽核記錄的查詢方式。

點選「Check my progress」,確認工作已正確完成。 使用 BigQuery 分析稽核記錄

結論

太棒了!您已在 Logs Explorer 成功執行查詢、匯出記錄並建立資料集,在 BigQuery 分析。

您還學會如何使用稽核記錄,篩選惡意活動類型,然後在 BigQuery 進一步解讀這些記錄來分析威脅。

關閉實驗室

結束實驗室前,請確認已完成所有工作。如果已確定完成,請依序點選「End Lab」和「Submit」

關閉實驗室後,就無法進入實驗室環境,也無法再次存取在實驗室完成的工作。

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

准备工作

  1. 实验会创建一个 Google Cloud 项目和一些资源,供您使用限定的一段时间
  2. 实验有时间限制,并且没有暂停功能。如果您中途结束实验,则必须重新开始。
  3. 在屏幕左上角,点击开始实验即可开始

使用无痕浏览模式

  1. 复制系统为实验提供的用户名密码
  2. 在无痕浏览模式下,点击打开控制台

登录控制台

  1. 使用您的实验凭证登录。使用其他凭证可能会导致错误或产生费用。
  2. 接受条款,并跳过恢复资源页面
  3. 除非您已完成此实验或想要重新开始,否则请勿点击结束实验,因为点击后系统会清除您的工作并移除该项目

此内容目前不可用

一旦可用,我们会通过电子邮件告知您

太好了!

一旦可用,我们会通过电子邮件告知您

一次一个实验

确认结束所有现有实验并开始此实验

使用无痕浏览模式运行实验

使用无痕模式或无痕浏览器窗口是运行此实验的最佳方式。这可以避免您的个人账号与学生账号之间发生冲突,这种冲突可能导致您的个人账号产生额外费用。