本頁面說明 Firebase 在 Cloud 稽核記錄。
總覽
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
物件。服務專屬稽核資訊 (選用),所提供的服務專屬稽核資訊 物件。如果是較舊的整合項目,這個物件會保存在
serviceData
中AuditLog
物件的欄位;較新的整合會使用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 專案、資料夾 或機構:
前往 Google Cloud 控制台,前往 記錄 >記錄檔探索工具頁面
在「記錄檔探索工具」頁面中選取現有記錄檔 Firebase 專案、資料夾或機構。
在「Query builder」窗格中執行下列操作:
在「Resource type」中,選取 Google Cloud 資源 指定稽核記錄
在「記錄名稱」中,選取您要查看的稽核記錄類型:
- 如要查看管理員活動稽核記錄,請選取 [活動]。
- 對於資料存取稽核記錄,請選取「data_access」。
- 對於系統事件稽核記錄,請選取 system_event。
- 針對「政策遭拒」的稽核記錄,選取「政策」。
如果找不到這些選項,表示沒有 Firebase 專案、資料夾 並根據貴機構的使命 價值觀和目標進行調整
如要進一步瞭解如何使用記錄檔探索工具查詢,請參閱 建立記錄檔查詢。
gcloud
gcloud
指令列工具提供指令列介面
Cloud Logging API。提供有效的
PROJECT_ID
、FOLDER_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 查看稽核記錄項目,請執行下列步驟: 包括:
前往
entries.list
方法說明文件中的「Try this API」(試用這個 API) 區段。將下列內容放入「Try this API」(試用這個 API) 表單的「Request body」(要求主體) 部分。請按一下這份預先填入的表單 會自動填入要求主體 請在每筆記錄中提供有效的
PROJECT_ID
。{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
按一下 [Execute] (執行)。
如要進一步瞭解查詢,請參閱 Logging 查詢語言。
範例:稽核記錄項目範例,以及如何找出最重要的項目 擷取相關資訊,請參閱 稽核記錄項目範例。
路徑稽核記錄
您可以將稽核記錄轉送至支援的系統 目的地就跟轉送其他類型的記錄一樣。以下 以下是轉送稽核記錄的一些原因:
延長稽核記錄的保留時間,或使用更強大的稽核記錄 您就能將稽核記錄副本轉送至 Google Cloud Storage、BigQuery 或 Google Cloud Pub/Sub。使用 您就能轉送至其他應用程式 存放區和第三方
如要管理整個機構的稽核記錄,您可以建立 匯總接收器 轉送機構中任何或所有 Firebase 專案的記錄。
- 如果已啟用的資料存取稽核記錄 Firebase 專案超出記錄檔配額時,您可以建立接收器 從 Logging 排除資料存取稽核記錄。
如需轉送記錄的操作說明,請參閱 設定接收器。
定價
如要進一步瞭解 Cloud Logging 定價,請參閱 Google Cloud 作業套件定價:Cloud Logging。