Ringkasan Cloud Audit Logs

Dokumen ini memberikan ringkasan konseptual tentang Cloud Audit Logs.

Layanan Google Cloud menulis log audit yang merekam aktivitas administratif dan mengakses dalam resource Google Cloud Anda. Log audit membantu Anda menjawab pertanyaan "siapa melakukan apa, di mana, dan kapan?" dalam resource Google Cloud dengan tingkat transparansi yang sama seperti di lingkungan lokal. Mengaktifkan log audit akan membantu entitas keamanan, pengauditan, dan kepatuhan Anda memantau data dan sistem Google Cloud untuk mengetahui kemungkinan kerentanan atau penyalahgunaan data eksternal.

Layanan Google yang memproduksi log audit

Untuk mengetahui daftar layanan Google Cloud yang menyediakan log audit, lihat Layanan Google dengan log audit. Semua layanan Google Cloud pada akhirnya akan menyediakan log audit.

Untuk ringkasan log audit Google Workspace, lihat Log audit untuk Google Workspace.

Peran yang diperlukan

Untuk melihat log audit, Anda harus memiliki izin dan peran Identity and Access Management (IAM) yang sesuai:

  • Untuk mendapatkan izin yang diperlukan untuk mendapatkan akses hanya baca ke log audit Aktivitas Admin, Kebijakan Ditolak, dan Peristiwa Sistem, minta administrator untuk memberi Anda peran IAM Logs Viewer (roles/logging.viewer) di project Anda.

    Jika hanya memiliki peran Logs Viewer (roles/logging.viewer), Anda tidak dapat melihat log audit Akses Data yang ada di bucket _Default.

  • Untuk mendapatkan izin yang Anda perlukan guna mendapatkan akses ke semua log di bucket _Required dan _Default, termasuk log Akses Data, minta administrator untuk memberi Anda peran IAM Private Logs Viewer (roles/logging.privateLogViewer) di project Anda.

    Peran Private Logs Viewer (roles/logging.privateLogViewer) mencakup izin yang terdapat dalam peran Logs Viewer (roles/logging.viewer), dan izin yang diperlukan untuk membaca log audit Akses Data di bucket _Default.

Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM yang berlaku untuk data log audit, lihat Kontrol akses dengan IAM.

Jenis log audit

Cloud Audit Logs menyediakan log audit berikut untuk setiap project, folder, dan organisasi Google Cloud:

Log audit Aktivitas Admin

Log audit Aktivitas Admin berisi entri log untuk panggilan API atau tindakan lainnya yang mengubah konfigurasi atau metadata resource. Misalnya, log ini mencatat saat pengguna membuat instance VM atau mengubah izin Identity and Access Management.

Log audit Aktivitas Admin selalu ditulis; Anda tidak dapat mengonfigurasi, mengecualikan, atau menonaktifkannya. Meskipun Anda menonaktifkan Cloud Logging API, log audit Aktivitas Admin akan tetap dibuat.

Untuk mengetahui daftar layanan yang menulis log audit Aktivitas Admin dan informasi mendetail tentang aktivitas yang membuat log tersebut, lihat Layanan Google Cloud dengan log audit.

Log audit Akses Data

Log audit Akses Data berisi panggilan API yang membaca konfigurasi atau metadata resource, serta panggilan API berbasis pengguna yang membuat, mengubah, atau membaca data resource yang disediakan pengguna.

Resource yang tersedia secara publik yang memiliki kebijakan Identity and Access Management allAuthenticatedUsers atau allUsers tidak membuat log audit. Resource yang dapat diakses tanpa login ke akun Google Cloud, Google Workspace, Cloud Identity, atau Drive Enterprise tidak akan membuat log audit. Hal ini membantu melindungi identitas dan informasi pengguna akhir.

Log audit Akses Data—kecuali untuk log audit Akses Data BigQuery—dinonaktifkan secara default karena log audit bisa berukuran cukup besar. Jika ingin log audit Akses Data ditulis untuk layanan Google Cloud selain BigQuery, Anda harus mengaktifkannya secara eksplisit. Jika log diaktifkan, project Google Cloud Anda akan dikenai biaya untuk penggunaan log tambahan. Untuk mengetahui petunjuk cara mengaktifkan dan mengonfigurasi log audit Akses Data, lihat Mengaktifkan log audit Akses Data.

