Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Audit logging untuk Pemeriksaan Aplikasi Firebase

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 Cloud Audit Logs, yang disediakan sebagai bagian dari proyek Google Cloud yang terhubung dengan proyek Firebase Anda .

Masing-masing proyek Firebase Anda hanya berisi log audit untuk sumber daya yang berada langsung di dalam proyek.

Untuk ikhtisar umum tentang Cloud Audit Logs, lihat ikhtisar Cloud Audit Logs . Untuk pemahaman yang lebih mendalam tentang format log audit, lihat Memahami log audit .

Log audit yang tersedia

Jenis log audit berikut tersedia untuk Firebase App Check:

  • Log audit Aktivitas Admin

    Termasuk operasi "admin write" yang menulis metadata atau informasi konfigurasi.

    Anda tidak dapat menonaktifkan log audit Aktivitas Admin.

  • Log audit Akses Data

    Termasuk operasi "admin read" yang membaca metadata atau informasi konfigurasi. Juga mencakup operasi "baca data" dan "tulis data" yang membaca atau menulis data yang disediakan pengguna.

    Untuk menerima log audit Akses Data, Anda harus mengaktifkannya secara eksplisit .

Untuk deskripsi yang lebih lengkap tentang jenis log audit, lihat Jenis log audit .

Operasi yang diaudit

Berikut ini ringkasan operasi API yang sesuai dengan setiap jenis log audit di Firebase App Check:

Kategori log audit Operasi Pemeriksaan Aplikasi Firebase
Operasi proyek
Aktivitas Admin Layanan Pembaruan
Layanan Pembaruan Batch
Akses Data (ADMIN_READ) Dapatkan Layanan
DaftarLayanan
Operasi aplikasi
Aktivitas Admin PerbaruiAppAttestConfig
PerbaruiPerangkatPeriksaKonfig
PerbaruiPlayIntegrityConfig
PerbaruiRecaptchaEnterpriseConfig
PerbaruiRecaptchaV3Config
PerbaruiSafetyNetConfig
BuatDebugToken
PerbaruiDebugToken
HapusDebugToken
Akses Data (ADMIN_READ) GetAppAttestConfig
BatchGetAppAttestConfigs
GetDeviceCheckConfig
BatchGetDeviceCheckConfigs
GetPlayIntegrityConfig
BatchGetPlayIntegrityConfigs
GetRecaptchaEnterpriseConfig
BatchGetRecaptchaEnterpriseConfigs
DapatkanRecaptchaV3Config
BatchGetRecaptchaV3Configs
GetSafetyNetConfig
BatchGetSafetyNetConfigs
DapatkanDebugToken
DaftarDebugToken

Format log audit

Entri log audit mencakup objek berikut:

  • Entri log itu sendiri, yang merupakan objek bertipe LogEntry . Bidang yang berguna termasuk yang berikut:

    • logName berisi ID sumber daya dan jenis log audit.
    • Sumber 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 bidang protoPayload dari entri log.

  • Informasi audit khusus layanan opsional, yang merupakan objek khusus layanan. Untuk integrasi yang lebih lama, objek ini disimpan di bidang serviceData dari objek AuditLog ; integrasi yang lebih baru menggunakan bidang metadata .

Untuk bidang lain dalam objek ini, dan cara menafsirkannya, tinjau Memahami log audit .

Nama log

Nama resource Log Audit Cloud menunjukkan project Firebase atau entitas Google Cloud 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 menunjukkan nama log untuk log audit Aktivitas Admin tingkat proyek dan log audit Akses Data organisasi. Variabel menunjukkan proyek Firebase dan pengidentifikasi organisasi.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nama layanan

Log audit Firebase App Check menggunakan nama layanan firebaseappcheck.googleapis.com .

Untuk daftar lengkap semua nama layanan Cloud Logging API dan jenis sumber daya yang dipantau terkait, lihat Memetakan layanan ke sumber daya .

Jenis sumber daya

Log audit Firebase App Check menggunakan jenis resource audited_resource untuk semua log audit.

