本文提供 Cloud 稽核記錄的概念總覽。
Cloud de Confiance by S3NS 服務會寫入稽核記錄,記錄 Cloud de Confiance 資源中的管理活動和存取動作。稽核記錄可協助您瞭解 Cloud de Confiance 資源中「人事時地物」等問題,透明度與內部部署環境相同。啟用稽核記錄功能後,安全性、稽核和法規遵循實體就能監控Cloud de Confiance 資料與系統,防範可能的安全漏洞或外部資料濫用情形。
Cloud de Confiance by S3NS 產生稽核記錄的服務
如需提供稽核記錄的 Cloud de Confiance 服務清單,請參閱Cloud de Confiance by S3NS 含有稽核記錄的服務。未來所有Cloud de Confiance 服務都會提供稽核記錄。
Google Cloud MCP 伺服器會寫入資料存取稽核記錄。Google Cloud MCP 伺服器 API 呼叫所寫入的資料存取稽核記錄是服務專屬,且採用 SERVICE_NAME.googleapis.com/mcp 格式。如要啟用這些資料存取記錄,請在 IAM AuditConfig 物件中開啟 mcp.googleapis.com 的稽核記錄。如要進一步瞭解 Google Cloud MCP 伺服器的稽核記錄,請參閱「Google Cloud MCP 伺服器稽核記錄」。
必要的角色
如要查看稽核記錄,您必須具備適當的 Identity and Access Management (IAM) 權限和角色:
-
如要取得管理員活動、政策遭拒和系統事件稽核記錄的唯讀存取權,請要求管理員授予您專案的「記錄檢視者 」(
roles/logging.viewer) IAM 角色。如果您只有「記錄檢視者」角色
(roles/logging.viewer),就無法查看_Defaultbucket 中的資料存取稽核記錄。
-
如要取得存取
_Required和_Defaultbucket 中所有記錄 (包括資料存取記錄) 的權限,請要求管理員在專案中授予您「私密記錄檢視者 」(roles/logging.privateLogViewer) IAM 角色。「私密記錄檢視者」角色
(roles/logging.privateLogViewer)包含「記錄檢視者」角色 (roles/logging.viewer) 中的權限,以及讀取_Defaultbucket 中資料存取稽核記錄所需的權限。
如要進一步瞭解適用於稽核記錄資料的 IAM 權限與角色,請參閱「使用 IAM 控管存取」。
稽核記錄類型
Cloud 稽核記錄會為每個Cloud de Confiance 專案、資料夾和機構提供下列稽核記錄:
管理員活動稽核記錄
管理員活動稽核記錄是由使用者驅動的 API 呼叫或其他動作所寫入的記錄項目,這些動作會修改資源的設定或中繼資料。例如,這類記錄會記下使用者於何時建立 VM 執行個體或變更 Identity and Access Management 權限。
系統一律會寫入管理員活動稽核記錄,且該記錄無法設定、排除或停用。即使停用 Cloud Logging API,系統仍會產生管理員活動稽核記錄。
如需會寫入管理員活動稽核記錄的服務清單,以及哪些活動會產生這些記錄的詳細資訊,請參閱Cloud de Confiance by S3NS 含有稽核記錄的服務。
資料存取稽核記錄
資料存取稽核記錄是由 API 呼叫寫入的記錄項目,用於讀取資源的設定或中繼資料。此外,建立、修改或讀取使用者所提供資源資料的使用者驅動 API 呼叫,也會寫入這類記錄。
如果公開資源具有 Identity and Access Management 政策 allAuthenticatedUsers 或 allUsers,就不會產生稽核記錄。如果使用者 Cloud de Confiance 未登入,就無法存取資源,系統不會產生稽核記錄。這有助於保護使用者身分和資訊。
資料存取稽核記錄 (BigQuery 資料存取稽核記錄除外) 預設為停用,因為稽核記錄可能相當龐大。如要為 BigQuery 以外的 Cloud de Confiance 服務寫入「資料存取」稽核記錄,您必須明確加以啟用。資料存取稽核記錄會寫入 Cloud de Confiance 存取資料的專案。啟用這些記錄可能會導致專案產生額外的記錄使用費。 Cloud de Confiance 如要瞭解如何啟用及設定資料存取稽核記錄,請參閱「啟用資料存取稽核記錄」。
如需寫入資料存取稽核記錄的服務清單,以及哪些活動會產生這些記錄的詳細資訊,請參閱Cloud de Confiance by S3NS 含有稽核記錄的服務。
資料存取稽核記錄會儲存在 _Default 記錄 bucket 中,除非您已將記錄傳送至其他位置。詳情請參閱本頁的「儲存及轉送稽核記錄」一節。
系統事件稽核記錄
系統事件稽核記錄是由 Cloud de Confiance 系統寫入的記錄項目,用於記錄資源設定的變更。系統事件稽核記錄不是由使用者直接操作所驅動,舉例來說,如果自動調度資源功能自動在代管執行個體群組 (MIG) 中新增或移除 VM,系統就會寫入系統事件稽核記錄。
系統一律會寫入系統事件稽核記錄,且該記錄無法設定、排除或停用。
如需寫入系統事件稽核記錄的服務清單,以及哪些活動會產生這些記錄的詳細資訊,請參閱Cloud de Confiance by S3NS 含有稽核記錄的服務。
政策遭拒稽核記錄
當 Cloud de Confiance by S3NS 服務因違反安全性政策而拒絕使用者或服務帳戶的存取要求時,系統會寫入「政策遭拒」稽核記錄。
系統預設會產生政策遭拒稽核記錄,且Cloud de Confiance 專案會收取記錄儲存空間費用。您無法停用政策遭拒稽核記錄,但可以使用排除篩選器,防止政策遭拒稽核記錄儲存在 Cloud Logging 中。
如需寫入「拒絕政策」稽核記錄的服務清單,以及哪些活動會產生這些記錄的詳細資訊,請參閱Cloud de Confiance by S3NS 含有稽核記錄的服務。
稽核記錄項目結構
Cloud Logging 中的每個稽核記錄項目都是 LogEntry 類型的物件。稽核記錄項目與其他記錄項目的區別在於 protoPayload 欄位;這個欄位包含儲存稽核記錄資料的 AuditLog 物件。
如要瞭解如何讀取及解讀稽核記錄項目,並查看稽核記錄項目範例,請參閱「瞭解稽核記錄」一文。
記錄檔名稱
Cloud 稽核記錄的記錄名稱包括:
資源 ID,指出擁有稽核記錄的 Cloud de Confiance 專案或其他 Cloud de Confiance 實體。
字串
cloudaudit.googleapis.com。字串,指出記錄是否包含管理員活動、資料存取、政策遭拒或系統事件稽核記錄資料。
以下是稽核記錄名稱,包括資源 ID 的變數:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
稽核記錄中的呼叫端身分
稽核記錄會記錄對Cloud de Confiance 資源執行記錄作業的身分。呼叫端的 ID 會儲存在 AuditLog 物件的 AuthenticationInfo 欄位中。
對於任何成功存取或寫入作業,稽核記錄不會遮蓋呼叫者的主體電子郵件地址。
如果唯讀作業失敗並出現「權限遭拒」錯誤,稽核記錄可能會遮蓋呼叫者的主要電子郵件地址,除非呼叫者是服務帳戶。
除了上述條件外,下列事項適用於特定Cloud de Confiance 服務:
BigQuery:系統會遮蓋稽核記錄中的呼叫者身分和 IP 位址,以及部分資源名稱,除非符合特定條件。
Cloud Storage:啟用 Cloud Storage 使用記錄後,Cloud Storage 會將使用資料寫入 Cloud Storage 值區,並為該值區產生資料存取稽核記錄。產生的資料存取稽核記錄會遮蓋呼叫端身分。
- 機構政策:
來電者電子郵件地址的部分內容可能會經過遮蓋,並以三個半形句點
...取代。
稽核記錄中的呼叫端 IP 位址
呼叫端的 IP 位址會儲存在 AuditLog 物件的 RequestMetadata.callerIp 欄位中:
- 如果是來自網際網路的呼叫端,這會是公開 IPv4 或 IPv6 位址。
- 如果是從內部正式環境網路從一個Cloud de Confiance by S3NS 服務發出呼叫到另一個服務,則
callerIp會經過修訂,顯示為「private」。 - 如果呼叫者是來自具備外部 IP 位址的 Compute Engine VM,則
callerIp是 VM 的外部位址。 - 如果呼叫者來自沒有外部 IP 位址的 Compute Engine VM,且該 VM 與存取的資源位於相同機構或專案,則
callerIp是 VM 的內部 IPv4 位址。否則,callerIp會經過修訂,顯示為「gce-internal-ip」。詳情請參閱「虛擬私有雲網路總覽」。
查看稽核記錄
您可以查詢所有稽核記錄,也可以依稽核記錄名稱查詢記錄檔。稽核記錄名稱包含您要查看稽核記錄資訊的 Cloud de Confiance 專案、資料夾、帳單帳戶或組織的資源 ID。查詢可以指定已建立索引的 LogEntry 欄位。如要進一步瞭解如何查詢記錄檔,請參閱「透過 Logs Explorer 建構查詢」。
使用Cloud de Confiance 控制台、Google Cloud CLI 或 Logging API,在 Cloud Logging 中查看大部分的稽核記錄。不過,如要查看與帳單相關的稽核記錄,只能使用 Google Cloud CLI 或 Logging API。
控制台
在 Cloud de Confiance 控制台中,可以使用 Logs Explorer 擷取 Cloud de Confiance 專案、資料夾或組織的稽核記錄項目:
-
前往 Cloud de Confiance 控制台的 「Logs Explorer」頁面:
如果是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
選取現有的 Cloud de Confiance 專案、資料夾或組織。
如要顯示所有稽核記錄,請在查詢編輯器欄位中輸入下列任一查詢,然後按一下「Run query」(執行查詢):
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
如要顯示特定資源和稽核記錄類型的稽核記錄,請在「Query builder」(查詢建立工具) 窗格中執行下列操作:
在「Resource type」(資源類型) 中,選取要查看稽核記錄的 Cloud de Confiance 資源。
在「Log name」(記錄檔名稱) 中,選取要查看的稽核記錄類型:
- 如要查看管理員活動稽核記錄,請選取「activity」(活動)。
- 如要查看資料存取稽核記錄,請選取「data_access」。
- 如要查看系統事件稽核記錄,請選取「system_event」。
- 如要查看政策遭拒稽核記錄,請選取「policy」(政策)。
按一下「Run query」(執行查詢)。
如果沒有看到這些選項,表示 Cloud de Confiance 專案、資料夾或組織中沒有這類型的稽核記錄。
如果無法在 Logs Explorer 中查看記錄檔,請參閱疑難排解資訊。
如要進一步瞭解如何使用 Logs Explorer 查詢,請參閱「透過 Logs Explorer 建構查詢」。
gcloud
Google Cloud CLI 提供 Logging API 的指令列介面,並在每個記錄檔名稱中提供有效的資源 ID。例如,如果查詢包含 PROJECT_ID,則您提供的專案 ID 必須參照目前選取的Cloud de Confiance 專案。
如要讀取 Cloud de Confiance 專案層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
--project=PROJECT_ID
如要讀取資料夾層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
--folder=FOLDER_ID
如要讀取組織層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \
--organization=ORGANIZATION_ID
如要讀取 Cloud Billing 帳戶層級的稽核記錄項目,請執行下列指令:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
--billing-account=BILLING_ACCOUNT_ID
在指令中加入 --freshness 旗標,即可讀取超過 1 天的記錄檔。
如要進一步瞭解如何使用 gcloud CLI,請參閱 gcloud logging read。
REST
如要使用 Cloud Logging API 查詢記錄檔資料,請使用 entries.list 方法。
儲存及轉送稽核記錄
Cloud Logging 使用記錄檔 bucket 做為容器,儲存及整理記錄檔資料。針對每個帳單帳戶、Cloud de Confiance 專案、資料夾和機構,Logging 會自動建立兩個記錄檔值區 (_Required 和 _Default),以及相應名稱的接收器。
Cloud Logging _Required 值區會儲存管理員活動稽核記錄和系統事件稽核記錄。您無法禁止系統儲存管理員活動或系統事件稽核記錄。您也無法設定將記錄項目轉送至 _Required bucket 的接收器。
管理員活動稽核記錄和系統事件稽核記錄一律會儲存在產生記錄的專案_Required值區中。
如果您將「管理員活動」稽核記錄和「系統事件」稽核記錄傳送至其他專案,這些記錄就不會通過目的地專案的 _Default 或 _Required 接收器。因此,這些記錄不會儲存在目的地專案的 _Default 記錄檔 bucket 或 _Required 記錄檔 bucket 中。如要儲存這些記錄,請在目的地專案中建立記錄接收器。詳情請參閱「將記錄檔轉送至支援的目的地」。
根據預設,_Default bucket 會儲存所有已啟用的資料存取稽核記錄,以及政策遭拒稽核記錄。如要避免資料存取稽核記錄儲存在 _Default bucket 中,可以停用這類記錄。如要防止任何政策遭拒稽核記錄儲存在 _Default 值區中,您可以修改接收器的篩選器來排除這些記錄。
您也可以在 Cloud de Confiance 專案層級,將稽核記錄項目轉送至使用者定義的 Cloud Logging 值區,或使用接收器轉送至 Logging 以外的支援目的地。如需轉送記錄檔的操作說明,請參閱「將記錄檔轉送至支援的目的地」。
設定記錄接收器的篩選器時,您需要指定要轉送的稽核記錄類型;如需篩選器範例,請參閱「安全性記錄查詢」。
如要為 Cloud de Confiance 機構、資料夾或帳單帳戶及其子項資源,設定稽核記錄項目的路由,請參閱「匯總接收器總覽」。
稽核記錄保留期
如要進一步瞭解 Logging 保留記錄項目的時間長度,請參閱配額與限制:記錄保留期限中的保留說明。
存取權控管
IAM 權限和角色會決定您能否在 Logging API、Logs Explorer 和 Google Cloud CLI 中存取稽核記錄資料。
如要進一步瞭解您可能需要的 IAM 權限和角色,請參閱「使用 IAM 控管存取權」。
配額與限制
如要瞭解記錄的使用限制 (包括稽核記錄的大小上限),請參閱「配額與限制」。
後續步驟
- 瞭解如何讀取及解讀稽核記錄。
- 瞭解如何啟用資料存取稽核記錄。
- 請參閱 Cloud 稽核記錄的最佳做法。