Halaman ini menjelaskan log audit yang dibuat oleh Firebase sebagai bagian dari Cloud Audit Logs .
Ringkasan
Layanan Firebase menulis log audit untuk membantu Anda menjawab pertanyaan, "Siapa melakukan apa, di mana, dan kapan?". Ini adalah Log Audit Cloud, yang disediakan sebagai bagian dari proyek Google Cloud Platform yang terhubung ke proyek Firebase Anda .
Masing-masing proyek Firebase Anda hanya berisi log audit untuk sumber daya yang langsung ada dalam proyek tersebut.
Untuk gambaran umum tentang Log Audit Cloud, lihat Ikhtisar Log Audit Cloud . Untuk pemahaman lebih mendalam tentang format log audit, lihat Memahami log audit .
Log audit yang tersedia
Jenis log audit berikut tersedia untuk Cloud Storage for Firebase:
Log audit Aktivitas Admin
Termasuk operasi "admin write" yang menulis metadata atau informasi konfigurasi.
Anda tidak dapat menonaktifkan log audit Aktivitas Admin.
Untuk penjelasan lebih lengkap mengenai jenis log audit, lihat Jenis log audit .
Operasi yang diaudit
Berikut ringkasan operasi API mana yang sesuai dengan setiap jenis log audit di Cloud Storage for Firebase:
Kategori log audit | Cloud Storage untuk operasi Firebase | |
---|---|---|
Operasi proyek | ||
Aktivitas Admin | ember.dapatkan ember.daftar bucket.addFirebase bucket.removeFirebase |
Format log audit
Entri log audit mencakup objek berikut:
Entri log itu sendiri, yang merupakan objek bertipe
LogEntry
. Bidang yang berguna mencakup hal berikut:-
logName
berisi ID sumber daya dan jenis log audit. -
resource
berisi target operasi yang diaudit. -
timestamp
berisi waktu operasi yang diaudit. -
protoPayload
berisi informasi yang diaudit.
-
Data logging audit, yang merupakan objek
AuditLog
yang disimpan di bidangprotoPayload
pada entri log.Informasi audit khusus layanan opsional, yang merupakan objek khusus layanan. Untuk integrasi yang lebih lama, objek ini disimpan di bidang
serviceData
pada objekAuditLog
; integrasi yang lebih baru menggunakan bidangmetadata
.
Untuk bidang lain dalam objek ini, dan cara menafsirkannya, tinjau Memahami log audit .
Nama log
Nama resource Cloud Audit Logs menunjukkan project Firebase atau entitas GCP lain yang memiliki log audit, dan apakah log tersebut berisi data logging audit Aktivitas Admin, Akses Data, Kebijakan Ditolak, atau Peristiwa Sistem. Misalnya, berikut ini memperlihatkan nama log untuk log audit Aktivitas Admin tingkat proyek dan log audit Akses Data organisasi. Variabel menunjukkan ID proyek dan organisasi Firebase.
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Nama layanan
Log audit Cloud Storage for Firebase menggunakan nama layanan firebasestorage.googleapis.com
.
Untuk daftar lengkap semua nama layanan Cloud Logging API dan jenis sumber daya terkait yang dipantau, lihat Memetakan layanan ke sumber daya .
Jenis sumber daya
Log audit Cloud Storage for Firebase menggunakan jenis sumber daya audited_resource
untuk semua log audit.
Untuk daftar semua jenis sumber daya yang dipantau Cloud Logging dan informasi deskriptifnya, lihat Jenis sumber daya yang dipantau .
Aktifkan pencatatan audit
Log audit Aktivitas Admin selalu diaktifkan; Anda tidak dapat menonaktifkannya.
Izin dan peran
Izin dan peran Cloud IAM menentukan kemampuan Anda untuk mengakses data log audit di resource GCP.
Saat memutuskan izin dan peran khusus Logging mana yang berlaku untuk kasus penggunaan Anda, pertimbangkan hal berikut:
Peran Logs Viewer (
roles/logging.viewer
) memberi Anda akses hanya baca ke log audit Aktivitas Admin, Kebijakan Ditolak, dan Peristiwa Sistem. Jika Anda hanya memiliki peran ini, Anda tidak dapat melihat log audit Akses Data yang ada di keranjang_Default
.Peran Penampil Log Pribadi
(roles/logging.privateLogViewer
) mencakup izin yang terdapat dalamroles/logging.viewer
, ditambah kemampuan untuk membaca log audit Akses Data di bucket_Default
.Perhatikan bahwa jika log pribadi ini disimpan dalam keranjang yang ditentukan pengguna, maka setiap pengguna yang memiliki izin untuk membaca log dalam keranjang tersebut dapat membaca log pribadi. Untuk informasi selengkapnya tentang bucket log, lihat Ikhtisar perutean dan penyimpanan .
Untuk informasi lebih lanjut tentang izin dan peran Cloud IAM yang berlaku untuk data log audit, lihat Kontrol akses .
Lihat log
Untuk menemukan dan melihat log audit, Anda perlu mengetahui ID proyek, folder, atau organisasi Firebase yang informasi logging auditnya ingin Anda lihat. Anda dapat menentukan lebih lanjut bidang LogEntry
terindeks lainnya, seperti resource.type
; untuk detailnya, tinjau Temukan entri log dengan cepat .
Berikut ini adalah nama log auditnya; variabel tersebut menyertakan variabel untuk pengidentifikasi proyek, folder, atau organisasi 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
Anda dapat melihat log audit di Cloud Logging menggunakan GCP Console, alat command line gcloud
, atau Logging API.
Menghibur
Anda dapat menggunakan Logs Explorer di GCP Console untuk mengambil entri log audit untuk project, folder, atau organisasi Firebase Anda:
Di GCP Console, buka halaman Logging > Logs Explorer .
Di halaman Logs Explorer , pilih proyek, folder, atau organisasi Firebase yang ada.
Di panel Pembuat kueri , lakukan hal berikut:
Di Jenis sumber daya , pilih sumber daya GCP yang log auditnya ingin Anda lihat.
Di Nama log , pilih jenis log audit yang ingin Anda lihat:
- Untuk log audit Aktivitas Admin, pilih aktivitas .
- Untuk log audit Akses Data, pilih data_access .
- Untuk log audit Peristiwa Sistem, pilih system_event .
- Untuk log audit Kebijakan Ditolak, pilih kebijakan .
Jika Anda tidak melihat opsi ini, berarti tidak ada log audit jenis tersebut yang tersedia di proyek, folder, atau organisasi Firebase.
Untuk detail selengkapnya tentang pembuatan kueri menggunakan Logs Explorer, lihat Membuat kueri log .
gcloud
Alat baris perintah gcloud
menyediakan antarmuka baris perintah ke Cloud Logging API. Berikan PROJECT_ID
, FOLDER_ID
, atau ORGANIZATION_ID
yang valid di setiap nama log.
Untuk membaca entri log audit tingkat proyek Firebase, jalankan perintah berikut:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" --project=PROJECT_ID
Untuk membaca entri log audit tingkat folder Anda, jalankan perintah berikut:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" --folder=FOLDER_ID
Untuk membaca entri log audit tingkat organisasi, jalankan perintah berikut:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID
Untuk informasi selengkapnya tentang penggunaan alat gcloud
, lihat Membaca entri log .
API
Saat membuat kueri Anda, ganti variabel dengan nilai yang valid, gantikan nama atau pengidentifikasi log audit tingkat proyek, tingkat folder, atau tingkat organisasi yang sesuai seperti yang tercantum dalam nama log audit. Misalnya, jika kueri Anda menyertakan PROJECT_ID , maka pengidentifikasi proyek yang Anda berikan harus mengacu pada proyek Firebase yang saat ini dipilih.
Untuk menggunakan Logging API guna melihat entri log audit Anda, lakukan hal berikut:
Buka bagian Coba API ini dalam dokumentasi untuk metode
entries.list
.Masukkan yang berikut ini ke bagian isi Permintaan pada formulir Coba API ini . Mengklik formulir yang telah diisi sebelumnya ini secara otomatis akan mengisi isi permintaan, namun Anda perlu menyediakan
PROJECT_ID
yang valid di setiap nama log.{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Klik Jalankan .
Untuk detail lebih lanjut tentang pembuatan kueri, lihat Pencatatan log bahasa kueri .
Untuk contoh entri log audit dan cara menemukan informasi terpenting di dalamnya, lihat Contoh entri log audit .
Log audit rute
Anda dapat merutekan log audit ke tujuan yang didukung dengan cara yang sama seperti Anda merutekan jenis log lainnya. Berikut beberapa alasan Anda mungkin ingin merutekan log audit Anda:
Untuk menyimpan log audit dalam jangka waktu yang lebih lama atau untuk menggunakan kemampuan penelusuran yang lebih canggih, Anda dapat merutekan salinan log audit Anda ke Google Cloud Storage, BigQuery, atau Google Cloud Pub/Sub. Dengan menggunakan Cloud Pub/Sub, Anda dapat merutekan ke aplikasi lain, repositori lain, dan ke pihak ketiga.
Untuk mengelola log audit di seluruh organisasi, Anda dapat membuat sink gabungan yang dapat merutekan log dari salah satu atau semua project Firebase di organisasi.
Untuk instruksi tentang perutean log, lihat Konfigurasikan sink .
Harga
Log audit Aktivitas Admin dan log audit Peristiwa Sistem tidak dikenakan biaya.
Log audit Akses Data dan log audit Kebijakan Ditolak dikenakan biaya.
Untuk informasi selengkapnya tentang harga Cloud Logging, lihat harga rangkaian operasi Google Cloud: Cloud Logging .