稽核記錄

本頁面說明 Cloud Search 在 Cloud 稽核記錄中建立的稽核記錄。

總覽

Google Cloud 服務會寫入稽核記錄,協助您回答資源中有關「人事時地物」的問題。Cloud 專案只會包含直接專案中的資源稽核記錄。而資料夾、機構和 Cloud Billing 帳戶等其他實體則含有實體的稽核記錄。

如需 Cloud 稽核記錄的概要總覽,請參閱 Cloud 稽核記錄。若要深入瞭解 Cloud 稽核記錄,請參閱瞭解稽核記錄

Cloud 稽核記錄會為每個 Cloud 專案、資料夾和機構提供下列稽核記錄:

  • 管理員活動稽核記錄,包含與執行管理員寫入作業的方法對應的項目。與管理員活動:管理員寫入作業對應的方法會在即將推出的「稽核作業」一節中說明。
  • 資料存取稽核記錄,包含與執行管理員讀取、資料寫入和資料讀取作業的方法相對應的項目。有關資料存取:管理員讀取、資料存取:資料寫入、資料存取:資料讀取作業,請參閱即將推出的「已稽核的作業」一節。
  • 系統事件稽核記錄
  • 政策遭拒的稽核記錄

Cloud Search 會寫入管理員活動稽核記錄,其中會記錄修改資源設定或中繼資料的作業。您無法停用管理員活動稽核記錄。

只有在明確啟用的情況下,Cloud Search 才會寫入資料存取稽核記錄。資料存取稽核記錄包含讀取資源設定或中繼資料的 API 呼叫,以及建立、修改或讀取使用者提供資源資料的使用者驅動 API 呼叫。

Cloud Search 不會寫入系統事件稽核記錄。

Cloud Search 不會寫入政策遭拒的稽核記錄。

稽核的作業

下表摘要列出 Cloud Search 中各稽核記錄類型所對應的 API 作業:

稽核記錄類別 Cloud Search 作業
管理員活動:管理員寫入 index.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.createcloudupdate.

資料存取權:管理員讀取 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
資料存取權:資料讀取 index.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.index.datasources.get










稽核記錄格式

稽核記錄項目—可透過記錄檔探索工具、Cloud Logging API 或 gcloud 指令列工具在 Cloud Logging 中查看,包括下列物件:

記錄項目本身,屬於 LogEntry 類型的物件。實用的欄位包括:

  • logName 包含資源 ID 和稽核記錄類型。
  • resource 包含稽核作業的目標。
  • timeStamp 包含稽核作業的時間。
  • protoPayload 包含稽核的資訊。
  • 稽核記錄資料,這是儲存在記錄項目 protoPayload 欄位中的 AuditLog 物件。

選用的服務專屬稽核資訊,這是服務專屬物件。 針對先前的整合,這個物件會保留在 AuditLog 物件的 serviceData 欄位中,之後的整合功能會使用 metadata 欄位。

如要瞭解這些物件中的其他欄位,以及如何解讀這些欄位,請參閱瞭解稽核記錄

記錄檔名稱

