Cloud Service Mesh 稽核記錄資訊

本文說明 Cloud Service Mesh 在 Cloud 稽核記錄中建立的稽核記錄。

總覽

Google Cloud 服務會寫入稽核記錄,協助您瞭解 Google Cloud 資源中「人事時地物」的問題。

專案的稽核記錄僅涵蓋直接隸屬於專案的資源。 Google Cloud Google Cloud 資料夾、機構和帳單帳戶等其他 Google Cloud 資源也各有其專屬的稽核記錄。

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

可用的稽核記錄

Cloud Service Mesh 提供下列類型的稽核記錄:

  • 管理員活動稽核記錄

    包括寫入中繼資料或設定資訊的「管理員寫入」作業。

    您無法停用管理員活動稽核記錄。

  • 資料存取稽核記錄

    包括讀取中繼資料或設定資訊的「管理員讀取」作業。也包括讀取或寫入使用者提供資料的「資料讀取」和「資料寫入」作業。

    如要接收資料存取稽核記錄,您必須 明確啟用這類記錄。

如需稽核記錄類型的完整說明,請參閱「稽核記錄類型」。

已稽核的作業

下表摘要列出與 Cloud Service Mesh 中每個稽核記錄類型對應的 API 作業:

稽核記錄類別 Cloud Service Mesh 作業
資料存取稽核記錄

envoy.service.discovery.v3.AggregatedDiscoveryService.StreamAggregatedResources

envoy.service.load_stats.v3.LoadReportingService.StreamLoadStats

下表摘要列出與 Network Services API 中每個稽核記錄類型對應的 API 作業:

稽核記錄類別 Network Services API 作業
管理員活動稽核記錄

google.cloud.networksecurity.v1beta1.NetworkServices.CreateEndpointPolicy

google.cloud.networksecurity.v1beta1.NetworkServices.DeleteEndpointPolicy

google.cloud.networksecurity.v1beta1.NetworkServices.UpdateEndpointPolicy

資料存取稽核記錄

google.cloud.networksecurity.v1beta1.NetworkServices.GetEndpointPolicy

google.cloud.networksecurity.v1beta1.NetworkServices.ListEndpointPolicies

下表摘要列出與網路安全中每個稽核記錄類型對應的 API 作業:

稽核記錄類別 網路安全作業
管理員活動稽核記錄

google.cloud.networksecurity.v1.NetworkSecurity.CreateAuthorizationPolicy

google.cloud.networksecurity.v1.NetworkSecurity.CreateServerTlsPolicy

google.cloud.networksecurity.v1.NetworkSecurity.CreateClientTlsPolicy

google.cloud.networksecurity.v1.NetworkSecurity.DeleteAuthorizationPolicy

google.cloud.networksecurity.v1.NetworkSecurity.DeleteServerTlsPolicy

google.cloud.networksecurity.v1.NetworkSecurity.DeleteClientTlsPolicy

google.cloud.networksecurity.v1.NetworkSecurity.UpdateAuthorizationPolicy

google.cloud.networksecurity.v1.NetworkSecurity.UpdateServerTlsPolicy

google.cloud.networksecurity.v1.NetworkSecurity.UpdateClientTlsPolicy

資料存取稽核記錄

google.cloud.networksecurity.v1.NetworkSecurity.GetAuthorizationPolicy

google.cloud.networksecurity.v1.NetworkSecurity.GetServerTlsPolicy

google.cloud.networksecurity.v1.NetworkSecurity.GetClientTlsPolicy

google.cloud.networksecurity.v1.NetworkSecurity.ListAuthorizationPolicies

google.cloud.networksecurity.v1.NetworkSecurity.ListClientTlsPolicies

google.cloud.networksecurity.v1.NetworkSecurity.ListServerPolicies

稽核記錄格式

稽核記錄項目包含下列物件:

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

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

  • 選用的服務專屬稽核資訊,這是服務專屬物件。如果是較早的整合,這個物件會保留在 AuditLog 物件的 serviceData 欄位中;較新的整合則使用 metadata 欄位。

如要瞭解這些物件中的其他欄位,以及如何解讀這些資料,請參閱「瞭解稽核記錄」一文。

記錄檔名稱

Cloud 稽核記錄的記錄名稱包含資源 ID,可指出擁有稽核記錄的Google Cloud 專案或其他 Google 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

   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

服務名稱

Cloud Service Mesh 稽核記錄會使用服務名稱 trafficdirector.googleapis.comnetworkservices.googleapis.comnetworksecurity.googleapis.com

如需所有 Cloud Logging API 服務名稱及其對應受監控資源類型的清單,請參閱「將服務對應至資源」。

資源類型

Cloud Service Mesh 稽核記錄使用的資源類型一律為 audited_resource

如需所有 Cloud Logging 受監控資源類型和說明資訊的清單,請參閱「受監控資源類型」。

