稽核記錄功能

本頁說明 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 啟用稽核記錄,請按照下列步驟操作:

  1. (選用) 如果您尚未建立 Google Cloud 專案來儲存記錄,請參閱「設定 Cloud Search API 的存取權」。
  2. 取得要儲存記錄的 Google Cloud 專案 ID。請參閱「識別專案」。
  3. 判斷要為特定 API 啟用哪個記錄類別。請參閱「已稽核的作業」。
  4. 使用 updateCustomer() REST API 方法,以類別更新 auditLogSettings

    1. 取得 OAuth 2.0 存取權杖。請參閱「使用 OAuth 2.0 存取 Google API」。請使用下列其中一個範圍:
      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. 執行下列 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_TOKENPROJECT_ID 和類別 (logAdminReadActionslogDataWriteActionslogDataReadActions)。 管理員寫入動作預設為啟用。如要記錄查詢方法,請啟用「資料讀取」類別。

      後續對 Cloud Search API 的要求會在指定專案中產生記錄。

  5. 查詢方法的稽核記錄需要「資料讀取」類別。如要為「query.sources.list」、「query.suggest」和「query.search」啟用記錄功能,請按照下列步驟操作:

    1. searchapplications/<search_application_id> 形式擷取每個搜尋應用程式的名稱。
    2. 呼叫 settings.searchapplications.update,並將 enableAuditLog 設為 true
  6. 如要為來自 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%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

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

您可以採取以下幾種做法查看稽核記錄項目。

控制台

  1. 前往 Google Cloud 控制台的「記錄」>「記錄檔探索工具」頁面。 前往記錄檔探索工具
  2. 選取專案。
  3. 在「查詢產生器」窗格中,選取資源和記錄類型。 如要進一步瞭解如何使用新的 Logs Explorer 查詢,請參閱「透過 Logs Explorer 建構查詢」。

gcloud

如要取得專案層級的記錄,請執行下列指令:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" 
--project=PROJECT_ID

API

  1. 前往 entries.list 方法的「Try this API」(試用這個 API) 部分。
  2. 使用這個要求主體,並將 PROJECT_ID 替換為您選擇的專案 ID:
    {
    "resourceNames": ["projects/PROJECT_ID"],
    "pageSize": 5,
    "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
  3. 點選「Execute」

如要進一步瞭解如何查詢,請參閱「Logging 查詢語言」。

如需稽核記錄項目範例,並瞭解如何找出其中最重要的資訊,請參閱「瞭解稽核記錄」一文。

匯出稽核記錄

您可以像匯出其他記錄一樣匯出稽核記錄。請參閱匯出記錄

  • 匯出至 Cloud Storage、BigQuery 或 Pub/Sub,以延長保留時間或進行進階搜尋。
  • 使用匯總接收器管理整個機構的記錄。
  • 排除資料存取記錄,管理記錄配額。請參閱「排除記錄檔」。

定價與續訂

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() 呼叫,要求中只會記錄 QueryRequestOptionsDataSourceRestriction。回應只會稽核網址和中繼資料。
  • 系統不會稽核資料匯出的後端呼叫。