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