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ụ của 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à Nhật ký kiểm tra trên đám mây, được cung cấp trong dự án Google Cloud được 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 những tài nguyên nằm ngay trong dự án.
Để biết thông tin tổng quan chung về Nhật ký kiểm tra trên Cloud, hãy xem bài viết Thông tin tổng quan về Nhật ký kiểm tra trên Cloud. Để hiểu rõ hơn về định dạng nhật ký kiểm tra, hãy xem phần Tìm hiểu về nhật ký kiểm tra.
Các nhật ký kiểm tra hiện có
Firebase App Hosting cung cấp các loại nhật ký kiểm tra sau:
-
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.
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 vào 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. 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à thông tin tóm tắt về những thao tác API tương ứng với từng loại nhật ký kiểm tra trong Firebase App Hosting:
Loại quyền | Phương thức |
---|---|
ADMIN_READ |
google.firebase.apphosting.v1alpha.AppHosting.GetBackend google.firebase.apphosting.v1alpha.AppHosting.GetBuild google.firebase.apphosting.v1alpha.AppHosting.GetRollout google.firebase.apphosting.v1alpha.AppHosting.GetTraffic google.firebase.apphosting.v1alpha.AppHosting.ListBackends google.firebase.apphosting.v1alpha.AppHosting.ListBuilds google.firebase.apphosting.v1alpha.AppHosting.ListDomains google.firebase.apphosting.v1alpha.AppHosting.ListRollouts google.firebase.apphosting.v1beta.AppHosting.GetBackend google.firebase.apphosting.v1beta.AppHosting.GetBuild google.firebase.apphosting.v1beta.AppHosting.GetDomain google.firebase.apphosting.v1beta.AppHosting.GetTraffic google.firebase.apphosting.v1beta.AppHosting.ListBackends google.firebase.apphosting.v1beta.AppHosting.ListBuilds google.firebase.apphosting.v1beta.AppHosting.ListDomains google.firebase.apphosting.v1beta.AppHosting.ListRollouts |
ADMIN_WRITE |
google.firebase.apphosting.v1alpha.AppHosting.CreateBackend google.firebase.apphosting.v1alpha.AppHosting.CreateBuild google.firebase.apphosting.v1alpha.AppHosting.CreateDomain google.firebase.apphosting.v1alpha.AppHosting.CreateRollout google.firebase.apphosting.v1alpha.AppHosting.DeleteBackend google.firebase.apphosting.v1alpha.AppHosting.DeleteBuild google.firebase.apphosting.v1alpha.AppHosting.DeleteDomain google.firebase.apphosting.v1alpha.AppHosting.UpdateBuild google.firebase.apphosting.v1alpha.AppHosting.UpdateTraffic google.firebase.apphosting.v1beta.AppHosting.CreateBackend google.firebase.apphosting.v1beta.AppHosting.CreateBuild google.firebase.apphosting.v1beta.AppHosting.CreateDomain google.firebase.apphosting.v1beta.AppHosting.CreateRollout google.firebase.apphosting.v1beta.AppHosting.DeleteBackend google.firebase.apphosting.v1beta.AppHosting.DeleteBuild google.firebase.apphosting.v1beta.AppHosting.DeleteDomain google.firebase.apphosting.v1beta.AppHosting.UpdateBackend google.firebase.apphosting.v1beta.AppHosting.UpdateDomain google.firebase.apphosting.v1beta.AppHosting.UpdateTraffic |
Định dạng nhật ký kiểm tra
Các mục nhập 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
. Sau đây là một số trường hữu ích:logName
chứa mã nhận dạng tài nguyên và loại nhật ký kiểm tra.resource
chứa mục tiêu của thao tác được kiểm tra.timestamp
chứa thời gian của thao tác được kiểm tra.protoPayload
chứa thông tin đã được kiểm tra.
Dữ liệu nhật ký kiểm tra là một đối tượng
AuditLog
được lưu giữ trong trườngprotoPayload
của mục nhật ký.Thông tin kiểm tra không bắt buộc theo từng dịch vụ, đây là một đối tượng theo từng dịch vụ. Đối với các tiện ích tích hợp cũ, đối tượng này nằm trong trường
serviceData
của đối tượngAuditLog
; các tiện ích tích hợp mới hơn sử dụng trườngmetadata
.
Để biết các trường khác trong những đối tượng này và cách diễn giải chúng, hãy xem phần Tìm hiểu nhật ký kiểm tra.
Tên nhật ký
Tên tài nguyên Nhật ký kiểm tra trên đám mây cho biết dự án Firebase hoặc thực thể Google Cloud khác sở hữu nhật ký kiểm tra, cũng như nhật ký đó có chứa dữ liệu nhật ký kiểm tra Hoạt động của Quản trị viên, Truy cập dữ liệu, Từ chối theo chính sách hay Sự kiện hệ thống 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 này biểu thị giá trị nhận dạng dự án và tổ chức Firebase.
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 dịch vụ Lưu trữ ứng dụng Firebase sử dụng tên dịch vụ firebaseapphosting.googleapis.com
.
Để xem danh sách đầy đủ tất cả tên dịch vụ Cloud Logging API và loại tài nguyên được giám sát tương ứng, hãy xem phần Ánh xạ dịch vụ với tài nguyên.
Loại tài nguyên
Nhật ký kiểm tra của dịch vụ Lưu trữ ứ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 giám sát của Cloud Logging và thông tin mô tả, hãy xem phần Các loại tài nguyên được giám sát.
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 và 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à sẽ không được ghi trừ phi bạn bật 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 phần Định cấu hình nhật ký truy cập dữ liệu.
Quyền và vai trò
Các quyền và vai trò của Cloud IAM xác định khả năng truy cập vào dữ liệu nhật ký kiểm tra trong các tài nguyên Google Cloud.
Khi quyết định áp dụng các quyền và vai trò dành riêng cho hoạt động ghi nhật ký cho trường hợp sử dụng của bạn, hãy cân nhắc những điều sau:
Vai trò Trình xem nhật ký (
roles/logging.viewer
) cho phép bạn chỉ đọc Nhật ký kiểm tra về Hoạt động của quản trị viên, Từ chối theo chính sách 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 nhóm_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 vào dữ liệu trong nhóm_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 vùng chứa do người dùng xác định, thì mọi người dùng có quyền đọc nhật ký trong các vùng chứa đó đều có thể đọc nhật ký riêng tư. Để biết thêm thông tin về các vùng 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ò Cloud IAM áp dụng cho dữ liệu nhật ký kiểm tra, hãy xem phần 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 giá trị 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 nhật ký kiểm tra. Bạn có thể chỉ định thêm các trường LogEntry
được lập chỉ mục khác, chẳng hạn như resource.type
; để biết thông tin chi tiết, hãy xem phần Nhanh chóng tìm thấy các mục nhập nhật ký.
Sau đây là tên nhật ký kiểm tra; chúng bao gồm các biến cho giá trị nhận dạng của dự án, thư mục hoặc tổ chức Firebase:
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 Google Cloud Console, công cụ dòng lệnh gcloud
hoặc Logging API.
Bảng điều khiển
Bạn có thể sử dụng Trình khám phá nhật ký trong Google Cloud Console để truy xuất các mục nhật ký kiểm tra cho dự án, thư mục hoặc tổ chức Firebase của mình:
Trong Google Cloud Console, hãy chuyển đến trang Logging > Logs Explorer (Ghi nhật ký > Trình khám phá nhật ký).
Trên trang Trình khám phá nhật ký, hãy chọn một dự án, thư mục hoặc tổ chức Firebase hiện có.
Trong ngăn Trình tạo truy vấn, hãy làm như sau:
Trong 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 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 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.
- Đối với Nhật ký kiểm tra sự kiện hệ thống, hãy chọn system_event.
- Đối với nhật ký kiểm tra Bị từ chối theo chính sách, hãy chọn chính sách.
Nếu bạn không thấy các lựa chọn này, thì tức là không có nhật ký kiểm tra nào thuộc loại đó trong dự án, thư mục hoặc tổ chức Firebase.
Để biết thêm thông tin chi tiết về cách truy vấn bằng Logs Explorer, hãy xem phần 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 Cloud Logging API. 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 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 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 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ư được liệt kê trong tên nhật ký kiểm tra. Ví dụ: nếu truy vấn của bạn có chứa một PROJECT_ID, thì mã nhận dạng dự án mà bạn cung cấp phải đề cập đến dự án Firebase hiện được chọn.
Để sử dụng Logging API 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 Dùng thử API này trong tài liệu về phương thức
entries.list
.Đặt nội dung sau vào phần Nội dung yêu cầu của biểu mẫu Dùng thử API này. Khi nhấp vào biểu mẫu được điền sẵn này, nội dung yêu cầu sẽ tự động được điền, nhưng bạn cần cung cấp một
PROJECT_ID
hợ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 Thực thi.
Để biết thêm thông tin về cách truy vấn, hãy xem phần Ngôn ngữ truy vấn ghi nhật ký.
Để xem ví dụ về một mục nhật ký kiểm tra và cách tìm thông tin quan trọng nhất trong mục đó, hãy xem phần Ví dụ về mục nhật ký kiểm tra.
Nhật ký kiểm tra tuyến đường
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. Sau đây là một số lý do khiến bạn có thể muốn định tuyến nhật ký kiểm tra:
Để lưu giữ nhật ký kiểm tra trong 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 của 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, cá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ý, thì bạn có thể tạo các đích nhận loại trừ nhật ký kiểm tra quyền truy cập dữ liệu khỏi tính năng Ghi nhật ký.
Để biết hướng dẫn về cách định tuyến nhật ký, hãy xem phần Định cấu hình đích nhận.
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 bị từ chối theo chính sách là những nhật ký có tính phí.
Để biết thêm thông tin về giá của Cloud Logging, hãy xem Giá của bộ công cụ hoạt động của Google Cloud: Cloud Logging.