Untuk mengetahui daftar layanan yang menulis log audit Akses Data dan informasi mendetail tentang aktivitas yang membuat log tersebut, lihat Layanan Google Cloud dengan log audit.

Log audit Akses Data disimpan di bucket log _Default, kecuali jika Anda telah merutekannya ke tempat lain. Untuk mengetahui informasi selengkapnya, lihat bagian Menyimpan dan merutekan log audit di halaman ini.

Log audit Peristiwa Sistem

Log audit Peristiwa Sistem berisi entri log untuk tindakan Google Cloud yang mengubah konfigurasi resource. Log audit Peristiwa Sistem dihasilkan oleh sistem Google, tetapi tidak didorong oleh tindakan pengguna langsung.

Log audit Peristiwa Sistem selalu ditulis; Anda tidak dapat mengonfigurasi, mengecualikan, atau menonaktifkannya.

Untuk mengetahui daftar layanan yang menulis log audit Peristiwa Sistem dan informasi mendetail tentang aktivitas yang menghasilkan log tersebut, lihat Layanan Google Cloud dengan log audit.

Log audit Kebijakan Ditolak

Log audit Kebijakan Ditolak akan dicatat saat layanan Google Cloud menolak akses ke pengguna atau akun layanan karena adanya pelanggaran kebijakan keamanan.

Log audit Kebijakan Ditolak dibuat secara default dan project Google Cloud Anda dikenai biaya untuk penyimpanan log. Anda tidak dapat menonaktifkan log audit Kebijakan Ditolak, tetapi Anda dapat menggunakan filter pengecualian untuk mencegah log audit Kebijakan Ditolak disimpan dalam Cloud Logging.

Untuk mengetahui daftar layanan yang menulis log audit Kebijakan Ditolak dan informasi mendetail tentang aktivitas yang menghasilkan log tersebut, lihat Layanan Google Cloud dengan log audit.

Struktur entri log audit

Setiap entri log audit di Cloud Logging adalah objek berjenis LogEntry. Yang membedakan entri log audit dengan entri log lainnya adalah kolom protoPayload; kolom ini berisi objek AuditLog yang menyimpan data logging audit.

Untuk memahami cara membaca dan menafsirkan entri log audit, dan untuk melihat contoh entri log audit, lihat Memahami log audit.

Nama log

Nama log Cloud Audit Logs mencakup:

  • ID resource yang menunjukkan project Google Cloud atau entity Google Cloud lain yang memiliki log audit.

  • String cloudaudit.googleapis.com.

  • String yang menunjukkan apakah log berisi data logging audit Aktivitas Admin, Akses Data, Kebijakan Ditolak, atau Peristiwa Sistem.

Berikut adalah nama log audit, termasuk variabel untuk ID resource:

   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

   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access
   billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event
   billingAccounts/BILLING_ACCOUNT_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

Identitas pemanggil di log audit

Log audit mencatat identitas yang melakukan operasi yang dicatat ke dalam log pada resource Google Cloud. Identitas pemanggil disimpan di kolom AuthenticationInfo pada objek AuditLog.

Logging audit tidak menyamarkan alamat email utama pemanggil untuk setiap akses yang berhasil atau untuk operasi tulis.

Untuk operasi hanya baca yang gagal dengan error "izin ditolak", Logging Audit mungkin akan menyamarkan alamat email utama pemanggil, kecuali pemanggil adalah akun layanan.

