落實Data Access稽核,強化GCP雲端安全防線
在一次協助企業客戶進行雲端安全稽核的專案中,我們接到了一通急迫的電話。某部門的應用程式突然出現異常。團隊原本以為可以透過日誌追查異常來源,但當我們登入 GCP Console,查看 Cloud Audit Logs 時,卻發現了關鍵資源的 Data Access Logs 根本未啟用。
儘管 GCP 會預設記錄管理操作(Admin Activity Logs),但對於誰讀取、寫入或刪除資料這類「資料層級」的操作行為,如果未主動啟用 Data Access Logs,就無從得知是誰動了資料。沒有這些日誌紀錄,整個事件的來龍去脈只能靠猜測與交叉比對環境推論。
更令人擔憂的是,這家公司即將接受外部稽核,卻連最基本的資料存取軌跡都缺席,顯示他們對於「雲端稽核日誌」的重要性幾乎是全然陌生。
這起事件讓我們深刻意識到,在雲端架構下,未啟用 Data Access Logs,就等同於讓資料在黑箱中運作。GCP 雖然提供了完善的稽核日誌機制,但若沒有正確開啟與規劃,組織將面臨無法復原的風險與合規破口。
GCP 稽核日誌的分類方式
Google Cloud 的 Cloud Audit Logs(雲端稽核日誌)可以從兩個角度來分類:
【從用途分類】常見的總覽方式如下(三大類):
類型 | 說明 | 預設狀態 |
Admin Activity Logs | 記錄資源的管理操作,例如建立、刪除 VM、修改 IAM。 | 預設啟用,不可關閉 |
Data Access Logs | 記錄對資料的存取行為,如讀取或寫入 GCS、BigQuery。 | 預設關閉,需手動開啟 |
System Event Logs | 系統層級的事件,如自動重啟、節點遷移。 | 自動啟用 |
【從資料存取行為細分】Data Access Logs 的子類型分類方式:
類型 | 說明 | 預設狀態 | 建議用途 |
Admin Read | 讀取型管理操作,例如誰查看了 IAM 設定、API 設定頁面。 | 預設啟用 | 監控誰檢查了關鍵設定 |
Data Read | 資料讀取行為,例如誰讀取了 Storage、BQ 資料。 | 預設關閉 | 機密資料讀取稽核 |
Data Write | 資料寫入/變更行為,例如誰寫入、刪除、修改了資料。 | 預設關閉 | 關鍵資料變動追蹤 |
GCP Cloud Audit Logs(雲端稽核日誌)預設畫面:

本次實作步驟如下:
【一】使用 GCE 預設服務將圖檔上傳至 GCS
◆ 模擬實際應用中對資料進行寫入的操作。
【二】透過 Cloud Logging 查找關鍵稽核記錄
◆ 確認上傳行為是否有對應日誌產出。
【三】啟用 Data Access Logs 的資料讀取與資料寫入項目
◆ 手動開啟預設未啟用的日誌類型,以捕捉後續操作紀錄。
【四】再次測試並查詢 Cloud Logging 中的操作記錄
◆ 比較啟用前後日誌內容差異,驗證稽核功能是否正常運作。
【五】分享實作完成後的心得與建議
◆ 總結啟用 Data Access Logs 的效益與注意事項。
【一】使用 GCE 預設服務將圖檔上傳至 GCS
1.創建GCE (name:gce-2025)
2.創建GCS (name:gcs-2025)
3.登入GCE並完成上傳image01.png至GCS (gsutil cp image01.png gs://gcs-2025)

【二】透過 Cloud Logging 查找關鍵稽核記錄
1.進入Cloud Logging
2.於Logs Explorer輸入protoPayload.resourceName:"projects/_/buckets/gcs-2025/objects/image01.png"
3.確認無Log資訊

【三】啟用 Data Access Logs 的資料讀取與資料寫入項目
1.進入IAM -> 稽核紀錄 -> 搜尋Storage
2.將Google Cloud Storage 〔資料讀取〕與〔資料寫入〕皆勾選並儲存(預設只有勾選管理員讀取)

【四】再次測試並查詢 Cloud Logging 中的操作記錄
1.登入GCE並完成移除與上傳image01.png至GCS
移除(gsutil rm gs://gcs-2025/image01.png)
上傳(gsutil cp image01.png gs://gcs-2025)
2.於Logs Explorer輸入protoPayload.resourceName:"projects/_/buckets/gcs-2025/objects/image01.png"
3.確認有Log資訊


【五】分享實作完成後的心得與建議
透過本次實作,我們明顯看出啟用 Data Access Logs 前後的差異。在尚未啟用的情況下,僅能看到管理層級的基本事件,無法追蹤實際資料存取行為;而啟用後,具體的讀寫操作便能清楚記錄,讓問題排查與稽核過程更具依據。
值得注意的是,GCP 預設並不啟用 Data Access Logs,這其實是出於以下幾項考量:
•控制儲存成本:資料存取操作頻繁,若預設開啟,容易產生大量日誌,占用儲存空間並產生額外費用。
•避免影響效能:全面啟用資料層級記錄可能影響日誌系統效能,GCP 選擇讓使用者依需求啟用,以保留彈性。
•符合共擔責任模型:GCP 提供功能,但是否啟用、如何配置,仍需使用者自行依風險與合規需求評估。
因此,在操作過程中也整理出幾項實作上的注意事項:
•需手動開啟:建議針對關鍵資源(如 GCS)主動啟用。
•記得查對日誌類型與時間範圍:啟用後需等待一段時間,查詢時也要選擇正確的日誌類別。
•關注日誌產生量:依存取頻率日誌量可能快速累積,建議搭配儲存期限與過濾策略。
總結來說,Data Access Logs 是雲端環境中關鍵的可視化與稽核工具。雖然預設未啟用,但只要正確配置,就能有效強化資料安全防線,降低日後調查與合規風險。