本頁面提供的是補充資訊,說明如何搭配使用Cloud 稽核記錄與 Compute Engine。使用 Cloud 稽核記錄,可產生在 Google Compute Engine 中執行的 API 操作的記錄。
稽核記錄與活動記錄不同。稽核記錄可協助您判定從事活動的人員、內容、地點及時間。具體而言,稽核記錄可追蹤 Compute Engine 資源在 Google Cloud Platform 專案當中的修改和存取情況,以供稽核之用。活動記錄則是追蹤對專案造成影響的特定事件 (包括會變更資源及系統事件狀態的 API 呼叫),但不會傳回授權資訊、API 請求資訊或 API 回應。活動記錄亦不包含任何唯讀作業。
記錄資訊
Cloud 稽核記錄會傳回三種類型的記錄:
管理員活動記錄:其中項目記錄的是修改 Computer Engine 資源的設定或中繼資料的操作。諸如建立、刪除、更新等修改資源的 API 呼叫,或是使用自訂動詞修改資源的 API 呼叫,皆屬於此類別。
系統事件記錄:包含 Compute Engine 資源系統維護作業的記錄項目。
資料存取記錄:包含執行唯讀作業的作業記錄項目,這類作業不會修改任何資料,例如 get、list、aggregated list 等方法。有別於其他服務的稽核記錄,Compute Engine 僅具有
ADMIN_READ
的資料存取記錄,且通常不會提供DATA_READ
和DATA_WRITE
的記錄。這是因為僅有會儲存和管理使者資料的服務才會用到DATA_READ
和DATA_WRITE
記錄 (例如 Cloud Storage、Cloud Spanner 和 Cloud SQL),而 Cloud ML Engine 則不適用。此規則有個例外情況:instance.getSerialPortOutput
會產生DATA_READ
記錄,因為該方法會直接從 VM 執行個體讀取資料。
下表大致列出了各種 Compute Engine 操作分屬何種記錄類型:
記錄項目類型 | 子類型 | 作業 |
---|---|---|
管理員活動 | 無 |
|
系統事件 | 無 |
|
資料存取 | ADMIN_READ |
|
DATA_READ |
取得序列埠主控台的內容 |
Compute Engine 記錄會使用 AuditLog
物件,且使用的格式與其他 Cloud 稽核記錄相同。記錄包含以下資訊:
- 發出要求的使用者,包括該使用者的電子郵件地址。
- 發出要求的資源名稱。
- 要求的結果。
記錄設定
根據預設,系統會記錄管理員活動和系統事件記錄。這些記錄不會計入您的記錄擷取配額之中。
根據預設,系統不會記錄資料存取記錄,因此這些記錄會計入您的記錄擷取配額之中。如要瞭解如何啟用資料存取權類型的作業記錄,請參閱設定資料存取記錄一文。
存取記錄
下列使用者可查看管理員活動和系統事件記錄:
- 專案擁有者、編輯者和檢視者。
- 具有記錄檢視者這種身分與存取權管理角色的使用者。
- 具有
logging.logEntries.list
身分與存取權管理權限的使用者。
下列使用者可檢視資料存取記錄:
- 專案擁有者
- 具有私密記錄檢視者這種身分與存取權管理角色的使用者。
- 具有
logging.privateLogEntries.list
身分與存取權管理權限的使用者。
如需授予存取權的操作說明,請參閱將身分與存取權管理成員新增至專案一文。
查看記錄
您可在 Google Cloud Platform 主控台的活動訊息串中,檢視專案稽核記錄的摘要。如需更詳細的記錄版本,請參閱記錄檢視器。
如需記錄檢視器的篩選記錄操作說明,請參閱 Cloud 稽核記錄指南一文。
稽核記錄中的資料遮蓋
API 動作執行過後,稽核記錄會將其要求和回應資料記錄下來。但在以下情況中,不會提供要求或回應的資訊,或會將資料遮蓋:
- 對於
instance.setMetadata
和project.setCommonInstanceMetadata
的 API 要求,系統會遮蓋要求主體的中繼資料部分,以免記錄到中繼資料內傳送的機密資訊。 - 系統會遮蓋要求中的機密欄位,例如 SSL 憑證的私人金鑰,以及客戶提供的磁碟加密金鑰。
- 對於 get 和 list 的回應,系統會遮蓋回應主體,以免記錄到私人資訊。
後續步驟
- 參閱 Stackdriver Logging。
- 瞭解活動記錄。