Praktik terbaik untuk Cloud Audit Logs

Dokumen ini merekomendasikan urutan tugas logging audit untuk membantu organisasi Anda menjaga keamanan dan meminimalkan risiko.

Dokumen ini bukan daftar rekomendasi lengkap. Sebaliknya, tujuannya adalah untuk membantu Anda memahami cakupan aktivitas logging audit dan membuat rencana yang sesuai.

Setiap bagian memberikan tindakan utama dan menyertakan tautan untuk bacaan lebih lanjut.

Memahami Cloud Audit Logs

Log audit tersedia untuk sebagian besar layanan Google Cloud. Cloud Audit Logs menyediakan jenis log audit berikut untuk setiap project, folder, dan organisasi Google Cloud:

Jenis log audit Dapat Dikonfigurasi Dapat dikenakan biaya
Log audit Aktivitas Admin Tidak; selalu ditulis Tidak
Log audit Akses Data Ya Ya
Log audit Kebijakan Ditolak Ya; Anda dapat mengecualikan log ini agar tidak ditulis ke bucket log Ya
Log audit Peristiwa Sistem Tidak; selalu ditulis Tidak

Log audit Akses Data—kecuali untuk BigQuery—dinonaktifkan secara default. Jika ingin menulis log audit Akses Data untuk layanan Google Cloud, Anda harus mengaktifkannya secara eksplisit. Untuk mengetahui detailnya, lihat Mengonfigurasi log audit Akses Data di halaman ini.

Untuk mengetahui informasi tentang keseluruhan lanskap logging audit dengan Google Cloud, lihat Ringkasan Cloud Audit Logs.

Mengontrol akses ke log

Karena sensitivitas data logging audit, sangat penting untuk mengonfigurasi kontrol akses yang sesuai untuk pengguna di organisasi Anda.

Bergantung pada kepatuhan dan persyaratan penggunaan Anda, tetapkan kontrol akses ini sebagai berikut:

Menetapkan izin IAM

Izin dan peran IAM menentukan kemampuan pengguna untuk mengakses data log audit di Logging API, Logs Explorer, dan Google Cloud CLI. Gunakan IAM untuk memberikan akses terperinci ke bucket Google Cloud tertentu dan mencegah akses yang tidak diinginkan ke resource lain.

Peran berbasis izin yang Anda berikan kepada pengguna bergantung pada fungsi terkait audit dalam organisasi Anda. Misalnya, Anda mungkin memberikan izin administratif yang luas kepada CTO, sedangkan anggota tim developer mungkin memerlukan izin melihat log. Untuk panduan tentang peran yang akan diberikan kepada pengguna organisasi Anda, lihat mengonfigurasi peran untuk logging audit.

Saat menetapkan izin IAM, terapkan prinsip keamanan dengan hak istimewa terendah, sehingga Anda hanya memberi pengguna akses yang diperlukan ke resource Anda:

  • Hapus semua pengguna yang tidak penting.
  • Berikan izin yang benar dan minimal kepada pengguna penting.

Untuk mengetahui petunjuk tentang cara menetapkan izin IAM, lihat Mengelola akses ke project, folder, dan organisasi.

Mengonfigurasi tampilan log

Semua log, termasuk log audit, yang diterima oleh Logging ditulis ke dalam container penyimpanan yang disebut bucket log. Tampilan log memungkinkan Anda mengontrol siapa yang memiliki akses ke log dalam bucket log Anda.

Karena bucket log dapat berisi log dari beberapa project Google Cloud, Anda mungkin perlu mengontrol project Google Cloud mana yang dapat dilihat log oleh pengguna yang berbeda. Buat tampilan log kustom, yang memberi Anda kontrol akses yang lebih terperinci untuk bucket tersebut.

Untuk mendapatkan petunjuk cara membuat dan mengelola tampilan log, lihat Mengonfigurasi tampilan log di bucket log.

Menetapkan kontrol akses tingkat kolom log

Kontrol akses tingkat kolom memungkinkan Anda menyembunyikan kolom LogEntry individual dari pengguna project Google Cloud, sehingga Anda memiliki cara yang lebih terperinci untuk mengontrol data log yang dapat diakses oleh pengguna. Dibandingkan dengan tampilan log, yang menyembunyikan seluruh LogEntry, kontrol akses tingkat kolom menyembunyikan setiap kolom LogEntry. Misalnya, Anda mungkin ingin menyamarkan PII pengguna eksternal, seperti alamat email yang terdapat dalam payload entri log, dari sebagian besar pengguna organisasi Anda.

Untuk mengetahui petunjuk cara mengonfigurasi kontrol akses tingkat kolom, lihat Mengonfigurasi akses tingkat kolom.

Mengonfigurasi log audit Akses Data

Saat mengaktifkan layanan Google Cloud baru, evaluasi apakah Anda ingin mengaktifkan log audit Akses Data atau tidak.