Selain kondisi yang tercantum di atas, hal berikut juga berlaku untuk layanan Google Cloud tertentu:

  • App Engine API lama: Identitas tidak dikumpulkan.

  • BigQuery: Identitas pemanggil dan alamat IP, serta beberapa nama resource, disamarkan dari log audit, kecuali jika kondisi tertentu terpenuhi.

  • Cloud Storage: Jika log penggunaan Cloud Storage diaktifkan, Cloud Storage akan menulis data penggunaan ke bucket Cloud Storage, yang menghasilkan log audit Akses Data untuk bucket. Identitas pemanggilnya disunting pada log audit Akses Data yang dihasilkan.

  • Firestore: Jika Token Web JSON (JWT) digunakan untuk autentikasi pihak ketiga, kolom thirdPartyPrincipal akan berisi header dan payload token. Misalnya, log audit untuk permintaan yang diautentikasi dengan Firebase Authentication menyertakan token autentikasi permintaan tersebut.

  • Kontrol Layanan VPC: Untuk log audit Kebijakan Ditolak, penyamaran berikut terjadi:

    • Bagian dari alamat email penelepon mungkin akan disamarkan dan diganti dengan tiga karakter titik ....

    • Beberapa alamat email pemanggil milik domain google.com disamarkan dan diganti dengan google-internal.

  • Kebijakan Organisasi: Bagian dari alamat email penelepon mungkin disamarkan dan diganti dengan tiga karakter titik ....

Alamat IP pemanggil di log audit

Alamat IP pemanggil disimpan di kolom RequestMetadata.caller_ip pada objek AuditLog:

  • Untuk pemanggil dari internet, alamatnya adalah alamat IPv4 atau IPv6 publik.
  • Untuk panggilan yang dilakukan dari dalam jaringan produksi internal Google dari satu layanan Google Cloud ke layanan lainnya, call_ip akan disamarkan menjadi "pribadi".
  • Untuk pemanggil dari VM Compute Engine dengan alamat IP eksternal, caller_ip adalah alamat eksternal VM.
  • Untuk pemanggil dari VM Compute Engine tanpa alamat IP eksternal, jika VM berada di organisasi atau project yang sama dengan resource yang diakses, maka caller_ip adalah alamat IPv4 internal VM. Jika tidak, penelepon_ip akan disamarkan menjadi "gce-internal-ip". Untuk mengetahui informasi selengkapnya, lihat Ringkasan jaringan VPC.

Melihat log audit

Anda dapat membuat kueri untuk semua log audit atau membuat kueri untuk log berdasarkan nama log auditnya. Nama log audit mencakup ID resource project, folder, akun penagihan, atau organisasi Google Cloud yang informasi logging auditnya ingin Anda lihat. Kueri Anda dapat menentukan kolom LogEntry yang diindeks, dan jika menggunakan halaman Log Analytics, yang mendukung Kueri SQL, Anda dapat melihat hasil kueri sebagai diagram.

Untuk mengetahui informasi selengkapnya tentang cara membuat kueri log Anda, lihat halaman berikut:

Anda dapat melihat log audit di Cloud Logging menggunakan Konsol Google Cloud, Google Cloud CLI, atau Logging API.

Konsol

Di Konsol Google Cloud, Anda dapat menggunakan Logs Explorer guna mengambil entri log audit untuk project, folder, atau organisasi Google Cloud Anda:

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

    Buka Logs Explorer

  2. Pilih project, folder, atau organisasi Google Cloud yang sudah ada.

  3. Untuk menampilkan semua log audit, masukkan salah satu kueri berikut ke kolom editor kueri, lalu klik Jalankan kueri:

    logName:"cloudaudit.googleapis.com"
    
    protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
    
  4. Agar dapat menampilkan log audit untuk jenis log audit dan resource tertentu, di panel Builder kueri, lakukan langkah berikut ini:

    • 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.
    • Klik Jalankan kueri.

    Jika Anda tidak melihat opsi ini, maka tidak ada log audit dengan jenis tersebut yang tersedia di project, folder, atau organisasi Google Cloud.

    Jika mengalami masalah saat mencoba melihat log di Logs Explorer, lihat informasi pemecahan masalah.

    Untuk mengetahui informasi selengkapnya tentang pembuatan kueri menggunakan Logs Explorer, lihat Membangun kueri di Logs Explorer. Untuk mengetahui informasi tentang cara meringkas entri log di Logs Explorer menggunakan Gemini, lihat Meringkas entri log dengan bantuan Gemini.

gcloud

Google Cloud CLI menyediakan antarmuka command line ke Logging API. Berikan ID resource yang valid di setiap nama log. Misalnya, jika kueri Anda menyertakan PROJECT_ID, ID project yang Anda berikan harus merujuk ke project Google Cloud yang saat ini dipilih.

