Ringkasan Cloud Audit Logs

Dokumen ini memberikan ringkasan konseptual tentang Cloud Audit Logs.

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

Layanan Google Cloud yang menghasilkan log audit

Untuk mengetahui daftar layanan Google Cloud yang menyediakan log audit, lihat Layanan Google Cloud 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 guna 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 diperlukan 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 ada di 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 merekam 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 masih dibuat.

Untuk mengetahui daftar layanan yang menulis log audit Aktivitas Admin dan informasi detail tentang aktivitas yang menghasilkan 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 yang dilakukan pengguna untuk membuat, mengubah, atau membaca data resource yang diberikan pengguna.

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

Log audit Akses Data—kecuali log audit Akses Data BigQuery—dinonaktifkan secara default karena log audit dapat menjadi cukup besar. Jika Anda ingin log audit Akses Data ditulis untuk layanan Google Cloud selain BigQuery, Anda harus mengaktifkannya secara eksplisit. Mengaktifkan log dapat menyebabkan project Google Cloud Anda dikenai biaya untuk penggunaan log tambahan. Untuk 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 detail tentang aktivitas yang menghasilkan 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 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 Cloud; log ini tidak didorong oleh tindakan langsung pengguna.

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 detail tentang aktivitas yang menghasilkan log tersebut, lihat Layanan Google Cloud dengan log audit.

Log audit Kebijakan Ditolak

Log audit Kebijakan Ditolak dicatat saat layanan Google Cloud menolak akses ke pengguna atau akun layanan karena 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 di Cloud Logging.

Untuk mengetahui daftar layanan yang menulis log audit Kebijakan Ditolak dan informasi detail 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 dengan jenis LogEntry. Yang membedakan entri log audit dari 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 contoh entri log audit, lihat Memahami log audit.

Nama log

Nama log Cloud Audit Logs mencakup hal berikut:

  • ID resource yang menunjukkan project Google Cloud atau entity Google Cloud lainnya 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 dalam log pada resource Google Cloud. Identitas pemanggil disimpan di kolom AuthenticationInfo pada objek AuditLog.

Pencatatan log audit tidak menyamarkan alamat email akun utama pemanggil untuk akses yang berhasil atau untuk operasi tulis apa pun.

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

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

  • BigQuery: Identitas dan alamat IP pemanggil, 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 tersebut. Log audit Akses Data yang dihasilkan memiliki identitas pemanggil yang disamarkan.

  • Firestore: Jika Token Web JSON (JWT) digunakan untuk autentikasi pihak ketiga, kolom thirdPartyPrincipal akan menyertakan header dan payload token. Misalnya, log audit untuk permintaan yang diautentikasi dengan Firebase Authentication menyertakan token auth permintaan tersebut.
  • Kontrol Layanan VPC: Untuk log audit Kebijakan Ditolak, penyamaran berikut akan terjadi:

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

    • Beberapa alamat email pemanggil yang termasuk dalam domain google.com disamarkan dan diganti dengan google-internal.

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

Alamat IP pemanggil di log audit

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

  • Untuk pemanggil dari internet, alamatnya adalah alamat IPv4 atau IPv6 publik.
  • Untuk panggilan yang dilakukan dari dalam jaringan produksi internal dari satu layanan Google Cloud ke layanan Google Cloud lainnya, callerIp akan disamarkan menjadi "pribadi".
  • Untuk pemanggil dari VM Compute Engine dengan alamat IP eksternal, callerIp 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, callerIp adalah alamat IPv4 internal VM. Jika tidak, callerIp 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. Untuk mengetahui informasi selengkapnya tentang cara membuat kueri log, lihat Membuat kueri di Logs Explorer

Logs Explorer memungkinkan Anda melihat filter setiap entri log. Jika Anda ingin menggunakan SQL untuk menganalisis grup entri log, gunakan halaman Log Analytics. Untuk informasi selengkapnya, lihat:

Sebagian besar log audit dapat dilihat di Cloud Logging menggunakan Konsol Google Cloud, Google Cloud CLI, atau Logging API. Namun, untuk log audit yang terkait dengan penagihan, Anda hanya dapat menggunakan 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 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 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.

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.

REST

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 penampung yang menyimpan dan mengatur data log Anda. Untuk setiap akun penagihan, project, folder, dan organisasi Google Cloud, Logging otomatis membuat dua bucket log, _Required dan _Default, serta sink yang diberi nama sesuai.

Bucket _Required Cloud Logging menyimpan log audit Aktivitas Admin dan log audit Peristiwa Sistem. Anda tidak dapat mencegah penyimpanan log audit Aktivitas Admin atau Peristiwa Sistem. Anda juga tidak dapat mengonfigurasi sink yang merutekan entri log ke bucket _Required.

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

Jika Anda merutekan log audit Aktivitas Admin dan log audit Peristiwa Sistem ke project yang berbeda, log tersebut tidak akan melewati sink _Default atau _Required project tujuan. Oleh karena itu, log ini tidak disimpan di 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 log audit Akses Data yang diaktifkan serta log audit Kebijakan Ditolak. Untuk mencegah log audit Akses Data disimpan di bucket _Default, Anda dapat menonaktifkannya. Untuk mencegah log audit Kebijakan Ditolak 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 tingkat project Google Cloud atau ke tujuan yang didukung di luar Logging menggunakan sink. Untuk 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 contoh pemfilteran, lihat Kueri logging keamanan.

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

Retensi log audit

Untuk mengetahui detail tentang berapa lama entri log disimpan oleh Logging, lihat informasi retensi di 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 izin dan peran 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 mengenakan biaya. Dengan pengecualian bucket log _Required, Cloud Logging mengenakan biaya untuk melakukan 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, menentukan cakupan log, atau untuk kueri yang dikeluarkan melalui halaman Logs Explorer atau Log Analytics.

Untuk informasi selengkapnya, baca dokumen berikut:

Langkah selanjutnya

  • Pelajari Transparansi Akses, yang menyediakan log tindakan yang dilakukan oleh staf Google Cloud saat mengakses konten Google Cloud Anda.