Log audit Akses Data membantu Dukungan Google memecahkan masalah pada akun Anda. Oleh karena itu, sebaiknya aktifkan log audit Akses Data jika memungkinkan.

Guna mengaktifkan semua log audit untuk semua layanan, ikuti petunjuk untuk memperbarui kebijakan Identity and Access Management (IAM) dengan konfigurasi yang tercantum dalam kebijakan audit.

Setelah Anda menentukan kebijakan akses data tingkat organisasi dan mengaktifkan log audit Akses Data, gunakan project Google Cloud uji coba untuk memvalidasi konfigurasi pengumpulan log audit Anda sebelum membuat project Google Cloud developer dan produksi di organisasi.

Untuk petunjuk cara mengaktifkan log audit Akses Data, lihat Mengaktifkan log audit Akses Data.

Kontrol cara log Anda disimpan

Anda dapat mengonfigurasi aspek bucket organisasi dan juga membuat bucket yang ditentukan pengguna untuk memusatkan atau membagi lagi penyimpanan log Anda. Bergantung pada kepatuhan dan persyaratan penggunaan, Anda dapat menyesuaikan penyimpanan log sebagai berikut:

  • Pilih tempat log Anda disimpan.
  • Tentukan periode retensi data.
  • Lindungi log Anda dengan kunci enkripsi yang dikelola pelanggan (CMEK).

Memilih tempat log Anda disimpan

Di bucket Logging, terdapat resource regional: infrastruktur yang menyimpan, mengindeks, dan menelusuri log Anda terletak di lokasi geografis tertentu.

Organisasi Anda mungkin diwajibkan untuk menyimpan data log di region tertentu. Faktor utama dalam memilih region tempat log disimpan meliputi pemenuhan persyaratan latensi, ketersediaan, atau kepatuhan organisasi Anda.

Untuk otomatis menerapkan region penyimpanan tertentu ke bucket _Default dan _Required baru yang dibuat di organisasi, Anda dapat mengonfigurasi lokasi resource default.

Untuk mengetahui petunjuk cara mengonfigurasi lokasi resource default, lihat Mengonfigurasi setelan default untuk organisasi.

Menentukan periode retensi data

Cloud Logging menyimpan log sesuai dengan aturan retensi yang berlaku pada jenis bucket log tempat log disimpan.

Untuk memenuhi kebutuhan kepatuhan Anda, konfigurasikan Cloud Logging untuk menyimpan log antara 1 hari hingga 3.650 hari. Aturan retensi khusus berlaku untuk semua log dalam bucket, terlepas dari jenis log atau apakah log tersebut telah disalin dari lokasi lain.

Untuk mengetahui petunjuk cara menetapkan aturan retensi untuk bucket log, lihat Mengonfigurasi retensi khusus.

Melindungi log audit Anda dengan kunci enkripsi yang dikelola pelanggan

Secara default, Cloud Logging mengenkripsi konten pelanggan yang tersimpan dalam penyimpanan. Organisasi Anda mungkin memiliki persyaratan enkripsi lanjutan yang tidak disediakan oleh enkripsi default dalam penyimpanan. Untuk memenuhi persyaratan organisasi Anda, konfigurasikan kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengontrol dan mengelola enkripsi Anda sendiri, bukan Google yang mengelola kunci enkripsi kunci yang melindungi data Anda.

Untuk mengetahui petunjuk cara mengonfigurasi CMEK, lihat Mengonfigurasi CMEK untuk penyimpanan log.

Harga

Cloud Logging tidak mengenakan biaya untuk merutekan log ke tujuan yang didukung; tetapi tujuan tersebut mungkin dikenai biaya. Dengan pengecualian bucket log _Required, Cloud Logging mengenakan biaya untuk mengalirkan log ke dalam bucket log dan untuk penyimpanan yang lebih lama dari periode retensi default bucket log.

Cloud Logging tidak mengenakan biaya untuk menyalin log, atau untuk kueri yang dikeluarkan melalui halaman Logs Explorer atau melalui halaman Log Analytics.

Untuk informasi selengkapnya, baca dokumen berikut:

Saat Anda mengonfigurasi dan menggunakan log audit, sebaiknya ikuti praktik terbaik terkait harga berikut:

  • Perkirakan tagihan Anda dengan melihat data penggunaan dan menyetel pemberitahuan.

  • Perlu diketahui bahwa log audit Akses Data bisa berukuran besar dan Anda dapat dikenai biaya tambahan untuk penyimpanan.

  • Kelola biaya Anda dengan mengecualikan log audit yang tidak berguna. Misalnya, Anda mungkin dapat mengecualikan log audit Akses Data dalam project pengembangan.

Mengkueri dan melihat log audit