來電者身分

呼叫端的 IP 位址會保存在 AuditLog 物件的 RequestMetadata.caller_ip 欄位中。記錄檔可能會遮蓋特定呼叫端身分和 IP 位址。

如要瞭解稽核記錄中會遮蓋哪些資訊,請參閱稽核記錄中的呼叫者身分

啟用稽核記錄

系統一律會啟用管理員活動稽核記錄,且該記錄無法停用。

資料存取稽核記錄預設為停用,且除非明確啟用,否則系統不會寫入這類記錄。唯一的例外是 BigQuery 的資料存取稽核記錄,該記錄無法停用。

如要瞭解如何啟用部分或所有資料存取稽核記錄,請參閱「啟用資料存取稽核記錄」一文。

權限與角色

IAM 權限和角色會決定您能否存取 Google Cloud 資源中的稽核記錄資料。

決定要將哪些記錄專用權限和角色套用至您的用途時,請考量下列事項:

  • 「記錄檢視者」角色 (roles/logging.viewer) 可讓您以唯讀模式存取「管理員活動」、「政策拒絕」和「系統事件」稽核記錄。如果您只有這個角色,就無法查看 _Default 值區中的資料存取稽核記錄。

  • 「私密記錄檢視者」角色 ((roles/logging.privateLogViewer) 包含 roles/logging.viewer 中的權限,外加讀取 _Default 儲存空間中資料存取稽核記錄的權限。

    請注意,如果這些私密記錄檔儲存在使用者定義的值區中,則任何有權讀取這些值區中記錄檔的使用者,都能讀取私密記錄檔。如要進一步瞭解記錄檔 bucket,請參閱「轉送和儲存空間總覽」。

如要進一步瞭解適用於稽核記錄資料的 IAM 權限和角色,請參閱「使用身分與存取權管理功能控管存取權」一文。

查看記錄

您可以查詢所有稽核記錄,也可以依稽核記錄名稱查詢記錄。稽核記錄名稱包含您要查看稽核記錄資訊的 Google Cloud 專案、資料夾、帳單帳戶或機構的資源 ID。查詢可以指定已建立索引的 LogEntry 欄位。 如要進一步瞭解如何查詢記錄,請參閱「在 Logs Explorer 中建構查詢」。

您可以使用記錄檔探索工具,查看及篩選個別記錄項目。如要使用 SQL 分析記錄檔項目群組,請使用「記錄檔分析」頁面。如需詳細資訊,請參閱:

您可以使用Google Cloud 控制台、Google Cloud CLI 或 Logging API,在 Cloud Logging 中查看大部分的稽核記錄。不過,如要查看與帳單相關的稽核記錄,只能使用 Google Cloud CLI 或 Logging API。

控制台

在 Google Cloud 控制台中,您可以使用「記錄檔探索工具」擷取 Google Cloud 專案、資料夾或機構的稽核記錄項目:

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面:

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 選取現有的 Google Cloud 專案、資料夾或機構。

  3. 如要顯示所有稽核記錄,請在查詢編輯器欄位中輸入下列任一查詢,然後按一下「執行查詢」

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. 如要顯示特定資源和稽核記錄類型的稽核記錄,請在「查詢產生器」窗格中執行下列操作:

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

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

      • 如要查看管理員活動稽核記錄,請選取「activity」
      • 如要查看資料存取稽核記錄,請選取「data_access」data_access
      • 如要查看系統事件稽核記錄,請選取「system_event」system_event
      • 如要查看「政策遭拒」稽核記錄,請選取「政策」
    • 點選「執行查詢」

    如果沒有看到這些選項,表示 Google Cloud 專案、資料夾或機構中沒有這類型的稽核記錄。

    如果無法在記錄檔探索工具中查看記錄,請參閱疑難排解資訊。

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

gcloud

Google Cloud CLI 提供 Logging API 的指令列介面。並在每個記錄名稱中提供有效的資源 ID。舉例來說,如果查詢包含 PROJECT_ID,則您提供的專案 ID 必須參照目前選取的Google Cloud 專案。

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

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

建構查詢時,請在每個記錄名稱中提供有效的資源 ID。舉例來說,如果查詢包含 PROJECT_ID,則您提供的專案 ID 必須參照目前選取的Google 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] (執行)

路由稽核記錄

您可以採用與傳送其他類型記錄相同的方式,將稽核記錄傳送至支援的目的地。以下列舉幾個可能需要傳送稽核記錄的原因:

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

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

  • 如果已啟用的資料存取稽核記錄導致Google Cloud 專案超過記錄配額,您可以建立排除資料存取稽核記錄的 Logging 接收器。

如需如何轉送記錄的操作說明,請參閱「將記錄轉送至支援的目的地」。

定價

如要進一步瞭解價格,請參閱 Cloud Logging 定價摘要