Trang này mô tả nhật ký kiểm tra do Firebase tạo trong Cloud Audit Logs.
Tổng quan
Các dịch vụ Firebase ghi nhật ký kiểm tra để giúp bạn trả lời các câu hỏi "Ai đã làm gì, ở đâu và khi nào?". Đây là Cloud Audit Logs, được cung cấp trong dự án Google Cloud kết nối với dự án Firebase của bạn.
Mỗi dự án Firebase chỉ chứa nhật ký kiểm tra cho các tài nguyên nằm trực tiếp trong dự án đó.
Để xem thông tin tổng quan chung về Cloud Audit Logs, hãy xem bài viết Tổng quan về Cloud Audit Logs. Để hiểu rõ hơn về định dạng nhật ký kiểm tra, hãy xem bài viết Tìm hiểu về nhật ký kiểm tra.
Nhật ký kiểm tra hiện có
Các loại nhật ký kiểm tra sau đây hiện có cho tính năng Kiểm tra ứng dụng Firebase:
-
Nhật ký kiểm tra Hoạt động của quản trị viên
Bao gồm các thao tác "ghi của quản trị viên" để ghi siêu dữ liệu hoặc thông tin cấu hình thông tin.
Bạn không thể tắt nhật ký kiểm tra Hoạt động của quản trị viên.
-
Nhật ký kiểm tra Quyền truy cập dữ liệu
Bao gồm các thao tác "đọc của quản trị viên" để đọc siêu dữ liệu hoặc thông tin cấu hình thông tin. Cũng bao gồm các thao tác "đọc dữ liệu" và "ghi dữ liệu" để đọc hoặc ghi dữ liệu do người dùng cung cấp.
Để nhận nhật ký kiểm tra Quyền truy cập dữ liệu, bạn phải bật nhật ký này một cách rõ ràng.
Để biết nội dung mô tả đầy đủ hơn về các loại nhật ký kiểm tra, hãy xem bài viết Các loại nhật ký kiểm tra.
Các thao tác được kiểm tra
Sau đây là tóm tắt về các thao tác API tương ứng với từng loại nhật ký kiểm tra trong tính năng Kiểm tra ứng dụng Firebase:
| Loại quyền | Phương thức |
|---|---|
ADMIN_READ |
google.firebase.appcheck.v1.ConfigService.BatchGetAppAttestConfigsgoogle.firebase.appcheck.v1.ConfigService.BatchGetDeviceCheckConfigsgoogle.firebase.appcheck.v1.ConfigService.BatchGetPlayIntegrityConfigsgoogle.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaEnterpriseConfigsgoogle.firebase.appcheck.v1.ConfigService.BatchGetRecaptchaV3Configsgoogle.firebase.appcheck.v1.ConfigService.BatchGetSafetyNetConfigsgoogle.firebase.appcheck.v1.ConfigService.GetAppAttestConfiggoogle.firebase.appcheck.v1.ConfigService.GetDebugTokengoogle.firebase.appcheck.v1.ConfigService.GetDeviceCheckConfiggoogle.firebase.appcheck.v1.ConfigService.GetPlayIntegrityConfiggoogle.firebase.appcheck.v1.ConfigService.GetRecaptchaEnterpriseConfiggoogle.firebase.appcheck.v1.ConfigService.GetRecaptchaV3Configgoogle.firebase.appcheck.v1.ConfigService.GetSafetyNetConfiggoogle.firebase.appcheck.v1.ConfigService.GetServicegoogle.firebase.appcheck.v1.ConfigService.ListDebugTokensgoogle.firebase.appcheck.v1.ConfigService.ListServicesgoogle.firebase.appcheck.v1beta.ConfigService.BatchGetAppAttestConfigsgoogle.firebase.appcheck.v1beta.ConfigService.BatchGetDeviceCheckConfigsgoogle.firebase.appcheck.v1beta.ConfigService.BatchGetPlayIntegrityConfigsgoogle.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaConfigsgoogle.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaEnterpriseConfigsgoogle.firebase.appcheck.v1beta.ConfigService.BatchGetRecaptchaV3Configsgoogle.firebase.appcheck.v1beta.ConfigService.BatchGetSafetyNetConfigsgoogle.firebase.appcheck.v1beta.ConfigService.GetAppAttestConfiggoogle.firebase.appcheck.v1beta.ConfigService.GetDebugTokengoogle.firebase.appcheck.v1beta.ConfigService.GetDeviceCheckConfiggoogle.firebase.appcheck.v1beta.ConfigService.GetPlayIntegrityConfiggoogle.firebase.appcheck.v1beta.ConfigService.GetRecaptchaConfiggoogle.firebase.appcheck.v1beta.ConfigService.GetRecaptchaEnterpriseConfiggoogle.firebase.appcheck.v1beta.ConfigService.GetRecaptchaV3Configgoogle.firebase.appcheck.v1beta.ConfigService.GetResourcePolicygoogle.firebase.appcheck.v1beta.ConfigService.GetSafetyNetConfiggoogle.firebase.appcheck.v1beta.ConfigService.GetServicegoogle.firebase.appcheck.v1beta.ConfigService.ListDebugTokensgoogle.firebase.appcheck.v1beta.ConfigService.ListResourcePoliciesgoogle.firebase.appcheck.v1beta.ConfigService.ListServices |
ADMIN_WRITE |
google.firebase.appcheck.v1.ConfigService.BatchUpdateServicesgoogle.firebase.appcheck.v1.ConfigService.CreateDebugTokengoogle.firebase.appcheck.v1.ConfigService.DeleteDebugTokengoogle.firebase.appcheck.v1.ConfigService.UpdateAppAttestConfiggoogle.firebase.appcheck.v1.ConfigService.UpdateDebugTokengoogle.firebase.appcheck.v1.ConfigService.UpdateDeviceCheckConfiggoogle.firebase.appcheck.v1.ConfigService.UpdatePlayIntegrityConfiggoogle.firebase.appcheck.v1.ConfigService.UpdateRecaptchaEnterpriseConfiggoogle.firebase.appcheck.v1.ConfigService.UpdateRecaptchaV3Configgoogle.firebase.appcheck.v1.ConfigService.UpdateSafetyNetConfiggoogle.firebase.appcheck.v1.ConfigService.UpdateServicegoogle.firebase.appcheck.v1beta.ConfigService.BatchUpdateResourcePoliciesgoogle.firebase.appcheck.v1beta.ConfigService.BatchUpdateServicesgoogle.firebase.appcheck.v1beta.ConfigService.CreateDebugTokengoogle.firebase.appcheck.v1beta.ConfigService.CreateResourcePolicygoogle.firebase.appcheck.v1beta.ConfigService.DeleteDebugTokengoogle.firebase.appcheck.v1beta.ConfigService.DeleteResourcePolicygoogle.firebase.appcheck.v1beta.ConfigService.UpdateAppAttestConfiggoogle.firebase.appcheck.v1beta.ConfigService.UpdateDebugTokengoogle.firebase.appcheck.v1beta.ConfigService.UpdateDeviceCheckConfiggoogle.firebase.appcheck.v1beta.ConfigService.UpdatePlayIntegrityConfiggoogle.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaConfiggoogle.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaEnterpriseConfiggoogle.firebase.appcheck.v1beta.ConfigService.UpdateRecaptchaV3Configgoogle.firebase.appcheck.v1beta.ConfigService.UpdateResourcePolicygoogle.firebase.appcheck.v1beta.ConfigService.UpdateSafetyNetConfiggoogle.firebase.appcheck.v1beta.ConfigService.UpdateServicegoogle.firebase.appcheck.v1beta.TokenVerificationService.VerifyAppCheckToken |
Định dạng nhật ký kiểm tra
Các mục trong nhật ký kiểm tra bao gồm các đối tượng sau:
Chính mục nhập nhật ký, là một đối tượng thuộc loại
LogEntry. Các trường hữu ích bao gồm:logNamechứa mã nhận dạng tài nguyên và loại nhật ký kiểm tra.resourcechứa mục tiêu của thao tác được kiểm tra.timestampchứa thời gian của thao tác được kiểm tra.protoPayloadchứa thông tin được kiểm tra.
Dữ liệu ghi nhật ký kiểm tra, là một đối tượng
AuditLogđược lưu giữ trong trườngprotoPayloadcủa mục nhập nhật ký.Thông tin kiểm tra không bắt buộc dành riêng cho dịch vụ, là một đối tượng dành riêng cho dịch vụ. Đối với các bản tích hợp cũ, đối tượng này được lưu giữ trong trường
serviceDatacủa đối tượngAuditLog; các bản tích hợp mới hơn sử dụng trườngmetadata.
Để biết các trường khác trong các đối tượng này và cách diễn giải các trường đó, hãy xem bài viết Tìm hiểu về nhật ký kiểm tra.
Tên nhật ký
Tên tài nguyên Cloud Audit Logs cho biết dự án Firebase hoặc thực thể khác Google Cloud sở hữu nhật ký kiểm tra, cũng như nhật nhật ký đó có chứa Hoạt động của quản trị viên, Quyền truy cập dữ liệu, Chính sách bị từ chối hay Sự kiện hệ thống dữ liệu ghi nhật ký kiểm tra hay không. Ví dụ: sau đây cho thấy tên nhật ký cho nhật ký kiểm tra Hoạt động của quản trị viên ở cấp dự án và nhật ký kiểm tra Quyền truy cập dữ liệu của một tổ chức. Các biến biểu thị mã nhận dạng dự án Firebase và tổ chức.
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Tên dịch vụ
Nhật ký kiểm tra của tính năng Kiểm tra ứng dụng Firebase sử dụng tên dịch vụ firebaseappcheck.googleapis.com.
Để xem danh sách đầy đủ tất cả tên dịch vụ API Cloud Logging và loại tài nguyên được theo dõi tương ứng, hãy xem bài viết Liên kết dịch vụ với tài nguyên.
Loại tài nguyên
Nhật ký kiểm tra của tính năng Kiểm tra ứng dụng Firebase sử dụng loại tài nguyên audited_resource cho tất cả nhật ký kiểm tra.
Để xem danh sách tất cả các loại tài nguyên được theo dõi của Cloud Logging và thông tin mô tả, hãy xem bài viết Các loại tài nguyên được theo dõi.
Bật tính năng ghi nhật ký kiểm tra
Nhật ký kiểm tra Hoạt động của quản trị viên luôn được bật; bạn không thể tắt nhật ký này.
Nhật ký kiểm tra Quyền truy cập dữ liệu bị tắt theo mặc định và không được ghi trừ phi bạn bật nhật ký này một cách rõ ràng (ngoại lệ là nhật ký kiểm tra Quyền truy cập dữ liệu cho BigQuery, không thể tắt nhật ký này).
Để biết hướng dẫn về cách bật một số hoặc tất cả nhật ký kiểm tra Quyền truy cập dữ liệu, hãy xem bài viết Định cấu hình nhật ký Quyền truy cập dữ liệu.
Quyền và vai trò
Quyền và vai trò trong Cloud IAM xác định khả năng truy cập vào dữ liệu nhật ký kiểm tra trong tài nguyên Google Cloud.
Vai trò Người xem nhật ký (
roles/logging.viewer) cho phép bạn chỉ có quyền đọc nhật ký kiểm tra Hoạt động của quản trị viên, Chính sách bị từ chối và Sự kiện hệ thống. Nếu chỉ có vai trò này, bạn không thể xem nhật ký kiểm tra Quyền truy cập dữ liệu trong bộ chứa_Default.Vai trò Người xem nhật ký riêng tư
(roles/logging.privateLogViewer) bao gồm các quyền có trongroles/logging.viewer, cộng với khả năng đọc nhật ký kiểm tra Quyền truy cập dữ liệu trong bộ chứa_Default.Xin lưu ý rằng nếu các nhật ký riêng tư này được lưu trữ trong các bộ chứa do người dùng xác định, thì bất kỳ người dùng nào có quyền đọc nhật ký trong các bộ chứa đó đều có thể đọc nhật ký riêng tư. Để biết thêm thông tin về bộ chứa nhật ký, hãy xem bài viết Tổng quan về việc định tuyến và lưu trữ.
Để biết thêm thông tin về các quyền và vai trò trong Cloud IAM áp dụng cho dữ liệu nhật ký kiểm tra, hãy xem bài viết Kiểm soát quyền truy cập.
Xem nhật ký
Để tìm và xem nhật ký kiểm tra, bạn cần biết mã nhận dạng của dự án, thư mục hoặc tổ chức Firebase mà bạn muốn xem thông tin ghi nhật ký kiểm tra. Bạn có thể chỉ định thêm các trường được lập chỉ mục
LogEntry khác, chẳng hạn như resource.type; để biết chi tiết, hãy xem bài viết
Nhanh chóng tìm mục nhật ký.
Sau đây là tên nhật ký kiểm tra; chúng bao gồm các biến cho mã nhận dạng của dự án Firebase, thư mục hoặc tổ chức:
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
Bạn có thể xem nhật ký kiểm tra trong Cloud Logging bằng bảng điều khiển Cloud, công cụ dòng lệnh gcloud hoặc API Logging.
Bảng điều khiển
Bạn có thể sử dụng Trình khám phá nhật ký trong bảng điều khiển Google Cloud để truy xuất các mục trong nhật ký kiểm tra cho dự án, thư mục hoặc tổ chức Firebase của mình:
Trong bảng điều khiển Cloud, hãy chuyển đến trang Logging > Logs Explorer (Ghi nhật ký > Trình khám phá nhật ký).
Trên trang Logs Explorer (Trình khám phá nhật ký), hãy chọn một dự án Firebase, thư mục hoặc tổ chức hiện có.
Trong ngăn Query builder (Trình tạo truy vấn), hãy làm như sau:
Trong Resource type (Loại tài nguyên), hãy chọn tài nguyên Google Cloud mà bạn muốn xem nhật ký kiểm tra.
Trong Log name (Tên nhật ký), hãy chọn loại nhật ký kiểm tra mà bạn muốn xem:
- Đối với nhật ký kiểm tra Hoạt động của quản trị viên, hãy chọn activity (hoạt động).
- Đối với nhật ký kiểm tra Quyền truy cập dữ liệu, hãy chọn data_access (quyền truy cập dữ liệu).
- Đối với nhật ký kiểm tra Sự kiện hệ thống, hãy chọn system_event (sự kiện hệ thống).
- Đối với nhật ký kiểm tra Chính sách bị từ chối, hãy chọn policy (chính sách).
Nếu bạn không thấy các lựa chọn này, thì không có nhật ký kiểm tra nào thuộc loại đó trong dự án Firebase, thư mục hoặc tổ chức.
Để biết thêm thông tin chi tiết về cách truy vấn bằng Trình khám phá nhật ký, hãy xem bài viết Tạo truy vấn nhật ký.
gcloud
Công cụ dòng lệnh gcloud cung cấp giao diện dòng lệnh cho API Cloud Logging. Hãy cung cấp PROJECT_ID, FOLDER_ID hoặc ORGANIZATION_ID hợp lệ trong mỗi tên nhật ký.
Để đọc các mục trong nhật ký kiểm tra ở cấp dự án Firebase, hãy chạy lệnh sau:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID
Để đọc các mục trong nhật ký kiểm tra ở cấp thư mục, hãy chạy lệnh sau:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID
Để đọc các mục trong nhật ký kiểm tra ở cấp tổ chức, hãy chạy lệnh sau:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID
Để biết thêm thông tin về cách sử dụng công cụ gcloud, hãy xem
bài viết Đọc các mục nhật ký.
API
Khi tạo truy vấn, hãy thay thế các biến bằng các giá trị hợp lệ, thay thế tên hoặc mã nhận dạng nhật ký kiểm tra thích hợp ở cấp dự án, cấp thư mục hoặc cấp tổ chức như trong tên nhật ký kiểm tra. Ví dụ: nếu truy vấn của bạn bao gồm PROJECT_ID, thì mã nhận dạng dự án mà bạn cung cấp phải tham chiếu đến dự án Firebase hiện được chọn.
Để sử dụng API Logging nhằm xem các mục trong nhật ký kiểm tra, hãy làm như sau:
Chuyển đến phần Try this API trong tài liệu về phương thức
entries.list.Đặt nội dung sau vào phần Request body (Nội dung yêu cầu) của biểu mẫu Try this API (Dùng thử API này). Khi nhấp vào biểu mẫu được điền sẵn này, hệ thống sẽ tự động điền nội dung yêu cầu, nhưng bạn cần cung cấp
PROJECT_IDhợp lệ trong mỗi tên nhật ký.{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }Nhấp vào Execute (Thực thi).
Để biết thêm thông tin chi tiết về cách truy vấn, hãy xem bài viết Ngôn ngữ truy vấn nhật ký.
Để xem ví dụ về một mục nhập nhật ký kiểm tra và cách tìm thông tin quan trọng nhất trong đó, hãy xem bài viết Ví dụ về mục nhập nhật ký kiểm tra.
Định tuyến nhật ký kiểm tra
Bạn có thể định tuyến nhật ký kiểm tra đến các đích đến được hỗ trợ theo cách tương tự như cách bạn có thể định tuyến các loại nhật ký khác. Dưới đây là một số lý do khiến bạn muốn định tuyến nhật ký kiểm tra:
Để lưu giữ nhật ký kiểm tra trong một khoảng thời gian dài hơn hoặc sử dụng các chức năng tìm kiếm mạnh mẽ hơn, bạn có thể định tuyến bản sao nhật ký kiểm tra đến Google Cloud Storage, BigQuery hoặc Google Cloud Pub/Sub. Khi sử dụng Cloud Pub/Sub, bạn có thể định tuyến đến các ứng dụng khác, kho lưu trữ khác và đến bên thứ ba.
Để quản lý nhật ký kiểm tra trên toàn bộ tổ chức, bạn có thể tạo các đích tổng hợp có thể định tuyến nhật ký từ bất kỳ hoặc tất cả dự án Firebase trong tổ chức.
- Nếu nhật ký kiểm tra Quyền truy cập dữ liệu đã bật đang đẩy các dự án Firebase của bạn vượt quá hạn mức nhật ký, bạn có thể tạo các đích loại trừ nhật ký kiểm tra Quyền truy cập dữ liệu khỏi Logging.
Để biết hướng dẫn về cách định tuyến nhật ký, hãy xem bài viết Định cấu hình đích.
Giá
Nhật ký kiểm tra Hoạt động của quản trị viên và nhật ký kiểm tra Sự kiện hệ thống không mất phí.
Nhật ký kiểm tra Quyền truy cập dữ liệu và nhật ký kiểm tra Chính sách bị từ chối có tính phí.
Để biết thêm thông tin về giá của Cloud Logging, hãy xem bài viết Giá của bộ hoạt động của Google Cloud: Cloud Logging.