Jika Anda perlu memecahkan masalah, kemampuan untuk melihat log dengan cepat adalah suatu persyaratan. Di Konsol Google Cloud, gunakan Logs Explorer untuk mengambil entri log audit untuk organisasi Anda:

  1. Di panel navigasi konsol Google Cloud, pilih Logging, lalu pilih Logs Explorer:

    Buka Logs Explorer

  2. Pilih organisasi Anda.

  3. Di panel Query, lakukan hal berikut:

    • Di Jenis resource, pilih resource Google Cloud yang log auditnya ingin Anda lihat.

    • Di Log name, pilih jenis log audit yang ingin dilihat:

      • Untuk log audit Aktivitas Admin, pilih activity.
      • Untuk log audit Akses Data, pilih data_access.
      • Untuk log audit Peristiwa Sistem, pilih system_event.
      • Untuk log audit Kebijakan Ditolak, pilih policy.

      Jika Anda tidak melihat opsi ini, berarti tidak ada log audit dengan jenis tersebut yang tersedia di organisasi.

    • Di editor kueri, tentukan lebih lanjut entri log audit yang ingin Anda lihat. Untuk contoh kueri umum, lihat Contoh kueri menggunakan Logs Explorer.

  4. Klik Jalankan kueri.

Untuk mengetahui informasi selengkapnya tentang pembuatan kueri menggunakan Logs Explorer, lihat Membangun kueri di Logs Explorer.

Memantau log audit

Anda dapat menggunakan Cloud Monitoring untuk memberi tahu saat kondisi yang Anda deskripsikan terjadi. Untuk menyediakan data dari log Anda ke Cloud Monitoring, Logging menawarkan pemberitahuan berbasis log, yang akan memberi tahu Anda setiap kali peristiwa tertentu muncul dalam log.

Konfigurasi pemberitahuan untuk membedakan antara peristiwa yang memerlukan penyelidikan segera dan peristiwa berprioritas rendah. Misalnya, jika ingin mengetahui kapan log audit mencatat pesan akses data tertentu, Anda dapat membuat pemberitahuan berbasis log yang cocok dengan pesan tersebut, dan memberi tahu Anda saat pesan tersebut muncul.

Untuk mengetahui petunjuk tentang cara mengonfigurasi pemberitahuan berbasis log, lihat Mengelola pemberitahuan berbasis log.

Merutekan log ke tujuan yang didukung

Organisasi Anda mungkin menghadapi persyaratan untuk membuat dan menyimpan log audit. Dengan menggunakan sink, Anda dapat mengarahkan beberapa atau semua log ke tujuan yang didukung berikut:

Tentukan apakah Anda memerlukan sink tingkat folder atau tingkat organisasi, dan merutekan log dari semua project Google Cloud di dalam organisasi atau folder menggunakan sink gabungan. Misalnya, Anda dapat mempertimbangkan kasus penggunaan pemilihan rute berikut:

  • Sink tingkat organisasi: Jika organisasi Anda menggunakan SIEM untuk mengelola beberapa log audit, Anda mungkin ingin merutekan semua log audit organisasi Anda. Dengan demikian, sink level organisasi masuk akal.

  • Sink tingkat folder: Terkadang, Anda mungkin hanya ingin merutekan log audit departemen. Misalnya, jika Anda memiliki folder "Keuangan" dan folder "IT", Anda mungkin menemukan nilai hanya dengan merutekan log audit yang termasuk dalam folder "Keuangan", atau sebaliknya.

    Untuk mengetahui informasi selengkapnya tentang folder dan organisasi, lihat Hierarki resource.

Terapkan kebijakan akses yang sama ke tujuan Google Cloud yang Anda gunakan untuk merutekan log saat Anda menerapkan ke Logs Explorer.

Untuk mendapatkan petunjuk tentang cara membuat dan mengelola sink gabungan, lihat Mengompilasi dan merutekan log tingkat organisasi ke tujuan yang didukung.

Memahami format data di tujuan sink

Saat mengarahkan log audit ke tujuan di luar Cloud Logging, pahami format data yang telah dikirim.

Misalnya, jika merutekan log ke BigQuery, Cloud Logging akan menerapkan aturan untuk mempersingkat nama kolom skema BigQuery untuk log audit dan untuk kolom payload terstruktur tertentu.

Untuk memahami dan menemukan entri log yang Anda arahkan dari Cloud Logging ke tujuan yang didukung, baca bagian Melihat log di tujuan sink.

Salin entri log

Bergantung pada kebutuhan kepatuhan organisasi, Anda mungkin perlu membagikan entri log audit dengan auditor di luar Logging. Jika perlu membagikan entri log yang sudah tersimpan di bucket Cloud Logging, Anda dapat menyalinnya secara manual ke bucket Cloud Storage.

Saat Anda menyalin entri log ke Cloud Storage, entri log juga tetap berada di bucket log tempat entri log tersebut disalin.

Perlu diperhatikan bahwa operasi penyalinan tidak menggantikan sink, yang secara otomatis mengirim semua entri log yang masuk ke tujuan penyimpanan yang didukung dan telah dipilih sebelumnya, termasuk Cloud Storage.

Untuk mendapatkan petunjuk tentang cara merutekan log ke Cloud Storage secara retroaktif, lihat Menyalin entri log.