稽核記錄功能

本頁說明 Cloud Search 建立的稽核記錄,該記錄屬於 Cloud 稽核記錄的一部分。

總覽

Google Cloud 服務會寫入稽核記錄,協助您瞭解資源中「從事活動的人員、內容、地點及時間」。Cloud 專案的稽核記錄都僅涵蓋直接隸屬於專案的資源。資料夾、機構和 Cloud Billing 帳戶等其他實體也各有其專屬的稽核記錄。

如需概要總覽,請參閱「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

稽核記錄格式

稽核記錄項目包含下列物件。您可以使用 Logs Explorer、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_TOKEN、PROJECT_ID 和類別 (logAdminReadActions、logDataWriteActions 或 logDataReadActions)。 管理員寫入動作預設為啟用。如要記錄查詢方法,請啟用「資料讀取」類別。

      後續對 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 控制台的 Logs Explorer 中查看記錄。使用這個篩選器可查看 Cloud Search 稽核記錄:

protoPayload.serviceName="cloudsearch.googleapis.com"

詳情請參閱「記錄檔探索器總覽」。

稽核記錄權限

Identity and Access Management (IAM) 權限會決定您能查看或匯出的記錄。詳情請參閱瞭解角色。

如要查看管理員活動稽核記錄,您必須具備下列其中一個 IAM 角色:

  • 專案擁有者、編輯者或檢視者。
  • Logging 的「記錄檢視者」角色。
  • 具有 logging.logEntries.list 權限的自訂 IAM 角色。

如要查看資料存取稽核記錄,您必須具備下列其中一個角色:

如果您使用的稽核記錄來自非專案實體 (例如機構),請將雲端專案角色變更為適當的機構角色。

查看記錄

如要查看記錄,您需要 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 控制台的「記錄」>「記錄檔探索工具」頁面。 前往 Logs Explorer
  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() 呼叫,要求中只會記錄 Query、RequestOptions 和 DataSourceRestriction。回應只會稽核網址和中繼資料。
  • 系統不會稽核資料匯出的後端呼叫。