Praktik terbaik untuk Cloud Audit Logs

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

Dokumen ini bukan daftar rekomendasi yang lengkap. Sebaliknya, tujuannya adalah untuk membantu Anda memahami cakupan aktivitas pencatatan audit dan merencanakan sesuai dengan itu.

Setiap bagian memberikan tindakan utama dan menyertakan link 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 setiapGoogle Cloud project, akun penagihan, folder, dan organisasi:

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 Anda ingin log audit Akses Data ditulis 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 lanskap keseluruhan untuk pencatatan log audit dengan Google Cloud, lihat Ringkasan Cloud Audit Logs.

Mengontrol akses ke log

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

Bergantung pada persyaratan kepatuhan dan 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 bucketGoogle Cloud tertentu dan mencegah akses yang tidak diinginkan ke resource lain.

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

Saat menyetel izin IAM, terapkan prinsip keamanan dengan hak istimewa terendah, sehingga Anda hanya memberikan akses yang diperlukan kepada pengguna 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 Google Cloud project, Anda mungkin perlu mengontrol project mana yang dapat dilihat lognya oleh pengguna yang berbeda. Google Cloud Buat tampilan log kustom, yang memberi Anda kontrol akses yang lebih terperinci untuk bucket tersebut.

Untuk mengetahui petunjuk tentang 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 memberi Anda cara yang lebih terperinci untuk mengontrol data log yang dapat diakses pengguna. Dibandingkan dengan tampilan log, yang menyembunyikan seluruh LogEntry, kontrol akses tingkat kolom menyembunyikan kolom individual dari LogEntry. Misalnya, Anda mungkin ingin menyamarkan PII pengguna eksternal, seperti alamat email yang ada dalam payload entri log, dari sebagian besar pengguna organisasi Anda.

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

Mengonfigurasi log audit Akses Data

Saat mengaktifkan layanan Google Cloud baru, evaluasi apakah akan 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.

Untuk 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 menentukan kebijakan akses data tingkat organisasi dan mengaktifkan log audit Akses Data, gunakan project Google Cloud pengujian untuk memvalidasi konfigurasi pengumpulan log audit Anda sebelum membuat project Google Cloud developer dan produksi di organisasi.

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

Mengontrol cara log Anda disimpan

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

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

Pilih lokasi penyimpanan log Anda

Bucket Logging adalah resource regional: infrastruktur yang menyimpan, mengindeks, dan menelusuri log Anda berada di lokasi geografis tertentu.

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

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

Untuk mengetahui petunjuk tentang 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 untuk jenis bucket log tempat log disimpan.

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

Untuk mengetahui petunjuk tentang cara menetapkan aturan retensi bagi bucket log, lihat Mengonfigurasi retensi kustom.

Melindungi log audit Anda dengan kunci enkripsi yang dikelola pelanggan

Secara default, Cloud Logging mengenkripsi konten pelanggan yang disimpan dalam penyimpanan. Organisasi Anda mungkin memiliki persyaratan enkripsi tingkat lanjut yang tidak disediakan oleh enkripsi dalam penyimpanan default. Untuk memenuhi persyaratan organisasi Anda, alih-alih Google yang mengelola kunci enkripsi kunci yang melindungi data Anda, konfigurasi kunci enkripsi yang dikelola pelanggan (CMEK) untuk mengontrol dan mengelola enkripsi Anda sendiri.

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

Harga

Cloud Logging tidak mengenakan biaya untuk merutekan log ke tujuan yang didukung; namun, tujuan mungkin mengenakan biaya. Dengan pengecualian bucket log _Required, Cloud Logging mengenakan biaya untuk streaming log ke bucket log dan untuk penyimpanan yang lebih lama dari periode retensi data default bucket log.

Cloud Logging tidak mengenakan biaya untuk menyalin log, membuat cakupan log atau tampilan analisis, atau untuk kueri yang dikeluarkan melalui halaman Logs Explorer atau 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 mengonfigurasi kebijakan pemberitahuan.

  • Perhatikan bahwa log audit Akses Data bisa berukuran besar dan Anda mungkin dikenai biaya tambahan untuk penyimpanan.

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

Membuat kueri dan melihat log audit

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

  1. Di konsol Google Cloud , buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  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 mengetahui contoh kueri umum, lihat Contoh kueri menggunakan Logs Explorer.

  4. Klik Run query.

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

Memantau log audit Anda

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

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

Untuk mengetahui petunjuk tentang cara mengonfigurasi kebijakan pemberitahuan berbasis log, lihat Mengelola kebijakan 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 merutekan beberapa atau semua log ke tujuan yang didukung berikut:

  • Bucket Cloud Logging lain

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

  • Sink level organisasi: Jika organisasi Anda menggunakan SIEM untuk mengelola beberapa log audit, Anda mungkin ingin merutekan semua log audit organisasi Anda. Oleh karena itu, sink tingkat organisasi sangat berguna.

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

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

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

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

Memahami format data di tujuan sink

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

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

Untuk memahami dan menemukan entri log yang Anda rutekan dari Cloud Logging ke tujuan yang didukung, lihat Melihat log di tujuan sink.

Menyalin entri log

Bergantung pada kebutuhan kepatuhan organisasi Anda, Anda mungkin perlu membagikan entri log audit kepada auditor di luar Logging. Jika perlu membagikan entri log yang sudah disimpan 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 disalin.

Perhatikan 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 mengetahui petunjuk tentang cara merutekan log ke Cloud Storage secara retroaktif, lihat Menyalin entri log.