本頁面說明 Firebase 在 Cloud 稽核記錄。
總覽
Firebase 服務會寫入稽核記錄,協助您回答以下問題: 什麼、地點和時間?」這些 做為 Google Cloud 項專案已連線至您的 Firebase 專案。
每個 Firebase 專案的稽核記錄都僅涵蓋直接隸屬於專案的資源。
如需 Cloud 稽核記錄的概要總覽,請參閱「Cloud 稽核記錄總覽」。要深入瞭解稽核 記錄檔格式,請參閱 瞭解稽核記錄。
可用的稽核記錄
Firebase Data Connect 提供下列類型的稽核記錄:
-
管理員活動稽核記錄
包括寫入中繼資料或設定資訊的「管理員寫入」作業。
您無法停用管理員活動稽核記錄。
-
資料存取稽核記錄
包括讀取中繼資料或設定資訊的「管理員讀取」作業。也包括「資料讀取」和「資料寫入」 讀取或寫入使用者提供的資料。
如要接收資料存取稽核記錄,您必須明確啟用這類記錄。
如需稽核記錄類型的完整說明,請參閱 稽核記錄類型。
已稽核的作業
下表摘要列出各稽核記錄所對應的 API 作業 在 Firebase Data Connect 中輸入:
權限類型 | 方法 |
---|---|
ADMIN_READ |
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.GetService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListConnectors google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListSchemas google.firebase.dataconnect.v1alpha.FirebaseDataConnect.ListServices |
ADMIN_WRITE |
google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.CreateService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.DeleteService google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateConnector google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateSchema google.firebase.dataconnect.v1alpha.FirebaseDataConnect.UpdateService |
稽核記錄格式
稽核記錄項目包含下列物件:
記錄項目本身,屬於
LogEntry
類型的物件。實用的欄位包括:logName
包含資源 ID 和稽核記錄類型。resource
包含稽核作業的目標。timestamp
包含稽核作業的時間。protoPayload
包含稽核的資訊。
稽核記錄資料,這是儲存在記錄項目
protoPayload
欄位中的AuditLog
物件。選用的服務專屬稽核資訊,這是服務專屬物件。對於較舊的整合,這個物件會保留在
AuditLog
物件的serviceData
欄位中;較新的整合會使用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 Data Connect 稽核記錄會使用服務名稱
firebasedataconnect.googleapis.com
。
如需所有 Cloud Logging API 服務名稱及其對應服務的完整清單, 受控資源類型,請參閱 將服務對應至資源。
資源類型
Firebase Data Connect 稽核記錄會針對所有稽核記錄使用資源類型 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 專案、資料夾或機構 ID。您可以指定其他已建立索引的
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
您可以使用 Google Cloud 主控台、gcloud
指令列工具或 Logging API,在 Cloud Logging 中查看稽核記錄。
控制台
您可以使用 Google Cloud 控制台中的記錄檔探索工具 擷取 Firebase 專案、資料夾 或機構:
前往 Google Cloud 控制台,前往 記錄 >記錄檔探索工具頁面
在「Logs Explorer」頁面中,選取現有的 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。您可以使用 Cloud Pub/Sub 將資料路由至其他應用程式、其他存放區和第三方。
如要管理整個機構的稽核記錄,您可以建立 匯總接收器 轉送機構中任何或所有 Firebase 專案的記錄。
- 如果已啟用的資料存取稽核記錄導致 Firebase 專案超過記錄配額,您可以建立接收器,從 Logging 中排除資料存取稽核記錄。
如需轉送記錄的操作說明,請參閱 設定接收器。
定價
如要進一步瞭解 Cloud Logging 的定價,請參閱「Google Cloud 作業套件定價:Cloud Logging」一文。