本頁面說明 Firebase 建立的稽核記錄,該記錄屬於 Cloud 稽核記錄的一部分。
總覽
Firebase 服務會寫入稽核記錄,協助您回答有關「人事時地物」的問題。這些是 Cloud Audit Logs,是透過與 Firebase 專案連結的 Google Cloud 專案提供。
您的每個 Firebase 專案都僅含有直接隸屬於專案中資源的稽核記錄。
如需 Cloud 稽核記錄的概要總覽,請參閱「Cloud 稽核記錄總覽」。如要深入瞭解稽核記錄格式,請參閱「瞭解稽核記錄」。
可用的稽核記錄
Firebase Data Connect 可用的稽核記錄類型如下:
-
管理員活動稽核記錄
包含寫入中繼資料或設定資訊的「管理員寫入」作業。
您無法停用管理員活動稽核記錄。
-
資料存取稽核記錄
包含讀取中繼資料或設定資訊的「管理員讀取」作業。也包括讀取或寫入使用者提供資料的「資料讀取」和「資料寫入」作業。
如要接收資料存取稽核記錄,您必須明確啟用這些記錄。
如需稽核記錄類型的完整說明,請參閱「稽核記錄類型」。
已稽核的作業
下表摘要列出與 Firebase Data Connect 中各稽核記錄類型對應的 API 作業:
權限類型 | 方法 |
---|---|
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 專案或其他實體,以及記錄中是否包含管理員活動、資料存取、政策拒絕或系統事件稽核記錄資料。例如,下列內容顯示專案層級管理員活動稽核記錄和機構資料存取稽核記錄的記錄名稱。這些變數代表 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 資源中的稽核記錄資料。
決定要為您的用途套用哪些記錄特定權限和角色時,請考量以下事項:
「Logs Viewer」角色 (
roles/logging.viewer
) 可讓您對「管理員活動」、「政策拒絕」和「系統事件」稽核記錄擁有唯讀權限。如果您只有這個角色,就無法查看_Default
值區中的資料存取稽核記錄。私密記錄檢視者角色
(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 控制台中,前往「Logging」>「Logs Explorer」頁面。
在「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」一文。