Firebase App Check 的稽核記錄

本頁面說明 FirebaseCloud 稽核記錄

總覽

Firebase 服務會寫入稽核記錄,協助您回答以下問題: 什麼、地點和時間?」這些 做為 Google Cloud 項專案已連線至您的 Firebase 專案

您的各項 Firebase 專案只包含下列資源的稽核記錄: 直接在專案中執行

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

可用的稽核記錄

Firebase App Check 提供以下類型的稽核記錄:

  • 管理員活動稽核記錄

    包含「管理員寫入」權限寫入中繼資料或設定的作業 可能不準確或不適當

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

  • 資料存取稽核記錄

    包含「admin read」讀取中繼資料或設定的作業 可能不準確或不適當也包括「資料讀取」和「資料寫入」 讀取或寫入使用者提供的資料。

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

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

已稽核的作業

下表摘要列出各稽核記錄所對應的 API 作業 在 Firebase App Check 中輸入:

權限類型 方法
ADMIN_READ google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1.ConfigService.GetDebugToken
google.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.GetService
google.firebase.appcheck.v1.ConfigService.ListDebugTokens
google.firebase.appcheck.v1.ConfigService.ListServices
google.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigs
google.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configs
google.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigs
google.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.GetDebugToken
google.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.GetResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.GetService
google.firebase.appcheck.v1beta.ConfigService.ListDebugTokens
google.firebase.appcheck.v1beta.ConfigService.ListResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.ListServices
ADMIN_WRITE google.firebase.appcheck.v1.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1.ConfigService.CreateDebugToken
google.firebase.appcheck.v1.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1.ConfigService.UpdateService
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePolicies
google.firebase.appcheck.v1beta.ConfigService.BatchUpdateServices
google.firebase.appcheck.v1beta.ConfigService.CreateDebugToken
google.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.DeleteDebugToken
google.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateDebugToken
google.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfig
google.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Config
google.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicy
google.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfig
google.firebase.appcheck.v1beta.ConfigService.UpdateService
google.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken

稽核記錄格式

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

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

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

  • 服務專屬稽核資訊 (選用),所提供的服務專屬稽核資訊 物件。如果是較舊的整合項目,這個物件會保存在 serviceDataAuditLog 物件的欄位;較新的整合會使用 metadata 欄位。

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

記錄檔名稱

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

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
敬上

服務名稱

Firebase App Check 稽核記錄會使用服務名稱 firebaseappcheck.googleapis.com

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

資源類型

Firebase App Check 稽核記錄會使用 所有稽核記錄的資源類型 audited_resource

如需所有 Cloud Logging 受控資源類型的清單及描述性字詞清單 資訊,請參閱 受控資源類型

啟用稽核記錄

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

資料存取稽核記錄預設為停用,不會 除非明確啟用,否則寫入的稽核記錄除外 (只有以下項目的資料存取稽核記錄: BigQuery,無法停用)。

如需啟用部分或所有資料存取稽核記錄的操作說明,請參閱: 設定資料存取記錄

權限與角色

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

在決定 適用於記錄專屬權限與角色 請考慮以下幾點:

  • 記錄檔檢視者角色 (roles/logging.viewer) 可讓您取得 管理員活動、政策遭拒和系統事件稽核記錄。如果您是 但無法查看 _Default 中的資料存取稽核記錄 Cloud Storage 也提供目錄同步處理功能 方便您同步處理 VM 目錄與值區

  • 私密記錄檢視者角色(roles/logging.privateLogViewer) 包含 具備 roles/logging.viewer 所含的權限,而且能讀取 _Default 值區中的資料存取稽核記錄。

    請注意,如果這些私人記錄儲存在使用者定義的值區中, 有權讀取這些值區中記錄的使用者可以讀取私人 。如要進一步瞭解記錄檔值區,請參閱 轉送和儲存空間總覽

進一步瞭解適用的 Cloud IAM 權限和適用角色 稽核記錄資料,請參閱存取權控管一文。

查看記錄檔

如要尋找及查看稽核記錄,您必須知道 想查看哪個 Firebase 專案、資料夾或機構 稽核記錄的資訊您可以指定其他已建立索引的 LogEntry 欄位 (例如 resource.type);查看詳細資料,檢閱 快速尋找記錄項目

以下是稽核記錄的名稱。這些項目包含 Firebase 專案、資料夾或機構的 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 Logging 中查看稽核記錄,方法是使用 Google Cloud 控制台、gcloud 指令列工具或 Logging API。

控制台

您可以使用 Google Cloud 控制台中的記錄檔探索工具 擷取 Firebase 專案、資料夾 或機構:

  1. 前往 Google Cloud 控制台,前往 記錄 >記錄檔探索工具頁面

    前往「記錄檔探索工具」頁面

  2. 在「記錄檔探索工具」頁面中選取現有記錄檔 Firebase 專案、資料夾或機構。

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

    • 在「Resource type」中,選取 Google Cloud 資源 指定稽核記錄

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

      • 如要查看管理員活動稽核記錄,請選取 [活動]
      • 對於資料存取稽核記錄,請選取「data_access」
      • 對於系統事件稽核記錄,請選取 system_event
      • 針對「政策遭拒」的稽核記錄,選取「政策」

    如果找不到這些選項,表示沒有 Firebase 專案、資料夾 並根據貴機構的使命 價值觀和目標進行調整

    如要進一步瞭解如何使用記錄檔探索工具查詢,請參閱 建立記錄檔查詢

gcloud

gcloud 指令列工具提供指令列介面 Cloud Logging API。提供有效的 PROJECT_IDFOLDER_ID、 或個別記錄名稱中的 ORGANIZATION_ID

如要讀取 Firebase 專案層級的稽核記錄項目,請執行 以下指令:

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 工具,請參閱 讀取記錄項目

API

建立查詢時,請將變數換成有效的值, 替換適當的專案層級、資料夾層級或 機構層級稽核記錄的名稱或 ID (如稽核記錄中列出的資訊所示) 。例如,如果查詢包含 PROJECT_ID,則 您提供的專案 ID 必須參照目前所選的 Firebase 專案。

如要使用 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 查詢語言

範例:稽核記錄項目範例,以及如何找出最重要的項目 擷取相關資訊,請參閱 稽核記錄項目範例

路徑稽核記錄

您可以將稽核記錄轉送至支援的系統 目的地就跟轉送其他類型的記錄一樣。以下 以下是轉送稽核記錄的一些原因:

  • 延長稽核記錄的保留時間,或使用更強大的稽核記錄 您就能將稽核記錄副本轉送至 Google Cloud Storage、BigQuery 或 Google Cloud Pub/Sub。使用 您就能轉送至其他應用程式 存放區和第三方

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

  • 如果已啟用的資料存取稽核記錄 Firebase 專案超出記錄檔配額時,您可以建立接收器 從 Logging 排除資料存取稽核記錄。

如需轉送記錄的操作說明,請參閱 設定接收器

定價

管理員活動稽核記錄系統事件稽核記錄為免費項目。

資料存取稽核記錄和 系統會針對政策遭拒的稽核記錄收費。

如要進一步瞭解 Cloud Logging 定價,請參閱 Google Cloud 作業套件定價:Cloud Logging