本頁說明 Cloud Search 建立的稽核記錄,該記錄屬於 Cloud 稽核記錄的一部分。
總覽
Google Cloud 服務會寫入稽核記錄,協助您瞭解資源中「從事活動的人員、內容、地點及時間」。Cloud 專案的稽核記錄都僅涵蓋直接隸屬於專案的資源。資料夾、機構和 Cloud Billing 帳戶等其他實體也各有其專屬的稽核記錄。
如需概要總覽,請參閱「Cloud 稽核記錄」。詳情請參閱「瞭解稽核記錄」。
Cloud 稽核記錄會為每個 Cloud 專案、資料夾和機構提供下列記錄:
- 管理員活動稽核記錄:執行管理員寫入作業的方法項目。
- 資料存取稽核記錄:執行管理員讀取、資料寫入和資料讀取作業的方法項目。
- 系統事件稽核記錄
- 政策遭拒稽核記錄
Cloud Search 會寫入「管理員活動」稽核記錄,用於記錄修改資源設定或中繼資料的作業。您無法停用管理員活動稽核記錄。
只有在明確啟用時,Cloud Search 才會寫入資料存取稽核記錄。這些記錄包含讀取資源設定或中繼資料的 API 呼叫,以及建立、修改或讀取使用者所提供資源資料的使用者驅動 API 呼叫。
Cloud Search 不會寫入系統事件或政策遭拒稽核記錄。
已稽核的作業
下表摘要列出與 Cloud Search 中每個稽核記錄類型對應的 API 作業:
| 稽核記錄類別 | Cloud Search 作業 |
|---|---|
| 管理員活動:管理員寫入 | indexing.datasources.updateSchema indexing.datasources.deleteSchema settings.datasources.create settings.datasources.delete settings.datasources.update settings.searchapplications.create settings.searchapplications.delete settings.searchapplications.reset settings.searchapplications.update settings.updateCustomer cloudsearch.IdentitySourceService.create cloudsearch.IdentitySourceService.update cloudsearch.IdentitySourceService.delete |
| 資料存取權:管理員讀取 | indexing.datasources.getSchema settings.datasources.get settings.datasources.list settings.searchapplications.get settings.searchapplications.list settings.getCustomer cloudsearch.IdentitySourceService.get cloudsearch.IdentitySourceService.list |
| 資料存取權:資料寫入 | indexing.datasources.items.delete indexing.datasources.items.deleteQueueItems indexing.datasources.items.index indexing.datasources.items.poll indexing.datasources.items.push indexing.datasources.items.unreserve indexing.datasources.items.upload media.upload |
| 資料存取權:資料讀取 | indexing.datasources.items.get indexing.datasources.items.list operations.get operations.list debug.datasources.items.checkAccess debug.datasources.items.searchByViewUrl stats.getIndex stats.getQuery stats.getSession stats.getUser stats.index.datasources.get stats.query.searchapplications.get stats.session.searchapplications.get stats.user.search applications.get debug.identitysources.items.listForunmappedidentity debug.identitysources.unmappedids.list debug.datasources.items.unmappedids.list query.sources.list query.suggest query.search stats.getSearchapplication |
稽核記錄格式
稽核記錄項目包含下列物件。您可以使用記錄探索工具、Cloud Logging API 或 gcloud 指令列工具,在 Cloud Logging 中查看這些記錄。
記錄項目本身是 LogEntry 物件。實用的欄位包括:
logName:資源 ID 和稽核記錄類型。resource:稽核作業的目標。timeStamp:稽核作業的時間。protoPayload:稽核資訊。
稽核記錄資料是 protoPayload 欄位中的 AuditLog 物件。
選用服務專屬稽核資訊是服務專屬物件。如果是較早的整合,這個物件會儲存在 AuditLog 物件的 serviceData 欄位中;較新的整合則使用 metadata 欄位。
詳情請參閱瞭解稽核記錄。
記錄檔名稱
Cloud 稽核記錄資源名稱會指出擁有記錄的專案或其他 Google Cloud 實體,以及稽核記錄類型。例如:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
服務名稱
Cloud Search 稽核記錄會使用服務名稱 cloudsearch.googleapis.com。
資源類型
Cloud Search 稽核記錄使用的資源類型一律為 audited_resource。如需更多資源類型,請參閱「受監控資源類型」。
啟用稽核記錄
根據預設,Cloud Search API 會停用稽核記錄。如要為 Cloud Search 啟用稽核記錄,請按照下列步驟操作:
- (選用) 如果您尚未建立 Google Cloud 專案來儲存記錄,請參閱「設定 Cloud Search API 的存取權」。
- 取得要儲存記錄的 Google Cloud 專案 ID。請參閱「識別專案」。
- 判斷要為特定 API 啟用哪個記錄類別。請參閱「已稽核的作業」。
使用
updateCustomer()REST API 方法,以類別更新auditLogSettings:- 取得 OAuth 2.0 存取權杖。請參閱「使用 OAuth 2.0 存取 Google API」。請使用下列其中一個範圍:
https://www.googleapis.com/auth/cloud_search.settings.indexinghttps://www.googleapis.com/auth/cloud_search.settingshttps://www.googleapis.com/auth/cloud_search
執行下列 curl 指令:
bash curl --request PATCH \ 'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \ --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \ --header 'Content-Type: application/json' \ --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }'請替換YOUR_ACCESS_TOKEN、PROJECT_ID和類別 (logAdminReadActions、logDataWriteActions或logDataReadActions)。 管理員寫入動作預設為啟用。如要記錄查詢方法,請啟用「資料讀取」類別。後續對 Cloud Search API 的要求會在指定專案中產生記錄。
- 取得 OAuth 2.0 存取權杖。請參閱「使用 OAuth 2.0 存取 Google API」。請使用下列其中一個範圍:
查詢方法的稽核記錄需要「資料讀取」類別。如要為「
query.sources.list」、「query.suggest」和「query.search」啟用記錄功能,請按照下列步驟操作:- 以
searchapplications/<search_application_id>形式擷取每個搜尋應用程式的名稱。 - 呼叫
settings.searchapplications.update,並將enableAuditLog設為true。
- 以
如要為來自
cloudsearch.google.com的呼叫啟用稽核記錄,請確保已啟用「資料讀取」類別,並更新searchapplications/default。
在 Google Cloud 控制台的記錄檔探索工具中查看記錄檔。使用這個篩選器可查看 Cloud Search 稽核記錄:
protoPayload.serviceName="cloudsearch.googleapis.com"
詳情請參閱「記錄檔探索器總覽」。
稽核記錄權限
Identity and Access Management (IAM) 權限會決定您能查看或匯出的記錄。詳情請參閱瞭解角色。
如要查看管理員活動稽核記錄,您必須具備下列其中一個 IAM 角色:
- 專案擁有者、編輯者或檢視者。
- Logging 的「記錄檢視者」角色。
- 具有
logging.logEntries.list權限的自訂 IAM 角色。
如要查看資料存取稽核記錄,您必須具備下列其中一個角色:
如果您使用的稽核記錄來自非專案實體 (例如機構),請將 Cloud 專案角色變更為適當的機構角色。
查看記錄
如要查看記錄,您需要 Cloud 專案、資料夾或機構的 ID。您可以指定其他LogEntry欄位,例如 resource.type。請參閱「透過 Logs Explorer 建構查詢」。
稽核記錄名稱的格式如下:
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%2Fpolicyfolders/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
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
您可以採取以下幾種做法查看稽核記錄項目。
控制台
- 前往 Google Cloud 控制台的「記錄」>「記錄檔探索工具」頁面。 前往記錄檔探索工具
- 選取專案。
- 在「查詢產生器」窗格中,選取資源和記錄類型。 如要進一步瞭解如何使用新的 Logs Explorer 查詢,請參閱「透過 Logs Explorer 建構查詢」。
gcloud
如要取得專案層級的記錄,請執行下列指令:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
--project=PROJECT_ID
API
- 前往
entries.list方法的「Try this API」(試用這個 API) 部分。 - 使用這個要求主體,並將
PROJECT_ID替換為您選擇的專案 ID:{ "resourceNames": ["projects/PROJECT_ID"], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" } - 點選「Execute」。
如要進一步瞭解如何查詢,請參閱「Logging 查詢語言」。
如需稽核記錄項目範例,並瞭解如何找出其中最重要的資訊,請參閱「瞭解稽核記錄」一文。
匯出稽核記錄
您可以像匯出其他記錄一樣匯出稽核記錄。請參閱匯出記錄。
定價與續訂
Cloud Logging 不會針對管理員活動稽核記錄收費。Cloud Logging 會針對資料存取稽核記錄收費。請參閱「Google Cloud 作業套件定價」。
Cloud Search 稽核記錄的保留期限:
- 管理員活動記錄:400 天。
- 資料存取記錄:30 天。
目前限制
Cloud Search 稽核記錄限制:
- 記錄項目大小不得超過 512 KB。如果項目超過 512 KB,系統會移除
response欄位。如果仍超過 512 KB,系統會移除request欄位。如果仍超過 512 KB,系統會捨棄整個項目。 - 系統不會記錄
list()、get()和suggest()方法的回應主體。 - 系統只會記錄來自
cloudsearch.google.com和客戶搜尋應用程式的查詢呼叫。 - 如果是
search()呼叫,要求中只會記錄Query、RequestOptions和DataSourceRestriction。回應只會稽核網址和中繼資料。 - 系統不會稽核資料匯出的後端呼叫。