「Cloud 稽核記錄」資源名稱會指出擁有稽核記錄的 Cloud 專案或其他 Google Cloud 實體,以及記錄中是否包含管理員活動、資料存取、政策遭拒或系統事件稽核記錄資料。例如,下列內容顯示專案層級管理員活動稽核記錄和機構資料存取稽核記錄的記錄名稱。變數代表專案和機構 ID。

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 的稽核記錄預設為停用。如要啟用 Google Cloud Search 的稽核記錄功能:

  1. (選用) 如果您尚未建立用來儲存記錄的 Google Cloud Platform 專案,請參閱「設定 Google Cloud Search API 的存取權」一文。

  2. 針對您要儲存記錄檔的 Google Cloud 取得專案 ID。如要瞭解如何取得專案 ID,請參閱識別專案

  3. 如要啟用特定 API 的稽核記錄,您必須先決定要啟用該 API 的記錄類別。如要瞭解 API 及其對應類別,請參閱本文前述的稽核作業

  4. 使用 updateCustomer() REST API 方法更新 AuditLogSettings,其中包含要啟用的記錄類別:

    1. 從 Google 授權伺服器取得 OAuth 2.0 存取權杖。如要瞭解如何取得權杖,請參閱「使用 OAuth 2.0 存取 Google API」一文的步驟 2。取得存取權杖時,請使用下列其中一個 OAuth 範圍:

      • 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 指令。

    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 是在步驟 4a 取得的 OAuth 2.0 存取權杖。
    • PROJECT_ID 是在步驟 2 中取得的專案 ID。
    • CATEGORY1CATEGORY2 是您在步驟 3 中選擇啟用的類別。有效值為 logAdminReadActionslogDataWriteActionslogDataReadActions。管理員寫入動作預設為啟用,且無法停用。如果您想要為查詢方法進行稽核記錄,必須啟用「資料讀取」類別。

    更新 AuditLoggingSettings 後,其他對 Cloud Search API 發出的要求,都會使用 AuditLoggingSettings 中指定的專案 ID 產生稽核記錄。

  5. 如要使用查詢方法的稽核記錄,您必須啟用資料讀取類別 (在步驟 4 完成)。如要啟用查詢方法 (query.sources.listquery.suggestquery.search) 的稽核記錄,請按照下列額外步驟操作:

    1. 針對您要啟用稽核記錄的每個搜尋應用程式,擷取名稱。名稱格式必須為 searchapplications/<search_application_id>

    2. 使用這個名稱呼叫 settings.searchapplications.update,並將 enableAuditLog 設為 true

  6. 如要為 cloudsearch.google.com 的呼叫啟用稽核記錄,請確認資料讀取類別已啟用 (步驟 4)。此外,執行步驟 5b,並將 name 設為 searchapplications/default

啟用之後,您可以前往 Google Cloud 控制台的「記錄檔探索工具」專區查看記錄。您可以使用下列篩選器,只查看 Cloud Search 稽核記錄:

protoPayload.serviceName="cloudsearch.googleapis.com"

如要瞭解如何查看記錄檔,請參閱記錄檔探索工具總覽

稽核記錄權限

身分與存取權管理權限和角色可決定您能查看或匯出的稽核記錄。記錄檔位於 Cloud 專案和機構、資料夾和 Cloud Billing 帳戶等其他實體中。詳情請參閱瞭解角色一文。

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

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

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

查看記錄檔

如要尋找及查看稽核記錄,您需要知道要查看稽核記錄資訊的 Cloud 專案、資料夾或機構 ID。您可以進一步指定其他已建立索引的 LogEntry 欄位,例如 resource.type;詳情請參閱在記錄檔探索工具中建構查詢

以下為稽核記錄名稱;這些記錄包含 Cloud 專案、資料夾或機構 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

   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 控制台中的記錄檔探索工具,擷取 Cloud 專案的稽核記錄項目:

  1. 在 Cloud 控制台中,前往「Logging」>「記錄檔探索工具」頁面。

    前往記錄檔探索工具頁面

  2. 在「記錄檔探索工具」頁面中,選取現有的 Cloud 專案。

  3. 在「Query builder」窗格中,執行下列操作:

    • 在「Resource」(資源) 中,選取您要查看稽核記錄的 Google Cloud 資源類型。

    • 在「Log name」(記錄名稱) 中,選取您要查看的稽核記錄類型:

      • 為管理員活動稽核記錄選取「活動」
      • 在「資料存取」稽核記錄中,選取「data_access」data_access
      • 為「系統事件」稽核記錄,請選取「system_event」system_event
      • 針對「政策遭拒」的稽核記錄,選取「policy」

    如果您沒有看到這些選項,表示 Cloud 專案中沒有任何該類型的稽核記錄。

    如要進一步瞭解如何使用新版記錄檔探索工具進行查詢,請參閱在記錄檔探索工具中建構查詢一文。