Untuk daftar semua jenis sumber daya yang dipantau Cloud Logging dan informasi deskriptif, lihat Jenis sumber daya yang dipantau .

Aktifkan pencatatan audit

Log audit Aktivitas Admin selalu diaktifkan; Anda tidak dapat menonaktifkannya.

Log audit Akses Data dinonaktifkan secara default dan tidak ditulis kecuali diaktifkan secara eksplisit (pengecualian adalah log audit Akses Data untuk BigQuery, yang tidak dapat dinonaktifkan).

Untuk petunjuk tentang mengaktifkan beberapa atau semua log audit Akses Data Anda, lihat Mengonfigurasi log Akses Data .

Izin dan peran

Izin dan peran Cloud IAM menentukan kemampuan Anda untuk mengakses data log audit di resource Google Cloud.

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 aktivitas Admin, Kebijakan Ditolak, dan log audit Peristiwa Sistem. Jika Anda hanya memiliki peran ini, Anda tidak dapat melihat log audit Akses Data yang ada di keranjang _Default .

  • Peran Private Logs Viewer (roles/logging.privateLogViewer ) menyertakan izin yang terdapat dalam roles/logging.viewer , ditambah kemampuan untuk membaca log audit Akses Data di keranjang _Default .

    Perhatikan bahwa jika log pribadi ini disimpan dalam keranjang yang ditentukan pengguna, maka setiap pengguna yang memiliki izin untuk membaca log di keranjang tersebut dapat membaca log pribadi. Untuk informasi selengkapnya tentang keranjang log, lihat Ikhtisar perutean dan penyimpanan .

Untuk informasi selengkapnya tentang izin dan peran Cloud IAM yang berlaku untuk mengaudit data log, lihat Kontrol akses .

Lihat log

Untuk menemukan dan melihat log audit, Anda perlu mengetahui pengidentifikasi proyek, folder, atau organisasi Firebase yang informasi log auditnya ingin Anda lihat. Anda dapat menentukan lebih lanjut bidang LogEntry diindeks lainnya, seperti resource.type ; untuk detailnya, tinjau Temukan entri log dengan cepat .

Berikut ini adalah nama log audit; mereka 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, fitur 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:

  1. Di GCP Console, buka halaman Logging > Logs Explorer .

    Buka halaman Logs Explorer

  2. Di halaman Logs Explorer , pilih proyek, folder, atau organisasi Firebase yang ada.

  3. Di panel pembuat kueri , lakukan hal berikut:

    • Di Resource type , pilih resource Google Cloud 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 membuat kueri menggunakan Logs Explorer, lihat Membuat kueri log .

gcloud

Alat command line gcloud menyediakan antarmuka command line 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 Anda, jalankan perintah berikut:

gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" --organization=ORGANIZATION_ID

Untuk informasi selengkapnya tentang menggunakan alat gcloud , lihat Membaca entri log .

API

Saat membuat kueri, ganti variabel dengan nilai yang valid, ganti 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 merujuk ke proyek Firebase yang saat ini dipilih.

Untuk menggunakan API Logging untuk melihat entri log audit Anda, lakukan hal berikut:

  1. Buka bagian Coba API ini dalam dokumentasi untuk metode entries.list .

  2. Masukkan yang berikut ini ke dalam Request body bagian dari formulir Try this API . Mengeklik formulir yang telah diisi sebelumnya ini secara otomatis mengisi badan permintaan, tetapi Anda harus memberikan PROJECT_ID yang valid di setiap nama log.

    {
      "resourceNames": [
        "projects/PROJECT_ID"
      ],
      "pageSize": 5,
      "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com"
    }
    
  3. Klik Jalankan .

Untuk detail selengkapnya tentang kueri, lihat Mencatat 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 adalah 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 ke Google Cloud Storage, BigQuery, atau Google Cloud Pub/Sub. 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.

  • Jika log audit Akses Data yang diaktifkan mendorong proyek Firebase di atas alokasi log, Anda dapat membuat sink yang mengecualikan log audit Akses Data dari Logging.

Untuk petunjuk tentang log perutean, lihat Mengonfigurasi 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 paket operasi Google Cloud: Cloud Logging .