Untuk membaca entri log audit level project Google Cloud Anda, jalankan perintah berikut:

gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \
    --project=PROJECT_ID

Untuk membaca entri log audit level folder, jalankan perintah berikut:

gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \
    --folder=FOLDER_ID

Untuk membaca entri log audit level organisasi, jalankan perintah berikut:

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

Untuk membaca entri log audit level akun Penagihan Cloud Anda, jalankan perintah berikut:

gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \
    --billing-account=BILLING_ACCOUNT_ID

Tambahkan flag --freshness ke perintah Anda untuk membaca log yang berusia lebih dari 1 hari.

Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI, lihat gcloud logging read.

API

Saat membangun kueri, sediakan ID resource yang valid di setiap nama log. Misalnya, jika kueri Anda menyertakan PROJECT_ID, ID project yang Anda berikan harus merujuk ke project Google Cloud yang saat ini dipilih.

Misalnya, untuk menggunakan Logging API guna melihat entri log audit level project Anda, lakukan tindakan berikut:

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

  2. Masukkan string berikut ke dalam bagian Isi permintaan di formulir Coba API ini. Mengklik formulir yang telah diisi ini akan otomatis mengisi isi 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.

Menyimpan dan merutekan log audit

Cloud Logging menggunakan bucket log sebagai container yang menyimpan dan mengatur data log Anda. Untuk setiap project, folder, dan organisasi Google Cloud, Logging otomatis membuat dua bucket log, _Required dan _Default, serta sink yang diberi nama.

Bucket _Required Cloud Logging menyimpan log audit Aktivitas Admin dan log audit Peristiwa Sistem. Anda tidak dapat mengonfigurasi bucket _Required atau data log di dalamnya.

Log audit Aktivitas Admin dan log audit Peristiwa Sistem selalu disimpan di bucket _Required dalam project tempat log dibuat.

Jika Anda mengarahkan log audit Aktivitas Admin dan log audit Peristiwa Sistem ke project lain, log tersebut tidak akan diteruskan ke sink _Default atau _Required project tujuan. Oleh karena itu, log ini tidak disimpan dalam bucket log _Default atau bucket log _Required dari project tujuan. Untuk menyimpan log ini, buat sink log di project tujuan. Untuk mengetahui informasi selengkapnya, lihat Merutekan log ke tujuan yang didukung.

Bucket _Default secara default menyimpan semua log audit Akses Data yang diaktifkan serta log audit Kebijakan Ditolak. Untuk mencegah log audit Akses Data disimpan di bucket _Default, Anda dapat menonaktifkannya. Agar log audit Kebijakan Ditolak dalam bucket _Default tidak disimpan di bucket _Default, Anda dapat mengecualikannya dengan mengubah filter sink-nya.

Anda juga dapat merutekan entri log audit ke bucket Cloud Logging yang ditentukan pengguna di level project Google Cloud atau ke tujuan yang didukung di luar Logging menggunakan sink. Untuk mendapatkan petunjuk tentang cara merutekan log, lihat Merutekan log ke tujuan yang didukung.

Saat mengonfigurasi filter sink log, Anda harus menentukan jenis log audit yang ingin dirutekan. Untuk mengetahui contoh pemfilteran, lihat Kueri logging keamanan.

Jika Anda ingin merutekan entri log audit untuk organisasi, folder, atau akun penagihan Google Cloud, lihat Menyusun dan merutekan log tingkat organisasi ke tujuan yang didukung.

Retensi log audit

Untuk mengetahui detail tentang durasi entri log dipertahankan oleh Logging, baca informasi retensi di bagian Kuota dan batas: Periode retensi log.

Kontrol akses

Izin dan peran IAM menentukan kemampuan Anda untuk mengakses data log audit di Logging API, Logs Explorer, dan Google Cloud CLI.

Untuk mengetahui informasi mendetail tentang peran dan izin IAM yang mungkin Anda perlukan, lihat Kontrol akses dengan IAM .

Kuota dan batas

Untuk mengetahui detail tentang batas penggunaan logging, termasuk ukuran maksimum log audit, lihat Kuota dan batas.

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:

Langkah selanjutnya