gcloud

gcloud 為 Logging API 提供指令列介面。請在每個記錄名稱中提供有效的 PROJECT_IDFOLDER_IDORGANIZATION_ID

如要讀取 Google 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

如要進一步瞭解如何使用 gcloud 工具,請參閱 gcloud logging read

API

建構查詢時,請將變數替換為有效值,請將適當的專案層級、資料夾層級或機構層級稽核記錄名稱或 ID 替換為稽核記錄名稱中所列的 ID。舉例來說,如果查詢包含 PROJECT_ID,您提供的專案 ID 就必須參照目前所選的 Cloud 專案。

如要使用 Logging API 查看稽核記錄項目,請執行下列操作:

  1. 前往 entries.list 方法說明文件中的「Try this API」(試用這個 API) 區段。

  2. 將下列內容放入「Try this API」(試用這個 API) 表單的「Request body」(要求主體) 部分。按一下這份預先填入的表單會自動填入要求主體,但您必須為每個記錄名稱提供有效的 PROJECT_ID

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. 按一下 [Execute] (執行)

如要進一步瞭解查詢功能,請參閱 Logging 查詢語言

如需稽核記錄項目範例,以及如何找出其中最重要的資訊,請參閱瞭解稽核記錄

匯出稽核記錄

您可以匯出稽核記錄,方法與匯出其他類型記錄檔的方式相同。 如要進一步瞭解如何匯出記錄,請參閱匯出記錄檔。以下是匯出稽核記錄的一些應用方式:

  • 如要將稽核記錄保留較長時間或使用更強大的搜尋功能,您可以將稽核記錄的複本匯出至 Cloud Storage、BigQuery 或 Pub/Sub。您可以使用 Pub/Sub 匯出至其他應用程式、其他存放區,以及匯出至第三方。

  • 如要管理整個機構的稽核記錄,您可以建立匯總接收器,從機構中的任何或所有 Cloud 專案匯出記錄。

  • 如果已啟用的資料存取稽核記錄導致 Cloud 專案超出記錄配額,您可從 Logging 匯出及排除資料存取稽核記錄。詳情請參閱排除記錄檔一文。

定價與保留期

Cloud Logging 不會針對無法停用的稽核記錄收費,包括所有管理員活動稽核記錄。Cloud Logging 會針對您明確要求的資料存取稽核記錄向您收費。

如要進一步瞭解稽核記錄的定價,請參閱 Google Cloud 作業套件定價

與 Cloud Search 稽核記錄相關聯的儲存空間時間長度如下:

  • 管理員活動記錄 (或管理員寫入):這些記錄會保留 400 天。
  • 資料存取記錄 (管理員讀取、資料寫入和資料讀取) - 這些記錄會保留 30 天。

如要進一步瞭解儲存時間長度,請參閱「記錄保留期限」。

目前限制

Cloud Search 稽核記錄目前設有下列限制:

  • 記錄項目大小不得超過 512 KB。如果大小超過 512 KB,回應就會捨棄。如果無法將大小縮減至 512 KB 以下,系統會捨棄要求。最後,如果大小仍超過 512 KB,記錄項目就會遭到捨棄。

  • 系統不會記錄 list()get()suggest() 方法的回應主體。 但提供了回應狀態。

  • 系統只會記錄來自 cloudsearch.google.com 的查詢 API 呼叫 (如果已啟用) 和客戶搜尋應用程式。

  • 如果是 search() 呼叫,則只有 QueryRequestOptionsDataSourceRestriction 會在要求中記錄。在回應中,系統只會稽核每個 SearchResult 的網址和中繼資料 (來源和 objectType)。

  • 發出至 Cloud Search 後端和對應資料匯出作業的呼叫不會經過稽核。